قابلیت ردیابی مهاجم در اتریوم از طریق تجزیه و تحلیل نمودار

ساخت وبلاگ

از آنجا که دستگاه مجازی Ethereum Turing کامل است ، Ethereum می تواند منطق های پیچیده ای مانند تماس های متقابل و تماس های تو در تو را بین توابع اجرا کند. بنابراین ، اتریوم از بدو تولد حملات زیادی را متحمل شده است و هنوز هم بسیاری از مهاجمان در معاملات اتریوم فعال هستند. برای این منظور ، ما با استفاده از تجزیه و تحلیل نمودار برای ردیابی مهاجمان ، یک روش قابلیت ردیابی را در Ethereum پیشنهاد می کنیم. ما داده های معامله کاربر کامل را برای ساخت نمودار جمع آوری کردیم و داده ها را در مورد چندین حمله مضر ، از جمله حملات مجدد ، حملات آدرس کوتاه ، حملات DDOS و قراردادهای پونزی تجزیه و تحلیل کردیم. از طریق تجزیه و تحلیل نمودار ، ما حساب هایی را پیدا کردیم که به شدت با این حملات همراه هستند و هنوز هم فعال هستند. ما برای تجزیه و تحلیل تهدیدهای آنها ، تجزیه و تحلیل سیستماتیک از این حساب ها انجام داده ایم. سرانجام ، ما همچنین همبستگی بین اطلاعات جمع آوری شده از طریق RPC و این حساب ها را مورد تجزیه و تحلیل قرار دادیم و سرانجام دریافتیم که برخی از حساب ها می توانند آدرس IP خود را پیدا کنند.

1. معرفی

Ethereum یک بستر توزیع شده مبتنی بر یک منبع باز با نام blockchain 2. 0 است [1 ، 2]. در ابتدای سال 2016 ، فناوری اتریوم توسط بازار به رسمیت شناخته شد. قیمت شروع به افزایش کرد و بسیاری از افراد را به غیر از توسعه دهندگان برای ورود به دنیای اتریوم جذب کرد.

با افزایش قیمت اتر به تدریج ، گروهی از میهمانان ناخوانده را نیز به خود جلب کرد ، یعنی مهاجمان [3]. آنها از نقاط ضعف در قرارداد اتریوم و نقاط ضعف در EVM استفاده می کنند تا انواع روشهای حمله را برای سرقت اتریوم یا مختل کردن بازار اتریوم به دقت طراحی کنند. دقیقاً مانند حمله DAO 2016 [4] ، مهاجم از حفره های طولانی مدت اجاره نامه سوء استفاده کرد تا تقریباً 60 میلیون دلار دزدی کند. در ژوئیه سال 2017 ، یک حفره در قرارداد کیف پول برابری منجر به از دست دادن 31 میلیون دلار شد [5]. در آوریل 2018 ، MyetherWallet Wallet قربانی حملات ربودن BGP و DNS شد و هکرها را قادر می سازد 17 میلیون دلار برای ما سرقت کنند [6]. در 18 آوریل 2020 ، هکرها از مسائل سازگاری بین UNISWAP و ERC777 استفاده کردند. هنگام انجام معاملات ETH-IMBTC ، هکرها از چندین تکرار در ERC777 برای تماس با TokenStosend برای دستیابی به حمله مجدد استفاده کرده و استخر IMBTC را در UNISWAP فراخوانی می کنند (IMBTC یک نشانه ERC-20 با لنگرگاه 1: 1 به بیت کوین است). در 11 اوت 2020 ، پروژه توکن مستقر در اتریوم NUGS یک مشکل امنیتی داشت. در قرارداد هوشمند خود ، نقاط ضعف امنیتی وجود داشت که باعث تورم گسترده در سیستم توکن آن شد. از آنجا که آسیب پذیری امنیتی قرارداد هوشمند قابل ترمیم نیست ، پروژه NUGS به طور رسمی تصمیم به ترک پروژه را اعلام کرد و نشانه های سپرده شده در آن نمی توانند خارج شوند.

