Mais conteúdo relacionado Mais de SaeidGhasemshirazi (20) تامین امنیت در قراردادهای هوشمند | Smart Contract Security4. آید؟می کجا از هوشمند قرارداد ایده
●
سال
۱۹۹۴
توسط
نیک
زابو
●
ارسال
و
دریافت
پول
بدون
نیاز
به
واسط
مورد
اعتماد
!
●
بیت
،کوین
پایه
و
اساس
قرارداد
هوشمند
را
بر
بستر
بالک
چین
ایجاد
کرد
.
●
با
ظهور
،اتریوم
قراردادهای
هوشمند
برای
عموم
به
اجرا
درآمد
و
محرک
انجام
معامالت
بیشتری
شد
.
5. کنند؟می کار چگونه هوشمند قراردادهای
●
قاعده
کلی
آن
را
توانمی
با
ینحوه
کار
هایدستگاه
فروش
توضیح
داد
.
●
این
هادستگاه
فقط
هاییدستورالعمل
را
که
به
آنها
داده
شودمی
،
به
طور
خودکار
اجرا
کنندمی
.
●
شما
باید
به
مقدار
مورد
نیاز
کریپتوکارنسی
وارد
قرارداد
هوشمند
کنید
و
سپس
حق
مالکیت
خانه
و
س
ایر
مجوزهای
الزم
را
در
حساب
خود
دریافت
کنید
.
در
ابتدای
،کار
دارایی
ها
و
شرایط
قرارداد
کدگذاری
شوندمی
و
ب
ر
روی
بالک
یک
بالک
چین
قرار
داده
شوندمی
.
این
قرارداد
چندین
بار
بین
هایگره
پلتفرم
توزیع
و
کپی
م
شودی
و
پس
از
اجرای
،آن
قرارداد
مطابق
با
شرایط
تعیین
شده
انجام
شودمی
.
عالوه
بر
،این
این
برنامه
به
طور
خود
کار
اجرای
تعهدات
را
نیز
بررسی
کندمی
.
6. داریم؟ نیاز چه به هوشمند قرارداد یک ایجاد برای
●
موضوع
قرارداد
و
دسترسی
این
برنامه
باید
به
کاال
و
خدمات
تحت
قرارداد
برای
قفل
کردن
و
باز
کردن
خودکار
هاآن
دسترسی
داشته
باش
د
.
●
امضاهای
دیجیتال
همه
کنندگانشرکت
با
امضای
قرارداد
از
طریق
کلیدهای
خصوصی
،خود
نامهتوافق
را
آغاز
کنندمی
.
●
شرایط
قرارداد
شرایط
قرارداد
،هوشمند
به
شکل
یک
رشته
دقیق
از
عملیات
تعریف
شودمی
و
همه
کنندگانشرکت
باید
این
شرایط
را
امضا
کنند
.
●
پلتفرم
غیر
متمرکز
قرارداد
هوشمند
بر
روی
بالک
چین
پلتفرم
قرار
گیردمی
و
بین
هایگره
این
پلتفرم
نیز
توزیع
شودمی
.
9. هوشمند قراردادهای معایب
نیستند نقص و عیببی جدید هایپروژه از دیگر بسیاری مانند هم هوشمند قراردادهای
.
ک این از برخی
هااستی
از عبارتند
:
❖
انسانی عامل
❖
نامشخص حقوقی وضعیت
❖
تغییر در دشواری
❖
اجرا هایهزینه
10. هوشمند قراردادهای در بالکچین نقش
❖
بالکچین
یک
پایگاه
داده
توزیع
یافته
و
غیرمتمرکز
،است
این
موضوع
باعث
می
شود
امکان
تقل
ب
یا
دستکاری
در
آن
به
حداقل
برسد
.
❖
دیگران شدن آگاه بدون اطالعات در تغییری نوع هر
ممکن غیر
است
!
❖
جایگزین بالکچین
ثالث شخص
کرد اعتماد آن به توان می و هاست قرارداد در
.
11. غیرمتمرکز های برنامه
(Decentralized application)
،اندشده ایجاد چین بالک تکنولوژی روی که باز متن افزارهاینرم به
متمرکز غیر برنامه
گوییممی
.
ویژگیبرنامههایغیرمتمرکز
:
●
متنباز
:
باشد همه دسترس در هاآن یپایه کد که است الزم شفافیت برای
●
غیرمتمرکز
:
سازی متمرکز مشکالت از پیشگیری برای
!
●
داشتن
مشوق
:
کاربرانی
که
هایبالک
بالک
چین
را
تایید
،کنندمی
الزم
است
که
با
پاداش
گرف
تن
هایتوکن
رمزنگاری
تشویق
شوند
.
●
پروتکل
:
یجامعه
کاربران
الزم
است
روی
یک
الگوریتم
رمزنگاری
توافق
کنند
تا
اثبات
ارزش
آن
ر
ا
نشان
دهند
.
12. Decentralized Autonomous Organization(DAO)
چیست؟
به که شودمی طراحی طوری ،خودمختار سازمان یک صورت به که است پلتفرمی
اتوماتیک و غیرمتمرکز صورت
کن عمل
هدف با ،د
است آمده وجود به شرکت یک هایسیاست تعیین و هاگیریتصمیم در اختالف مثل مشکالتی کردن برطرف
.
ویژگی
های
DAO
تمرکز
زدایی
:
توسط
یک
نهاد
واحد
و
متمرکز
اداره
نمی
شود
.
خودمختاری
:
می
تواند
به
طور
خودکار
و
بدون
هیچ
گونه
مداخله
ای
عملیات
را
انجام
دهد
.
سازمانی
:
مانند
یک
سازمان
با
قوانین
از
پیش
تعیین
شده
خود
اداره
می
شود
.
13. رمزنگاری از هاآن در که شودمی گفته دیجیتال ارزهای و پول از ایدسته به رمزارز یا کریپتوکارنسی
(
ش گذاری کد و کریپتوگرافی
ده
)
برای
استشده استفاده مالی هایتراکنش
.
ویژگیرمزارزها
:
●
دیجیتالیبودن
●
غیرمتمرکز
●
شده
رمزنگاری
●
بدوننیازبهاعتماد
●
جهانی
:
گویندمی فیات ارز آن به که دارد خودش به مخصوص ارز کشور هر
.
●
همتابههمتا
:
شوندمی منتقل دیگر شخص به شخص یک از آنالین صورت به
●
ناممستعار
:
پرداخت ها ارز رمز معامله به مستعار نام با توان می
.
چیست؟ ارز رمز
14. هوشمند های قرارداد مشهور های پلتفرم
●
اتریوم
:
اتریوم
اولین
پلتفرمی
است
که
قراردادهای
هوشمند
را
به
صورت
عملی
مورد
استفاده
قرار
داد
.
●
ایاس
:
برای
پشتیبانی
از
کاربردهای
غیرمترمرکز
در
مقیاس
تجاری
این
امکان
را
ایجاد
کرده
که
شرکت
ها
برنامه
های
بالکچین
را
درست
مانند
برنامه
های
مبتنی
بر
وب
تشکیل
دهند
.
●
کاردانو
:
با
هدف
دستیابی
به
تراکنش
های
سریع
و
رایگان
به
وجود
آمده
است
تا
کاربران
بتوانند
به
ارسال
و
دری
افت
مبالغ
بپردازند؛
قراردادهای
هوشمند
ایجاد
کنند
و
برنامه
های
غیر
متمرکز
بسازند
.
●
استالر
:
هدف
استالر
این
است
که
،هابانک
هایسیستم
پرداخت
و
مردم
را
به
یکدیگر
متصل
کند
تا
در
نتیجه
یک
پارچه
شدن
آن
ها
تراکنش
ها
با
سرعت
بیشتر
و
بدون
هزینه
انجام
شوند
.
●
نئو
:
تالش
بر
ایجاد
یک
اقتصاد
هوشمند
و
دیجیتالی
کردن
دارایی
ها
دارد
.
16. ●
هوشمند های قرارداد در کدنویسی های پیچیدگی
(
بیشتر باگ تر پیچیده کد هرچه
)!
●
دالری میلیون های سواستفاده برای ها هکر برای مناسب محلی
!
●
ویترین یک مثل است مشاهده قابل بالکچین روی چیز همه
(
کد
+
دیتا
)
●
حمله سطح
(
(Attack surface
است زیاد اتریوم پلتفرم روی
!
●
ناپذیر تغییر هوشمند های قرارداد
(immutable)
کرد پچ آنرا نمیشود دیگر رفت بالکچین روی که زمانی هستند
.
●
کنند پیدا را آن های باگ و اجرا را داد قرار از نسخه یک خود میتوانند ها هکر
.
هوشمند های قرارداد در افزار نرم تست و امن نویسی کد اهمیت دالیل
23. ❖
محیطاجراییناآشنا
:
، موبایل مثل شده مدیریت اجرایی های محیط با اتریوم
PC
است متفاوت ابر یا و
.
کد که ندارند عادت دهندگان توسعه
شود اجرا اعتماد بی ، ناشناس جهانی شبکه یک های گره توسط آنها
.
❖
پشتهنرمافزاریجدید
:
، سالیدیتی کامپایلر شامل که اتریوم پشته
EVM
،
و توافق الیه
…
حال در هنوز متنوع های پذیری آسیب وجود با ،است
است نشده کامل و باشد می توسعه
.
❖
تواناییبسیارمحدوددراصالحقراردادها
:
شود اصالح تواند نمی بالکچین در شده مستقر قرارداد یک ،بالکچین بودن ناپذیر تغییر ماهیت خاطر به
.
هوشمند های قرارداد های پذیری آسیب و خطرات
25. ❖
آسیبپذیری
Re-entrancy
:
کند وارد بار چندین کاربر اطالع بدون را یکسان تابع یک تواندمی مهاجم آن طی
.
خ اجازه ابد تا مهاجم به کار این
روج
معروف حمله،داد خواهد را هادارایی
DAO
داد رخ مساله همین اثر در هم
.
سالیدیتی به مربوط های پذیری آسیب
28. ❖
آسیبپذیریتوهمآنروپییاعددرندوم
است سختی بسیار کار تصادفی عدد تولید بالکچین ماهیت دلیل به
!
❖
آسیبپذیریایرادطراحیکتابخانه
هستند پذیر آسیب کتابخانه این از کنندگان استفاده تمامی باشد داشته باگ کتابخانه یک اگر
!
❖
باگهایمحاسباتی
ماشین شمار کیلومتر کنید فرض
6
از بیش ماشین این با اگر ندارد بیشتر رقم
1
شمار کیلومتر کنیم حرکت کلیومتر میلیون
میشود صفر
!
به توان می هوشمند قراردادهای در که
بافر سرریز حمالت
شود منجر
.
سالیدیتی به مربوط های پذیری آسیب
29. ❖
ارزدیجیتالازدسترفتهدرانتقال
خ بین از انتقال فرآیند در دیجیتال ارز ، شود ارسال ندارد قراردادی هیچ یا و صاحب هیچ که آدرسی به اتریوم اگر
واهد
رفت
!
❖
آسیبپذیریدرکنترلدسترسی
باشند داشته دسترسی قرارداد در حساس های قابلیت و عملکردها به که دهدمی اجازه هکر به
.
❖
باگهایمحاسباتی
فرض
کنید
کیلومتر
شمار
ماشین
6
رقم
بیشتر
ندارد
اگر
با
این
ماشین
بیش
از
1
میلیون
کلیومتر
حرکت
کنیم
کیلومتر
شمار
صفر
میشود
!
که
در
قراردادهای
هوشمند
می
توان
به
حمالت
سرریز
بافر
منجر
شود
.
های پذیری آسیب
EVM
30. ❖
آسیبپذیرینقضراهنمایسبک
(Style Guide violation)
ت از قبل را ها الگو تطبیق سالیدیتی کامپایلر و است حروف به حساس نویسی برنامه زبان یک سالیدیتی
های قرارداد دوین
میکند اجرا بالکچین در و داده تشخیص هوشمند
.
های پذیری آسیب
EVM
الگویخوب تطبی
الگویبد تطبی
contractTheTimeLock
contractthetimeLock
functioncallAlice)(
functionCallAlice)(
eventLog(string message);
eventlog(string message);
32. هوشمند های قرارداد امنیت تحلیل و تجزیه های روش انواع
نوعورودی
متدلوژی
نوعآنالیز
Bytecode
Bytecode
Bytecode
Solidity code
Solidity code
Bytecode
Symbolic execution
Control Flow Graph construction
Pattern recognition
Rule-based analysis
Compilation
Decompilation
Static analysis
Bytecode
Bytecode
Bytecode
Bytecode
Execution trace at run-time
Transaction graph construction
Symbolic analysis
Validation of true/false positives
Dynamic Analysis
Bytecode
Solidity code
bytecode
Using theorem provers
Translation of formal language
Construction of program logics
Formal Verification
33. هوشمند های قرارداد امنیت تامین مشکالت
کدنوسی های روش نبود
امن
پیچید باگ رفع پروسه
ه
نااشن نویسان برنامه
ا
متفاوت پروسه
های لیست چک نبود
مناسب امنیتی
تغییر
ناپذیری
و جامع ابزار نبود
ساده
بر نظارت هزینه
باال امنیت
34. هوشمند های قرارداد امنیت تامین برای آتی کارهای
مطاب امنیتی های لیست چک ارائه
ق
ها پذیری آسیب ترین جدید با
و تست برای جامع ابزاری ارائه
ه پلتفرم تمامی سنجی اعتبار
ای
هوشمند قراردادهای
ایجاد فرایند سازی استاندارد
هوشمند قراردادهای در امنیت
کشف های الگوریتم بهبود
پذیری آسیب اتوماتیک
ا استفاده با امن کدنویسی
ز
مصنوعی هوش