فریم ورک SODA در قرارداد هوشمند
فریم ورک SODA از طریق قابلیت، کارایی و سازگاری، خود را از رویکردهای آنلاین موجود متمایز می کند. اول اینکه، فریم ورک SODA به کاربران این امکان را میدهد تا با جدا کردن مجموعه اطلاعات و شناسایی حملات با طراحی لایهای، اپلیکیشنهایی را برای
شناسایی حملات مختلف آنلاین به راحتی توسعه دهند. در لایه بالاتر، فریم ورک SODA رابط های یکپارچه برای توسعه برنامه های تشخیص در برابر حملات مختلف ارائه می دهد. در لایه پایینی،فریم ورک SODA ابزار EVM را برای جمع آوری تمام اطلاعات اولیه لازم برای شناسایی حملات مختلف و ساخت 11 نوع اطلاعات ساختاری برای سهولت در توسعه برنامه ها ایجاد می کند. بر اساس فریم ورک SODA، کاربران می توانند برنامه های جدید را در چند خط کد بدون تغییر EVM توسعه دهند.
دوم اینکه، فریم ورک SODA کارآمد است زیرا بازیابی اطلاعات بر اساس تقاضا را برای کاهش هزینه های جمع آوری اطلاعات و اتخاذ پیوندهای پویا برای حذف هزینه های ارتباطات بین فرآیندی طراحی می کند. چنین طراحی به کاربران اجازه می دهد تا با استفاده از هر زبان برنامه نویسی که می تواند کتابخانه های پویا ایجاد کند و برنامه های تشخیص را توسعه دهد.
سومین نکته در خصوص فریم ورک SODA، از آنجایی که بلاک چین های بیشتری از EVM به عنوان بستر و زمان اجرای قرارداد هوشمند استفاده می کنند، فریم ورک SODA می تواند به راحتی به چنین بلاک چین هایی بدون تغییر برنامه ها منتقل شود. بر اساس فریم ورک SODA، حدودا 8 برنامه شناسایی برای تشخیص حملاتی که از آسیبپذیریهای اصلی در قراردادهای هوشمند استفاده میکنند توسعه داده شده وفریم ورک SODA در 3 بلاک چین محبوب: اتریوم، Expanse و Wanchain ادغام می شود. نتایج آزمایشی گسترده، اثربخشی و کارایی فریم ورک SODA و برنامههای تشخیص و شناسایی را نشان میدهد. فریم ورک SODA یک چارچوب جدید تشخیص آنلاین عمومی برای قراردادهای هوشمند در بلاک چین است که از ماشین مجازی اتریوم (EVM) پشتیبانی می کند. قراردادهای هوشمند به اهداف پرسود و سودآور برای مهاجمان تبدیل شده اند زیرا می توانند مقدار زیادی پول را در خود نگه دارند. متأسفانه، روشهای آفلاین موجود برای کشف آسیبپذیریها در قراردادهای هوشمند یا بررسی صحت قراردادهای هوشمند، نمیتوانند به صورت آنلاین تراکنشهای مهاجم را شناسایی کنند. علاوه بر این، رویکردهای آنلاین موجود فقط بر حملات خاص تمرکز دارند و نمیتوانند به راحتی برای شناسایی حملات دیگر گسترش یابند.
از سوی دیگر، توسعه یک سیستم تشخیص آنلاین جدید از ابتدا، برای قراردادهای هوشمند زمانبر است و نیاز به درک عمیق لایه های بلاک چین دارد، بنابراین پیادهسازی و استقرار سریع مکانیزمها برای شناسایی حملات جدید را دشوار میکند. در این مقاله، ما یک چارچوب تشخیص آنلاین عمومی جدید به نام فریم ورک SODA در قراردادهای هوشمند را بررسی می کنیم که در هر بلاک چینی از ماشین مجازی اتریوم (EVM) پشتیبانی میکند. فریم ورک یا چارچوب نرم افزاری ، بستری برای توسعه برنامه های نرم افزاری است . فریم ورک پایه و اساسی را فراهم می کند که توسعه دهندگان نرم افزار می توانند برای یک پلت فرم خاص، برنامه ایجاد کنند . به عنوان مثال ، یک فریم ورک ممکن است شامل کلاسها و توابع از پیش تعریف شده باشد که می تواند برای پردازش ورودی ، مدیریت دستگاههای سخت افزاری و تعامل با نرم افزار سیستم مورد استفاده قرار گیرد . این روند به ساده سازی کمک می کند زیرا برنامه نویسان هر بار که برنامه جدیدی را ایجاد می کنند نیاز به این ندارند که برای راه اندازی برنامه چرخ جدیدی ایجاد کنند با استفاده از فریم ورک دیگر نیازی به کد نویسی اضافی برای یک پروژه ندارید.
یک فریم ورک ممکن است شامل کتابخانه های کد، کامپایلر و سایر برنامه های مورد استفاده در فرایند توسعه نرم افزار باشد. چندین نوع مختلف از چارچوب نرم افزار وجود دارد که بر روی سیستم عامل های ویندوز و اندروید و ios وmac os قابل اجراست نمونه های معروف شامل ActiveX و NET. برای توسعه ویندوز ، Cocoa برای Mac OS X ، Cocoa Touch برای iOS و Android Application Framework برای Android است.
انواع فریم ورک ها SODA
فریم ورک ها به دو دسته front-end و back-end تقسیم می شوند،فریم ورک front-end یک چارچوب برای ساخت قسمت جلویی و ظاهر پروژه شما است و برای سمت کاربر استفاده می شود این روش معمولاً شامل روشی برای ساختار پرونده های شما (به عنوان مثال ، از طریق اجزای سازنده یا پیش پردازنده CSS) ، ایجاد درخواست های AJAX ، سبک دادن به اجزای خود و مرتبط کردن داده ها با عناصر DOM است ، برای مثال React JS ،Angular JS ،j Query،Ember.js فریم ورک های سمت کاربر هستند.
فریم ورک back end برای کد نویسی سمت سرور به توسعه دهنده کمک می کنند که کار را برای توسعه دهنده راحت و بی دردسر می کند،CakePHP،Laravel، Django، Ruby on Rails، Flask ،Phoenix ،Express ،Spring Boot از فریم ورک های backend هستند.
فریم ورک ها SODA براساس زبان برنامه نویسی شان هم دسته بندی می شوند،
فریم ورکهای زبان برنامه نویسی PHP برای طراحی سایت با زبان برنامه نویسی php شاملLaravel،Phalcon، Symphony، Yii،Codelgniter،CakePHP،Zend ،Kohana، FuelPHP فریم ورکهای زبان جاوا Spring، Hibernate ،Java EE ،Struts، GWT فریم ورکهای زبان جاوااسکریپت Angular، React ،Ember ،Backbone ،VueJS، Aurelia ،Polymer فریم ورکهای زبان برنامه نویسی رابیRuby on Rails، Lotus،padrino،cuba،rack،sinatra،sorched،Grape فریم ورکهای زبان برنامه نویسی پایتون Django، Flask، TurboGears Web2py، Pyramid،Bottle و… هستند.
در بسیاری از موارد ، یک فریم ورک SODA نرم افزاری بطور محلی توسط یک سیستم عامل پشتیبانی می شود . به عنوان مثال ، برنامه ای که برای Android Application Framework نوشته شده است ، بدون نیاز به نصب سایر پرونده های اضافی در دستگاه Android اجرا می شود. با این حال ، برخی از برنامه ها برای اجرای نیاز به یک فریم ورک خاص دارند. به عنوان مثال ، یک برنامه ویندوز ممکن است به Microsoft .NET Framework 4.0 نیاز داشته باشد که روی همه دستگاه های ویندوز نصب نشده است به خصوص رایانه های شخصی که نسخه های قدیمی ویندوز را اجرا می کنند.
تاریخچه فریم ورک SODA
بسیاری از بلاک چینها از قراردادهای هوشمند پشتیبانی میکنند. این قراردادهای هوشمند برنامههای مستقلی هستند که منطق از پیش تعریفشده را بهطور خودکار و اجباری اجرا میکنند. قراردادهای هوشمند به اهداف پرسود و سودآور برای مهاجمان تبدیل شدهاند زیرا میتوانند مقدار زیادی پول را در خود نگه دارند. به عنوان مثال، ارزشمندترین قرارداد هوشمند روی اتریوم حدود 1.8 میلیون ETH دارد. حملات زیادی در سال های اخیر اتفاق افتاد که منجر به خسارات مالی شدید شد.
به عنوان مثال، با سوء استفاده از آسیب پذیری ورود مجدد در قرارداد هوشمند DAO، یک مهاجم 70 میلیون دلار ضرر مالی ایجاد کرد. علاوه بر این، بدون مدیریت صحیح، یک عملکرد مهم از قرارداد کیف پول چندامضایی مولتی سیگ (Multisig) منجر به زیان مالی 31 میلیون دلاری شد. همین قرارداد هوشمند دارای آسیبپذیری دیگری است که به هکرها اجازه میدهد قرارداد هوشمند را از بین ببرند و بنابراین 153 میلیون دلار مسدود شد.
قرارداد هوشمند EOSBet اعلانها را به درستی مدیریت نمیکرد به طوری که مهاجمان با سوء استفاده از چنین آسیبپذیری متحمل ضرر مالی 0.5 میلیون دلاری شدند.
تأثیرات منفی پایدار خواهد بود زیرا تراکنشهای هجومی پس از اضافه شدن به بلاک چین حذف نمیشوند و حتی تمدید میشوند، زیرا سایر بلاک چینها از ماشین مجازی اتریوم (EVM) به عنوان بستر و زمان اجرای قراردادهای هوشمند استفاده میکنند. (با توجه به اینکه بیش از 20 میلیون قرارداد هوشمند در آن مستقر شده است.)
رویکردهای موجود برای حفاظت از قراردادهای هوشمند را می توان تقریباً به آفلاین و آنلاین تقسیم کرد. رویکردهای آفلاین قراردادهای هوشمند را برای کشف آسیبپذیریها، بررسی صحت آنها، مهندسی معکوس بایت کد قراردادهای هوشمند و شناسایی قراردادهای هوشمند مخرب تجزیه و تحلیل میکنند. با این حال، روشهای آفلاین به دلیل کمبود اطلاعات زمان اجرا و محدودیتهای ذاتی تکنیکهای انتخابشده، نمیتوانند تضمین کنند که میتوان همه آسیبپذیریها را شناسایی و حذف کرد یا خیر؟ بنابراین قراردادهای هوشمند پس از پردازش توسط این رویکردها همچنان می توانند مورد حمله قرار گیرند. رویکردهای آنلاین تلاش میکنند حملاتی را شناسایی کنند که قراردادهای هوشمند را هدف قرار میدهند یا از قراردادهای هوشمند در برابر حملات پس از استقرار محافظت میکنند که میتواند به دو دسته طبقهبندی شود. دسته اول کد حفاظتی را در منبع/کد بایت قراردادهای هوشمند درج می کند. با این حال، قابلیت های آنها توسط محدودیت اندازه بایت کد EVM و مکانیسم گس محدود شده است.
دسته دوم کد حفاظتی را در زمان اجرای قراردادهای هوشمند (به عنوان مثال EVM) درج می کند. با این حال، این رویکردها را نمی توان به راحتی برای شناسایی حملات جدید گسترش داد چرا که یا فاقد طراحی دقیق، پیاده سازی و ارزیابی هستند یا منابع مصرفی هستند و می توانند بسیاری از حملات را از دست بدهند. در ادامه رویکردهای موجود را در 8 برنامه شرح داده می شود.
تفاوت بین کتابخانه و فریم ورک SODA
برخی ممکن است فرض کنند که یک فریم ورک نرم افزاری مجموعه ای از کتابخانه ها است همانطور که کتابخانه ها مجموعه ای از روال های از پیش تدوین شده هستند. با این حال ، این موضوع درست نیست زیرا همه چارچوب های نرم افزار از کتابخانه ها استفاده نمی کنند یا به کتابخانه ها وابسته نیستند.
تفاوت کتابخانه با فریم ورک این است که فریم ورک کدهای اضافه شده توسط کاربر را فراخوانی می کند و تصمیم میگیرد کی و کجا از کد استفاده کند در مقابل این کد ،کتابخانه نرم افزار را فرا می خواند.
هنگامی که از یک فریم ورک PHP مانند Laravel استفاده می کنید ، رابطه معکوس می شود و بنابراین framework نرم افزار، کد برنامه نوشته شده در چارچوب را فرا می خواند که به این کار از نظر فنی وارونگی کنترل (IoC) گفته می شود.
یک چارچوب تشخیص آنلاین عمومی جدید به نام فریم ورک SODA (یعنی چارچوب تشخیص آنلاین قرارداد هوشمند در برابر حملات) برای قراردادهای هوشمند در هر زنجیره بلوکی سازگار با EVM پیشنهاد شده و نحوه گسترش فریم ورک SODA برای محافظت از قراردادهای هوشمند در برابر حملات در برنامه مورد بحث قرار گرفته است.
فریم ورک SODA از طریق قابلیت، کارایی و سازگاری خود را از رویکردهای آنلاین موجود متمایز می کند. همانطور که گفته شد چارچوب فریم ورک SODA یک فریم ورک قابل توسعه است که به کاربران اجازه می دهد تا به راحتی برنامه هایی را برای تشخیص آنلاین حملات مختلف توسعه دهند. برای دستیابی به این هدف، فریم ورک SODA جمع آوری اطلاعات و تشخیص حمله را با طراحی لایه ای جدا می کند. در لایه بالاتر، فریم ورک SODA رابط های یکپارچه برای توسعه برنامه های شناسایی فراهم می کند. در لایه زیرین، فریم ورک SODA ابزار EVM را برای جمع آوری تمام اطلاعات ایجاد می کند که برای شناسایی حملات ضروری است. علاوه بر این، چارچوب سودا 11 نوع اطلاعات ساختاری میسازد تا توسعه برنامههای تشخیص را آسان کند. بر اساسفریم ورک SODA، کاربران می توانند برنامه های جدید را در چند خط کد بدون تغییر EVM توسعه دهند. برای نمایش نحوه انجام این کار، 8 برنامه را برای شناسایی حملاتی که از آسیبپذیریهای اصلی در قراردادهای هوشمند سوءاستفاده میکنند، از جمله ورود مجدد، فراخوانی غیرمنتظره عملکرد، دادههای ورودی نامعتبر، بررسی نادرست مجوز، عدم بررسی پس از فراخوان قرارداد، از دست دادن رویداد انتقال و بررسی دقیق توسعه داده می شود.
دوم، فریم ورک SODA کارآمد است چرا که بازیابی اطلاعات درخواستی را طراحی می کند که فقط اطلاعات مورد نیاز برنامه های ثبت شده را جمع آوری می نماید تا هزینه جمع آوری اطلاعات را کاهش دهد. علاوه بر این،فریم ورک SODA برنامه ها را به صورت ناهمزمان اجرا می کند تا هزینه های اضافی را کاهش دهد زیرا اجرای قراردادهای هوشمند نیازی به منتظر ماندن برای نتایج برنامه ها ندارد. علاوه بر این، فریم ورک SODA پیوندهای پویا را برای حذف هزینه های ارتباطات بین فرآیندی (IPC) اتخاذ می کند. بنابراین، کاربران میتوانند با استفاده از هر زبان برنامهنویسی که میتواند کتابخانههای پیوند پویا (DLL) ایجاد و اپلیکیشنهای تشخیص را توسعه دهند. چنین طراحی امکان نصب/حذف اپلیکیشن های شناسایی را در طول اجرای بلاک چین فراهم می کند و بنابراین پاسخ سریع به حملات جدید را تسهیل می کند. آزمایشهای گسترده نشان میدهد که هزینه سربار فریم ورک SODA بدون یا با 8 برنامه تشخیص در پردازش بلوکهای تاریخی به ترتیب 0.4٪ و 25.5٪ است که برای تجزیه و تحلیل گذشتهنگر قابل قبول است. علاوه بر این، هزینه سربار فریم ورک SODA با هر 8 برنامه در پردازش بلوکهای تازه استخراج شده ناچیز است، زیرا استخراج بلوک نسبت به تشخیص حمله زمانبرتر است. نتایج تجربی همچنین نشان میدهد که بازیابی اطلاعات بر اساس تقاضای پیشنهادی برای کاهش هزینه ها موثر است و تأخیر تشخیص ناچیز است. فریم ورک SODA با هر بلاک چینی که از EVM به عنوان زمان اجرای قرارداد هوشمند خود استفاده می کند، سازگار است. EVM ابتدا برای اتریوم طراحی شد و سپس به سرعت توسط بسیاری از بلاک چینهای دیگر (مانند Expanse، Wanchain، Tomochain، SmartMesh، CPChain، ThunderCore) مورد استفاده قرار گرفت. بنابراین، سودا می تواند توسط آنها استفاده شود.
برای نشان دادن سازگاری با سایر بلاک چین ها، فریم ورک SODA، حدود 8 برنامه شناسایی را در 3 بلاک چین، یعنی اتریوم، Expanse و Wanchain ادغام می کند. پس از اجرای این بلاک چین ها با فریم ورک SODA، حملات بسیاری شناسایی می شوند. شایان ذکر است که فریم ورک SODA اولین سیستم تشخیص آنلاین برای Expanse و Wanchain است.
کاربران بالقوه فریم ورک SODA شامل، (اما نه محدود به)، تحلیلگران امنیتی هستند که نگران رویدادهای امنیتی روی بلاک چین هستند، همچنین توسعه دهندگان قراردادهای هوشمند و اشخاص ثالثی که قراردادهای هوشمند را در زنجیره خصوصی ارزیابی می کنند. بنابراین، ما فرض میکنیم که کاربران فریم ورک SODA قابل اعتماد هستند و برنامههای تشخیصی که روی فریم ورک SODA اجرا میشوند بدون مشکل هستند. مشارکت ها این اثر سه سهم عمده دارد:
فریم ورک SODA، به عنوان یک چارچوب آنلاین عمومی جدید برای شناسایی حملات روی بلاک چین های سازگار با ماشین مجازی اتریوم طراحی و پیاده سازی می شود. سودا از طریق قابلیت، کارایی و سازگاری خود را از رویکردهای آنلاین موجود متمایز می کند. بر اساس هشت فریم ورک SODA برنامه با روش های جدید، برای شناسایی حملاتی که از آسیب پذیری های عمده در قراردادهای هوشمند سوء استفاده می کنند، توسعه داده می شود. علاوه بر این، فریم ورک SODA در 3 بلاک چین محبوب سازگار با EVM ادغام می شود. برنامه های تشخیص و نتایج آزمایشی در https://github.com/pandabox-dev/SODA منتشر خواهند شد. با انجام آزمایشهای گسترده برای ارزیابی SODA، مشاهده میکنیم که SODA به همراه برنامههای تشخیص دیگر، حملات بسیاری را با هزینه های کم شناسایی کردند. فریم ورک SODA یک چارچوب جدید تشخیص آنلاین عمومی برای شناسایی حملات مختلف است. فریم ورک SODA به دلیل قابلیت، کارایی و سازگاری، نسبت به رویکردهای آنلاین موجود برتری دارد. با فریم ورک SODA، کاربران می توانند به سرعت برنامه هایی را برای شناسایی و تشخیص حملات جدید توسعه دهند. این پلتفرم 8 برنامه را با روشهای تشخیص جدید برای شناسایی حملاتی که از آسیبپذیریهای اصلی در قراردادهای هوشمند سوءاستفاده میکنند، توسعه می دهد. علاوه بر این، فریم ورک SODA در سه بلاک چین محبوب که از EVM پشتیبانی میکنند ادغام می شود. با انجام آزمایشهای گسترده برای ارزیابی فریم ورک SODA، مشاهده میشود که این چارچوب همراه با برنامههای شناسایی میتواند به طور موثر بسیاری از حملات را با هزینه های کم شناسایی کند.
ثبت دیدگاه
0دیدگاه
دیدگاهی ثبت نشده است.
اولین نفری باشید که دیدگاهتان ثبت میشود.