مهاجمان اتریوم برای مدت طولانی به همراه توسعه اتریوم وجود داشته اند. حتی اکنون ، هنوز هم بسیاری از مهاجمان در اتریوم فعال هستند. روش های بسیاری برای تشخیص آسیب پذیری های قرارداد اتریوم وجود دارد [7 12] ، و برخی از افراد رفتار کاربران را در DAPP ها مطالعه کرده اند [13]. با این حال ، تعداد کمی از افراد منشأ مهاجمان را ردیابی می کنند.

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

در این مقاله ، از طریق برخی از کارهای قبلی ، ما برخی از داده های شناخته شده از حملات به اتریوم ، از جمله DDO ها ، حملات مجدد ، حملات آدرس کوتاه و قراردادهای پونزی را پیدا کردیم. پس از به دست آوردن تمام داده ها ، ما آن را پردازش کردیم و حساب حمله مستقیم آن را بدست آوردیم. سپس از طریق تجزیه و تحلیل نمودار در مورد حساب مربوط به آن سؤال کردیم. از طریق تجزیه و تحلیل حساب سؤال شده ، ما یافته های زیر را داریم: (i) در همان نوع حمله ، بسیاری از حساب های حمله به هم وصل می شوند ، نشان می دهد که همه آنها از یک تیم مهاجم یا حمله هستند (II) اتر هنوز در این مرتبط وجود داردحساب ها ، اما بیشتر حساب ها فقط تعادل کمی دارند و تعداد کمی از حساب ها به جز حملات DDOS تعداد زیادی اتر (III) دارند ، تمام حملات دیگر دارای حسابهای فعال در بلوک های اتریوم اخیر هستند

سپس از مکانیسم RPC برای پیوند داده های مهاجم به دست آمده از تجزیه و تحلیل نمودار با IP استفاده می کنیم. به طور خلاصه ، ما مشارکتهای اصلی زیر را انجام می دهیم: (i) ما از فناوری تجزیه و تحلیل نمودار برای تجزیه و تحلیل سیستماتیک مهاجم و تجزیه و تحلیل ویژگی های رفتار حمله استفاده می کنیم.(ب) از طریق مطالعه سایر اسناد ، یک مجموعه داده نسبتاً کامل از چندین نوع حمله با ارزش تحقیق بیشتر جمع آوری شده است. تجزیه و تحلیل نمودار را در این مجموعه داده ها انجام دهید. ما بین اکثریت قریب به اتفاق مهاجمان همبستگی پیدا کردیم و دریافتیم که بسیاری از حساب ها هنوز هم در اتریوم فعال هستند.(iii) ما آماری را در مورد حساب هایی با همبستگی قوی انجام داده ایم ، خسارت ناشی از اتریوم را محاسبه کرده و فعالیت کلی آنها را تجزیه و تحلیل کرده ایم.(IV) ما روشی را برای ردیابی منبع حمله پیشنهاد می کنیم. با استفاده از داده های به دست آمده از تماس RPC ، می توانیم مهاجم را با یک آدرس IP خاص مرتبط کنیم.

بقیه این مقاله به شرح زیر سازماندهی شده است: بخش 2 برخی از پیش زمینه های این مقاله را معرفی می کند. بخش 3 روش این مقاله را معرفی می کند. بخش 4 روش جمع آوری داده ها را معرفی می کند. بخش 5 نحوه ایجاد روابط گرافیکی را معرفی می کند ، بخش 6 نتایج تجربی را معرفی می کند ، بخش 7 در مورد نقص و کار آینده این مقاله بحث می کند و بخش 8 مقاله کامل را خلاصه می کند.

2. پس زمینه

blockchain در اصل یک دفترچه معامله توزیع شده غیرقابل تغییر با داده های روزافزون است [14]. توزیع در غیاب یک سازمان مرکزی روشن در سیستم blockchain منعکس می شود. تمام گره های کامل مشتری در سیستم برابر هستند و همه آنها یک نسخه از همان دفترچه را نگه می دارند. دفترچه شامل کلیه معاملات تأیید شده در سیستم blockchain است. این معاملات معمولاً به صورت یک درخت مرکل ذخیره می شوند و در هر بلوک بسته بندی می شوند. هر بلوک به مقدار هش هشدار بلوک قبلی اشاره می کند. به این ترتیب ، تمام بلوک ها به یک زنجیره طولانی متصل می شوند. زنجیره ای که توسط این بلوک تشکیل شده است ، blockchain نامیده می شود [15].

