آموزش نقاط ضعف و راه حل های کد قرارداد هوشمند

Smart Contract Code Weaknesses and Solutions

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: امنیت کد قرارداد هوشمند مشکلات امنیتی مرتبط با کد قرارداد هوشمند و نحوه حل آنها الگوهای امنیتی و نحوه کمک آنها به غلبه بر حملات امنیتی یا از بین بردن آسیب پذیری ها نحوه نصب و استفاده از ابزارهای مختلف از جمله Remix، VeriSol، Oyente، Manticore، Slither و Helpers از جمله کتابخانه‌های مختلف Docker و DotNetTool، از جمله Open Zeppelin Access Control، Open Zeppelin Utilities/SafeMath، OpenZeppelin Tokens، Chainlink و Hardhat. پیاده سازی مسائل و راه حل های مبتنی بر زبان Solidity شامل الگوها اصول Solidity نحوه ایجاد، کامپایل، استقرار و استفاده از قراردادهای هوشمند مستقر شده با استفاده از ریمیکس اما اجباری نیست برای تازه کارها، اطلاعات کافی در دوره ارائه شده است

این دوره‌ای است که هم بر روی اسکن دستی آسیب‌پذیری‌های کد تمرکز می‌کند و هم روی اشکالات از طریق تمرکز بر مجموعه بزرگی از (حدود 40) آسیب‌پذیری برای قراردادهای هوشمند و همچنین بر ابزارهای تجزیه و تحلیل آسیب‌پذیری خودکار. همچنین شامل چندین سخنرانی است که کتابخانه های مرتبط با امنیت را که به طور خاص برای بهبود امنیت قراردادهای هوشمند ایجاد شده اند، نشان می دهد و استفاده می کند. زبان توسعه انتخاب شده Solidity است. ما یک «سخنرانی استحکام و ریمیکس به طور خلاصه» برای دانش‌آموزانی داریم که پیش‌زمینه زبان‌های توسعه دیگری دارند اما تجربه توسعه قرارداد هوشمند ندارند. این به آن‌ها کمک می‌کند تا محتوا را درک کنند و بتوانند بخش‌های کد ارائه‌شده را همراه با توضیحات مختلف در طول دوره اجرا کنند که با مسائل خاص زبان/پلتفرم سروکار دارد.

نقاط ضعف امنیتی مورد بررسی در این دوره شامل برخی از نقاط ضعف رایج مانند Reentrancy و همچنین بسیاری دیگر است. هنگام توضیح این مشکلات و راه حل های مرتبط، از اصطلاحات متعددی بازدید می کنیم. هر زمان که با الگویی برای حل مشکل مواجه می شویم، به صراحت آن را در اسلایدهای خود علامت گذاری می کنیم. در هنگام بحث در مورد مشکلات و راه حل ها، نمونه کدهایی را که از وب سایت دوره ارائه می شود، بررسی خواهیم کرد.

در نهایت، ابزارها و کتابخانه‌هایی که در این دوره برای معرفی ابزار/کتابخانه‌های جدید یا به عنوان ابزار کمکی استفاده می‌شوند عبارتند از Remix، Docker، VeriSol، DotNetTool، Oyente، Open Zeppelin Access Control، Open Zeppelin Tokens، Open Zeppelin، Manticore، و Slither.


سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

  • Solidity و Remix به طور خلاصه Solidity and Remix in a Nutshell

  • بررسی های Udemy Udemy Reviews

نقاط ضعف و راه حل های ترکیبی با ابزارهای تحلیل امنیت قرارداد هوشمند Weaknesses and Solutions Blended with Smart Contract Security Analysis Tools

  • قابلیت مشاهده پیش‌فرض Function Default Visibility

  • سرریز و زیر جریان عدد صحیح Integer Overflow and Underflow

  • نسخه کامپایلر قدیمی Outdated Compiler Version

  • پراگما شناور Floating Pragma

  • مقدار برگشت تماس را علامت نزنید Unchecked Call Return Value

  • برداشت محافظت نشده اتر Unprotected Ether Withdrawal

  • دستورالعمل SELFDESTRUCT محافظت نشده Unprotected SELFDESTRUCT Instruction

  • آزمون 1 Quiz 1

  • ورود مجدد Reentrancy

  • حالت مشاهده پیش فرض متغیر State Variable Default Visibility

  • اشاره گر ذخیره سازی اولیه Uninitialized Storage Pointer

  • تمرین 1 Practice 1

  • ادعای نقض Assert Violation

  • Verisol Verisol

  • استفاده از توابع استحکام منسوخ شده Use of Deprecated Solidity Functions

  • تمرین کدنویسی 1 Coding Exercise 1

  • تماس را به Callee غیرقابل اعتماد ارسال کنید Delegatecall to Untrusted Callee

  • آیا با تماس ناموفق Dos with Failed Call

  • تمرین کدنویسی 2 Coding Exercise 2

  • اوینته Oyente

  • وابستگی سفارش معامله Transaction Order Dependence

  • آزمون 2 Quiz 2

  • مجوز از طریق Tx.Origin Authorization Through Tx.Origin

  • مقادیر را به عنوان یک پروکسی برای زمان مسدود کنید Block Values As a Proxy for Time

  • تجزیه و تحلیل امنیتی پویا MantiCore برای قراردادهای هوشمند MantiCore Dynamic Security Analysis for Smart Contracts

  • چکاپ‌پذیری امضا Signature Mallability

  • نام سازنده نادرست است Incorrect Constructor Name

  • نمایش متغیرهای حالت Showing State Variables

  • منابع ضعیف تصادفی از ویژگی های زنجیره ای Weak Sources of Randomness From Chain Attributes

  • محافظت از دست رفته در برابر حملات پخش مجدد امضا Missing Protection against Signature Replay Attacks

  • عدم تأیید صحیح امضاء Lack of Proper Signature Verification

  • نقض الزامات Requirement Violation

  • به محل ذخیره سازی دلخواه بنویسید Write to Arbitrary Storage Location

  • ترتیب ارث نادرست Incorrect Inheritance Order

  • تمرین 2 Practice 2

  • لغزش Slither

  • غم و اندوه گاز ناکافی Insufficient Gas Griefing

  • پرش دلخواه با متغیر نوع تابع Arbitrary Jump with Function Type Variable

  • DoS با محدودیت گاز بلوک DoS with Block Gas Limit

  • زپلین را باز کنید Open Zeppelin

  • آزمون 3 Quiz3

  • خطای چاپی Typographical Error

  • کنترل دسترسی Zeppelin را باز کنید Open Zeppelin Access Control

  • نویسه کنترل از راست به چپ Right to Left Override Control Character

  • توکن های مشترک زپلین را باز کنید Open Zeppelin Common Tokens

  • وجود متغیرهای استفاده نشده Presence of unused variables

  • تعادل اتر غیرمنتظره Unexpected Ether balance

  • برخورد هش با چندین آرگومان با طول متغیر Hash Collisions With Multiple Variable Length Arguments

  • پیام تماس با مقدار گاز کد شده Message call with hardcoded gas amount

  • کد بدون اثر Code With No Effects

  • داده های خصوصی رمزگذاری نشده در زنجیره ضعف Unencrypted Private Data On-Chain Weakness

  • آزمون 4 Quiz 4

نتیجه Conclusion

  • نتیجه Conclusion

نمایش نظرات

نظری ارسال نشده است.

آموزش نقاط ضعف و راه حل های کد قرارداد هوشمند
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
6.5 hours
48
Udemy (یودمی) udemy-small
06 تیر 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
57
3.8 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.