بینش عمیق در مورد قرارداد هوشمند مبهم اطلاعات PlatoBlockchain. جستجوی عمودی Ai.

بینش عمیق در مورد مبهم قرارداد هوشمند

فهرست مندرجات

در میان افزایش هک ها و اکسپلویت ها، Fuzzing به عنوان یک کلید واژه جدید مطرح شده است. در حین کار با قراردادهای هوشمندانه، می توانیم از یک فازر برای یافتن موارد آزمایشی استفاده کنیم که ممکن است در مرحله آزمایش واحد از قلم افتاده باشند. 

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

موارد لبه‌ای که در قراردادهای هوشمند نادیده گرفته می‌شوند را می‌توان با استفاده از فوزر به راحتی کشف کرد. در بخش‌های آینده، ابعاد مختلف Fuzzing و اینکه چگونه می‌توانید قرارداد هوشمند خود را با استفاده از fuzz ایمن‌تر کنید، مورد بحث قرار خواهیم داد. 

مروری بر Fuzzing 

Fuzzing (یا) Fuzz Testing روشی برای آزمایش خودکار یک نرم افزار (در مورد ما، قراردادهای هوشمند) است. 

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

فرآیند فازی آنلاین

  • اول، بررسی & آزمون la ABI رابط و کد عبور از قرارداد هوشمند نوع داده پارامترهای مختلف مورد استفاده در تابع ABI و امضاهای تابع استفاده شده. 
  • انجام دادن ABI تجزیه و تحلیل امضا بر روی قراردادهای هوشمند مختلف خزیدن از Ethereum سکو. پس از این، آنها را مطابق با ترتیب قرار دهید تابع امضا توسط هر قرارداد هوشمند پشتیبانی می شود. 
  • ایجاد یک ابهام قانونی ورودی که توجیه کننده است ABI مشخصات.
  • شروع کنید تست فازی شدن با تماس با مربوطه رابط ABI.
  • اکنون، معاینه کردن la گزارش اجرا ایجاد شده در طول تست fuzzing برای جستجوی آسیب پذیری های امنیتی. 

چگونه Fuzz را انجام دهیم؟

برای اجرای Fuzzing از ابزارهای مختلفی مانند «اکیدنا.این یک برنامه Haskell است که برای انجام تست فازی (یا) مبتنی بر ویژگی توسعه و طراحی شده است. قراردادهای هوشمند Ethereum. بهره می برد مبتنی بر دستور زبان کمپین های fuzzing ایستاده در قرارداد ABI برای باطل کردن ادعاهای استحکام

بینش عمیق در مورد قرارداد هوشمند مبهم اطلاعات PlatoBlockchain. جستجوی عمودی Ai.

اجرای Test Runner 

عملکرد اصلی Echidna یک قابل اجرا با نام "echidna-testورودی آن قراردادها و فهرستی از متغیرها است. دنباله ای تصادفی از فراخوانی های قرارداد را ایجاد می کند و برای هر غیرمتغیر تایید می کند. 

معایب Fuzzing 

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

توضیحات: موضوع وضعیت
اطلاعات اشکال زدایی ممکن است ناکافی باشد #656 در حال بررسی برای 2.0
پشتیبانی Vyper محدود است #652 رفع نخواهد شد
پشتیبانی کتابخانه محدود برای آزمایش #651 رفع نخواهد شد
اگر قرارداد به درستی مرتبط نباشد، Echidna خراب می شود #514 در بررسی
ادعاها در معاملات داخلی شناسایی نمی شوند #601 در حال بررسی برای 2.0
ادعاها در solc 0.8.x شناسایی نمی شوند #669 در حال بررسی برای 2.0
تولید مقدار ممکن است در حالت multi-abi ناموفق باشد، زیرا هش تابع به اندازه کافی دقیق نیست #579 در حال بررسی برای 2.0

تست فاز چگونه کار می کند؟

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

ما از ابزارهای تخصصی به نام Fuzzers استفاده می کنیم، مانند اچیدنا که در بخش قبلی برای کشف آسیب پذیری ها بحث کردیم. امنیت برنامه دیگر (appsec) ابزارها نیاز به دسترسی به کد منبع دارند، از طرف دیگر fuzzer ها به چندین ورودی برای کشف اشکالات جدید و ناشناخته متکی هستند. 

بینش عمیق در مورد قرارداد هوشمند مبهم اطلاعات PlatoBlockchain. جستجوی عمودی Ai.

مزایای برتر Fuzzing 

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

مقرون به صرفه: در مقایسه با سایر تکنیک‌های آزمایش، فازبندی مقرون به صرفه است و برای مشاغلی با محدودیت بودجه مناسب است. 

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

نتایج تست امنیتی را بهبود می بخشد: در واقع، این روش تست جامع برای تست امنیتی نیست، اما وقتی به عنوان یک استراتژی تست امنیتی جعبه سیاه اجرا شود، امنیت قرارداد هوشمند شما را افزایش می‌دهد. 

نتیجه

Fuzzing برای بسیاری یک راهپیمایی نیست، زیرا برای انجام کارها به روش صحیح نیاز به طوفان فکری زیادی دارد، اما ارزش این درد را دارد.

Fuzzing اعتماد به نفس و احساس امنیت را برای ذینفعان شما فراهم می کند که تنها از طریق آزمایش واحد به دست نمی آید. در QuillAudits، ما آزمایش فازی قراردادهای هوشمند خود را آغاز کردیم تا آنها را در برابر هر گونه تهدید احتمالی آینده ایمن تر کنیم. ما تیمی متشکل از متخصصان ماهر و با تجربه هستیم که ممیزی را برای مدت طولانی به پایان رسانده ایم 200 + قراردادهای هوشمند تو می توانی با ما ارتباط برقرار کنید برای ایمن سازی پلت فرم DeFi و NFT خود.

رسیدن به QuillAudits

QuillAudits یک پلت فرم حسابرسی قرارداد هوشمند ایمن است که توسط QuillHash
فن آوری ها
این یک پلت فرم حسابرسی است که به شدت تجزیه و تحلیل و تأیید می کند قراردادهای هوشمندانه برای بررسی آسیب پذیری های امنیتی از طریق موثر کتابچه راهنمای بررسی با ایستا و پویا ابزار تحلیل، آنالایزرهای گاز همچنین شبیه سازها علاوه بر این، فرآیند حسابرسی نیز شامل گسترده است تست واحد همچنین تحلیل ساختاری
ما هر دو قرارداد هوشمند را انجام می دهیم ممیزی و نفوذ تست هایی برای یافتن پتانسیل
آسیب پذیری های امنیتی که ممکن است به پلت فرم آسیب برساند تمامیت.

در صورت نیاز معاونت در قراردادهای هوشمند حسابرسی، در صورت تمایل به رسیدن به به کارشناسان ما اینجا!

بودن به روز با کار ما، به ما بپیوندید اجتماع:-

توییتر | لینک فیس بوک |تلگرام 

منبع: https://blog.quillhash.com/2021/09/01/a-deep-insights-on-smart-contract-fuzzing/

تمبر زمان:

بیشتر از کویل هاش