Ethereum یک ماشین مجازی غیر متمرکز با استفاده از فناوری blockchain است. قراردادهای هوشمند برنامه هایی هستند که به زبان bytecode turing- کامل نوشته شده اند که می توانند روی آن اجرا شوند [2]. قراردادهای هوشمند می توانند برنامه های مختلفی ایجاد کنند ، از برنامه های کیف پول ساده گرفته تا سیستم های مالی پیچیده در صنعت بانکی. حساب ها می توانند قراردادهای جدیدی را در شبکه اتریوم ایجاد کنند ، توابع قرارداد تماس بگیرند و کارکردهایی مانند انتقال اتر را پیاده سازی کنند. با این حال ، در عین حال ، آسیب پذیری های زیادی در قراردادهای هوشمند وجود خواهد داشت ، و این آسیب پذیری ها ممکن است نقص طراحی استحکام یا سهل انگاری در روند نوشتن باشد [9].

چن [10] مجموعه ای از چارچوب ها را طراحی کرده است که می توانید برنامه های مربوطه را برای شناسایی انواع مختلف حملات بنویسید. با استفاده از این چارچوب می تواند تعداد زیادی از مجموعه داده های حمله را بدست آورد [16]. این مقاله پس از تشخیص حمله RPC ، منبع مهاجم را ردیابی کرد. این ممکن است به دلیل روشهای مختلف حمله باشد. ارزش زیادی وجود ندارد. مرجع [17] منبع را از لایه شبکه ردیابی کرد. این روش برای blockchain مناسب نیست [18]. این مقاله به طور سیستماتیک قرارداد پونزی را تجزیه و تحلیل و بررسی می کند. ما همچنین هنگام شروع کار خود ، برخی از شاخص های او را قرض گرفتیم. در زیر نوع حمله به مجموعه داده هایی را که در آزمایش استفاده کردیم معرفی خواهیم کرد:

2. 1حمله مجدد

قراردادهای هوشمند Ethereum می توانند با کد سایر قراردادهای خارجی تماس بگیرند و از آن استفاده کنند. Cotracts معمولاً با اتر سروکار دارد ، بنابراین اتر به آدرس های مختلف کاربر خارجی ارسال می شود. عملکرد تماس با قرارداد خارجی یا ارسال اتر به آدرس ، قرارداد را ملزم به ارسال تماس خارجی می کند. این تماس های خارجی می تواند توسط یک مهاجم ربوده شود و از این طریق قرارداد را مجبور به اجرای کدهای بیشتر (یعنی از طریق عملکرد برگشتی) ، از جمله تماس با خود به قرارداد اصلی. بنابراین ، این قرارداد می تواند در هنگام اجرای کد قرارداد "مجدداً" انجام شود ، که کمی شبیه به یک تماس با عملکرد بازگشتی غیرمستقیم به زبان برنامه نویسی است [19]. در حادثه بدنام DAO ، هکرها از این حمله استفاده کردند که سرانجام به چنگال سخت اتریوم منجر شد [20]. این حمله ممکن است زمانی اتفاق بیفتد که قرارداد اتر را به آدرس ناشناخته ارسال کند. یک مهاجم می تواند با دقت یک قرارداد را در یک آدرس خارجی ایجاد کند که حاوی کد مخرب در عملکرد برگشتی است. بنابراین ، هنگامی که قرارداد اتر را به این آدرس ارسال می کند ، کد مخرب فعال می شود. معمولاً ، کد مخرب توابع مربوط به قراردادهای آسیب پذیر را اجرا می کند ، این عملیاتی است که توسعه دهندگان انتظار آن را ندارند. نام "بازگرداندن" از این واقعیت ناشی می شود که قرارداد مخرب خارجی عملکردی را در قرارداد حمله شده و اجرای کد "بازگرداندن" در هر نقطه از قرارداد حمله شده باز می گرداند. از آنجا که برنامه نویس قرارداد اصلی ممکن است پیش بینی نکرده باشد که قانون قرارداد قابل استفاده مجدد باشد ، این قرارداد رفتارهای غیرقابل پیش بینی را نشان می دهد [21].

2. 2حمله DDOS

حملات انکار سرویس برای از بین بردن دسترسی به شبکه یا منابع یک هدف خاص طراحی شده است. حمله انکار سرویس که توسط مهاجمان در چندین مکان به طور همزمان آغاز شده است ، یک حمله انکار سرویس توزیع شده نامیده می شود [22]. هنگامی که یک حمله انکار سرویس توزیع شده در blockchain رخ داد ، کل شبکه blockchain ممکن است با فلج روبرو شود. ارسال معاملات در اتریوم به مقدار مشخصی از گاز (هزینه معاملات) نیاز دارد. این مکانیسم می تواند در برابر حملات DOS تا حدی مقاومت کند. با این حال ، از آنجا که قیمت مصرف گاز Opcodeize Extcodesize Eterum بسیار پایین است ، مهاجم با موفقیت حمله DOS به اتریوم را آغاز کرده است. Opcode ExtCodesize برای خواندن اندازه کد قرارداد خردمند استفاده می شود. هنگامی که extcodesize خوانده می شود ، گره باید اطلاعات وضعیت دیسک را بخواند. از آنجا که Extcodesize فقط 20 گاز مصرف می کند ، یک مهاجم می تواند 50،000 عملیات کده شده را در یک معامله انجام دهد. این نوع حمله می تواند منابع محاسباتی زیادی و منابع شبکه شبکه blockchain را مصرف کند و منجر به احتقان یا حتی فلج شبکه blockchain شود. برخی از مهاجمان همچنین از Opcode خودکشی برای انجام حملات DOS استفاده کردند [23]. مهاجمان از عملیات خودکشی برای تولید 19 میلیون حساب خالی استفاده کردند. از آنجا که حساب های خالی باید در درخت دولتی ذخیره شوند ، تعداد زیادی از حساب های خالی منابع دیسک را هدر می دهند. در این حالت حمله ، سرعت همگام سازی گره و سرعت پردازش معاملات شبکه blockchain به میزان قابل توجهی کاهش یافته است. اقتدار بیش از حد صاحبان نشانه های قرارداد هوشمند نیز ممکن است منجر به انکار حملات خدمات شود. اگر صاحب قرارداد توکن در حال انجماد قرارداد باشد ، سایر کاربران در قرارداد قادر به انجام معاملات نخواهند بود: مونتاژ

2. 3حمله آدرس کوتاه

یک حمله آدرس کوتاه به این معنی است که مهاجم در پایان با ایجاد یک آدرس با صفر تماس با قرارداد برقرار می کند و عمداً صفر را در انتهای آدرس در پارامترهای تماس دور می کند ، از این طریق از مکانیسم تکمیل خودکار ماشین مجازی برای انجام داده ها استفاده می کندپارامتر دوم [3] - بزرگنمایی. حملات آدرس کوتاه معمولاً در صرافی ها رخ می دهد. فرض کنید کاربر یک عملیات انتقال را به یک قرارداد در مبادله آغاز می کند و از یک آدرس کوتاه ساخته شده به عنوان هدف استفاده می کند. اگر مبادله طول ورودی کاربر را تأیید نکند ، مبلغ انتقال واقعی به دلیل حفره آدرس کوتاه چندین بار بزرگ می شود ، که باعث می شود مقدار زیادی از دست دادن سرمایه ایجاد شود. ریشه آسیب پذیری آدرس کوتاه این است که وقتی دستگاه مجازی ورودی تماس قرارداد را می خواند ، در انتها به طور خودکار زمینه ها را با صفرها پر می کند ، که باعث ابهام داده ها و تغییر و گسترش پارامترها می شود.

CallDataload 32 بایت از داده های ورودی می خواند. اگر داده های ورودی 32 بیت کافی نباشد ، 0 بایت اضافه می کند. مهاجمان می توانند از این طرح برای انجام حملات آدرس کوتاه برای سرقت نشانه ها استفاده کنند [24].

2. 4قرارداد پونزی

طرح پونزی یک کلاهبرداری سنتی سرمایه گذاری است. ویژگی معمولی آن استفاده از وجوه ارائه شده توسط سرمایه گذاران جدید برای پرداخت به اصطلاح بازده برای سرمایه گذاران موجود است [25]. در قرارداد هوشمند اتریوم ، طرح پونزی ویژگی های جدیدی دارد. بارزترین این است که مبتنی بر ناشناس بودن blockchain است. محققان نمی توانند هویت واقعی آغازگر قرارداد را بدانند ، نمی توانند اطلاعات اعتباری خود را مرتبط کنند و فقط می توانند اطلاعات افشا شده در وب سایت رسمی اتریوم را تجزیه و تحلیل کنند. علاوه بر این ، کد آن عمومی ، تغییر ناپذیر و به طور خودکار اجرا می شود ، بنابراین سرمایه گذاران احساس اعتماد به آن خواهند داشت و آگاهی از پیشگیری را کاهش می دهند. به همین دلیل ، طرح های پونزی در قراردادهای هوشمند نیز بی وقفه در حال ظهور هستند. بسیاری از سرمایه گذاران به اشتباه در طرح پونزی سرمایه گذاری کرده اند زیرا آنها نمی توانند کد منبع قرارداد هوشمند را درک کنند و در نهایت متحمل خسارات سنگینی شدند [11]. علاوه بر این ، به دلیل ناشناس بودن blockchain و دشواری ردیابی ، وجوه جعلی اساساً غیرممکن است که با موفقیت بازیابی شوند و سرمایه گذاران فقط می توانند ضرر کنند. بسیاری از طرح های پونزی blockchain برای به دست آوردن سودهای عظیمی در معرض دید قرار گرفته اند. فقط بین سالهای 2013 و 2014 ، طرح پونزی بیت کوین 7 میلیون دلار مزایای غیرقانونی به دست آورد. بنابراین ، لازم است نظارت بر بازار blockchain تقویت شود. قرارداد پونزی قراردادی است که سرمایه گذاران اتر را از طریق منطق کد خود جعل می کند. به طور خاص چهار ویژگی زیر را رعایت کنید: 1. از قرارداد بخواهید که وجوه را به سرمایه گذاران اختصاص دهد ، یعنی کاربرانی که با انتقال به قرارداد به قرارداد می پیوندند. 2. لازم است فقط پول جمع آوری شده در قرارداد را از سرمایه گذاران بدست آورید. 3. به هر سرمایه گذار که می خواهد درآمد کسب کند ، نیاز داشته باشد ، مشروط بر اینکه سرمایه گذار جدید همچنان پول را به قرارداد بازگرداند. 4- با پیشرفت این طرح ، سرمایه گذاران از بین می روند [18].

وابستگی Timestamp [26] و مسدود کردن وابستگی زیاد: وابستگی Timestamp به این معنی است که قراردادهای هوشمند از زمان استفاده از بلوک های دقیق در کد خود برای تصمیم گیری مهم جریان کنترل استفاده می کنند و از این طریق آسیب پذیری های امنیتی را معرفی می کنند. Timestamp بلوک به زمانی اشاره دارد که بلوکی که معامله تماس فعلی قرارداد متعلق به آن است ، بسته بندی شده است. به نظر می رسد که زمان سنج بلوک یک شرط خاص دارد. با این حال ، می توان آن را توسط معدنچیان در طیف خاص از مقادیر دستکاری کرد. فرض کنید Timestamp دقیق به عنوان یک پارامتر تصمیم گیری اساسی در قرارداد استفاده می شود ، اگرچه برای مهاجمان معمولی مقاومت ناپذیر است. در این حالت ، مهاجم با هویت معدنچی می تواند به راحتی با ساختن یک جدول زمانی مخرب در محدوده ارزش ، آن را دور بزند. این دو موضوع وابستگی بدان معنی است که داوری های خاصی در قرارداد براساس این دو است و معدنچی می تواند شماره بلوک و زمان بندی را کنترل کند. بنابراین ، معدنچیان می توانند بر اجرای قراردادهای هوشمند تأثیر بگذارند [27]. در جدول 1 برخی از حملات به اتریوم ذکر شده است.

2. 5انگیزه

اگرچه تحقیقات زیادی در مورد قابلیت ردیابی blockchains وجود دارد [28] ، تعداد کمی از افراد قابلیت ردیابی حملات به blockchain را مطالعه می کنند. دلیل این امر این است که ، در اتریوم ، هنگامی که یک حمله تشخیص داده می شود ، حساب Ethereum ناشناس است ، و مهاجم ممکن است دیگر "قراردادهای هوشمند واسطه یا کاربران واسطه" را برای حمله کنترل یا استفاده کند. بنابراین ، حتی اگر یک تهدید حمله در blockchain تشخیص داده شود ، نمی توان آن را به مهاجم ردیابی کرد. بنابراین ، نیاز فوری به مطالعه فناوری ردیابی معقول برای ردیابی مؤثر ، سریع و دقیق منبع مهاجم و تحقق آمار و قابلیت ردیابی ضررهای دارایی در blockchain وجود دارد.

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

3. روش شناسی

در این مقاله ، روش ما از سه مرحله تشکیل شده است که در بخش های زیر شرح داده شده است. مرحله اول جمع آوری داده ها ، جمع آوری تمام داده های حمله ، از جمله حملات مجدد ، DDOS ، حملات آدرس کوتاه و قراردادهای پونزی که در این مقاله ذکر شده است. این چهار تأثیر قابل توجهی در اکوسیستم اتریوم دارند و تأثیر گسترده ای دارند [29].

همانطور که در شکل 1 نشان داده شده است ، در مرحله دوم ، از چارچوب [10] برای جمع آوری داده های معامله کامل ، از جمله معاملات داخلی و معاملات خارجی استفاده می شود و سپس بر اساس مجموعه داده های حمله مرحله اول ، نمودارهای مختلف روابط را ایجاد می کند زیرا متفاوت است. انواع حمله طبیعت بسیار متفاوتی دارند. به عنوان مثال ، حملات DDOS سود حاصل از حمله را شامل نمی شود ، بنابراین ما نیازی به توجه بیش از حد به جریان پول نداریم. ما فقط برای انجام تجزیه و تحلیل همبستگی باید یک نمودار رابطه تماس ایجاد کنیم [30].

در مرحله سوم ، بر اساس تجزیه و تحلیل همبستگی داده های آماری این نمودارها ، می توانیم گروهی را که از نزدیک با مهاجم مرتبط است ، بدست آوریم. گروه مهاجم را تجزیه و تحلیل کنید: چند مهاجم همراه وجود دارد؟پس از به دست آوردن این داده ها ، ما از Etherscan برای بررسی فعالیت فعلی آن استفاده می کنیم ، با تمرکز بر میزان اتر که توسط این حساب ها و فعالیت معاملات اخیر برگزار می شود.

علاوه بر تمام کارهایی که در بالا ذکر شد ، ما هنوز در تلاش هستیم تا آدرس های IP این مهاجمان را ردیابی کنیم [31]. روش خاص مراجعه به [16] است. در این مقاله از یک روش Honeypot برای جمع آوری تعداد زیادی از تماس های حمله ارسال شده توسط مهاجم استفاده شده است. پارامترهای این درخواست شامل آدرس حساب مهاجم بود. سپس ما یک تجزیه و تحلیل همبستگی بین آدرس های حساب این مهاجمان و نمودار رابطه ای که هنگام تجزیه و تحلیل مهاجمان قرارداد برقرار کردیم ، انجام دادیم. مبنای این امر این است که مهاجم همچنین ممکن است هنگام انجام حملات قرارداد ، حملات تماس RPC را انجام دهد. ممکن است گفته شود که آدرس های حساب استفاده شده توسط مهاجمان از هر دو طرف همان آدرس است. بنابراین ، می توان آن را از طریق تجزیه و تحلیل همبستگی به آدرس IP حساب یافت [32 ، 33].

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

4. جمع آوری داده ها

اولین چیزی که باید جمع آوری شود ، رفتار توهین آمیز است. بسیاری از مقالات موجود مجموعه کاملی از معاملات توهین آمیز ندارند. بیشتر مقالات برای تشخیص آسیب پذیری های قرارداد استفاده می شود. چارچوب پیشنهادی در [10] نه تنها می تواند برای تشخیص قراردادها با آسیب پذیری استفاده شود بلکه معاملات را نیز تشخیص می دهد که از آسیب پذیری های قرارداد بهره می برند. در مجموع هشت نوع تشخیص معاملات آسیب پذیری ارائه شده است ، از جمله مجدد ، دعوت عملکرد غیر منتظره ، داده های ورودی نامعتبر ، بررسی نادرست برای مجوز ، عدم چک پس از درخواست قرارداد ، از دست دادن رویداد انتقال ، بررسی دقیق برای تعادل ، وابستگی زمان بندی و تعداد بلوکوابستگیما نوع آسیب پذیری را انتخاب کردیم که تأثیر قابل توجهی و گسترده ای بر اتریوم دارد ، یعنی حملات مجدد. در مجموع 3291 معاملات دریافت شد که برای آنها حملات مراجعه مجدد تشخیص داده شد. ثانیا ، داده های ورودی نامعتبر وجود دارد ، که یک حمله آدرس کوتاه است.

سپس قرارداد پونزی وجود دارد. تأثیر قرارداد پونزی نسبتاً طولانی مدت و دور از دسترس است. تشخیص قرارداد پونزی عمدتا از قرارداد پونزی است که در [18] ذکر شده است. در مجموع 140 قرارداد پونزی وجود دارد. حملات DDOS عمدتاً قراردادهایی برای حملات DDOS است که قبل از 2. 3 میلیون و 2. 8 میلیون نفر وجود داشته است.

پس از دریافت این حملات ، ما هنوز به اطلاعات معامله در مورد این حملات ، از جمله خالق قرارداد ، تماس گیرنده قرارداد و اطلاعات معاملات داخلی در معامله تکمیل شده نیاز داریم [34]. این اطلاعات با استفاده از چارچوب ذکر شده در [10] برای به دست آوردن اطلاعات کامل معامله بدست می آید. از آنجا که این چارچوب می تواند افزونه های مرتبط را بر اساس آن بنویسد ، ما به طور خاص این کار را با فراخوانی رابط ارائه شده توسط چارچوب موجود در افزونه انجام خواهیم داد. اطلاعاتی که رابط کاربری می تواند ارائه دهد ، هر Opcode پس از شروع معامله اجرا می شود و سپس هر Opcode مختلف می تواند اطلاعات مربوطه را بدست آورد. نشانه شروع معامله خارجی "ExtealInfostart" است ، و سپس شماره بلوک ، هش معامله ، هر دو طرف معامله و میزان معامله را می توان در رابط بدست آورد و در یک ساختار ذخیره کرد. هنگامی که با "ExtealInfoEnd" روبرو می شود ، معامله خارجی به پایان می رسد. اطلاعاتی که در این زمان می توان به دست آورد این است که آیا معامله موفقیت آمیز است و تمام گاز صرف شده توسط مبادله ، و سپس تمام داده ها نوشته شده است [35]. سپس علائم شروع معاملات داخلی عمدتاً "CallStart" ، "Createstart" ، "Create2Start" ، "CallCodessTart" ، "DelegateCallstart" ، "staticcallstart" و سپس جمع آوری مبلغ معامله هر دو طرف در این دوره است. هنگام مواجهه با "Callend" ، "ایجاد" ، "Create2end" ، "CallCodesend" ، "DelegateCallend" ، "StaticCallend" ، پایان معامله است و سپس تمام نتایج جمع آوری شده را در محلی ذخیره می کند [36].

علاوه بر جمع آوری داده های معامله کامل از این طریق ، می توانیم داده های کاملی را در یک معامله و کلیه معاملات داخلی از طریق وب سایت Ethereum Data Etherscan بدست آوریم [37]. با این وجود ، هنگام استفاده از اترسان مشکلی ایجاد خواهد شد زیرا اتریکان هنگام طراحی API مسئله پهنای باند را در نظر می گیرد ، بنابراین اگر حجم معامله قرارداد بیش از 10،000 باشد ، لیست معاملات برگشتی تمام معاملات را بر نمی گرداند [38]. این منجر به مشکلی می شود که داده ها ناقص است.

اگر از Web3 برای اتصال به GETH استفاده کنیم ، می توانیم لیست کاملی از معاملات را بدست آوریم ، اما نمی توانیم معاملات داخلی هر معامله را دریافت کنیم [39]. به عنوان مثال ، در یک حمله مجدد ، بسیاری از نقل و انتقالات در معاملات داخلی انجام می شود. بنابراین ، معاملات از این طریق قابل دستیابی نیست.

علاوه بر این ، ما می توانیم داده های مربوطه را از طریق BigQuery Google بدست آوریم [40]. BigQuery مقدار زیادی از داده های کامل (مانند بلوک ها ، نشانه ها ، قراردادها ، معاملات و غیره) دارد که می تواند برای به دست آوردن کلیه آدرس های قرارداد در اتریوم (از جمله منبع باز و آدرس منبع بسته) استفاده شود. با این حال ، برای معاملات ، فقط می توان اطلاعات کلی در مورد معامله را بدست آورد و لیست کاملی از معاملات را نمی توان بدست آورد.

در فرآیند ساخت نمودار روابط مهاجم ، وجود بازار تجارت تأثیر قابل توجهی خواهد داشت ، بنابراین در فرآیند ساخت نمودار ، لازم است بازار تجارت در نمودار حذف شود. ما بازارهای معاملاتی را جمع آوری می کنیم ، عمدتاً از طریق لیست بازارهای تجاری ارائه شده در وب سایت [41]. سپس نام بازار تجارت را در اترسان جستجو کنید تا آدرس هش خود را بدست آورید.

5. ساخت نمودار

این قسمت عمدتاً به روشی که برای تجزیه و تحلیل اتریوم در [30 ، 42] استفاده می شود ، اشاره دارد. در ساخت سه نمودار رابطه CCG ، MFG و CIG ذکر شده است. این می تواند موضوعات مهم امنیتی ، از جمله پزشکی قانونی حمله ، تشخیص ناهنجاری و نامگذاری شدن را مورد تجزیه و تحلیل قرار دهد. در این مقاله ، شباهت هایی با [30] در پزشکی قانونی حمله وجود دارد. با این حال ، مقاله [30] به طور خاص تجزیه و تحلیل قابلیت ردیابی زیادی را انجام نداد. بسیاری از شرایط پیچیده در حملات واقعی وجود دارد ، و پشتی ساده نمی تواند داده های ردیابی کامل را بدست آورد. علاوه بر این ، در طی مراحل معاملاتی یک بازار معاملاتی وجود خواهد داشت که به طور قابل توجهی بر صحت نتیجه نهایی تأثیر خواهد گذاشت.

همانطور که در شکل 2 نشان داده شده است ، گره هایی با رنگ های مختلف به معنای انواع مختلف گروه های مهاجم هستند. این گروه ها از نزدیک با هم ارتباط دارند. این مقاله روشهای مختلفی را برای ردیابی منبع انواع مختلف حملات بر اساس آن ارائه می دهد. در این مقاله ، مهمترین انواع حملات به چهار دسته تقسیم می شوند. دسته اول قرارداد با ماهیت حمله است. این گروه عمدتاً به مهاجمی است که قرارداد ایجاد شده توسط خود را برای دستیابی به هدف این حمله ، مانند قرارداد حمله DDOS فراخوانده است.

تجارت با گزینه‌‌های باینری...
ما را در سایت تجارت با گزینه‌‌های باینری دنبال می کنید

برچسب : نویسنده : نازنین فراهانی بازدید : 43 تاريخ : سه شنبه 16 خرداد 1402 ساعت: 16:02