حمله خسوف (eclipse attack) چیست؟

حمله خسوف (eclipse attack) چیست؟

1. حمله خسوف (eclipse attack) در بلاکچین چیست؟
در حمله خسوف، یک بازیگر مخرب یک کاربر یا نود خاص را در یک شبکه همتا به همتا (P2P) جدا می کند.

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

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

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


چگونه روی ارز های دیجیتال سرمایه گذاری کنیم؟؟


حملات خسوف به طور جامع در مقاله منتشر شده در سال 2015 که توسط محققان دانشگاه بوستون و دانشگاه عبری با عنوان «حملات خسوف به شبکه همتا به همتای بیت کوین» نوشته شده است، مورد بررسی قرار گرفت. در مقاله مذکور، نویسندگان یافته های خود درباره حملات خسوف و همچنین اقدامات متقابل احتمالی را مورد بحث قرار دادند.

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

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

میزان سهولت اجرای حملات بلاکچین به ساختار زیربنایی شبکه بلاکچین هدف بستگی دارد.

2. نحوه عملکرد حمله خسوف چگونه است؟
مهاجمان معمولاً از یک بات نت یا شبکه فانتوم برای تضعیف یک نود و جدا کردن آن استفاده می کنند.

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

از این رو، یک بازیگر مخرب در راستای آسیب رساندن به اتصال کاربر هدف با مجموعه محدودی از نودهایی که به آن متصل می شود، فعالیت می کند. مهاجم از یک شبکه فانتوم یا بات نت برای تضعیف یک نود استفاده می کند. این شبکه از نودهای میزبان تشکیل می شود و برای سرشار کردن نود هدف با آدرس های پروتکل اینترنت (IP) استفاده می شود. پس از اتصال مجدد به شبکه بلاکچین، هدف ممکن است با آن همگام شود.

سپس مهاجم منتظر خواهد ماند تا هدف دوباره به نودهای مخرب متصل شود یا از حمله منع سرویس توزیع شده (DDoS) استفاده می کند تا هدف مجبور شود دوباره به شبکه متصل شود.

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

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

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

. حملات دو بار خرج کردن (Double-spend): قربانی که از شبکه قانونی خود جدا شده است، ممکن است توسط مهاجم به مسیر اشتباه هدایت شود تا تراکنشی را بپذیرد که از یکی از دو مورد زیر استفاده می کند:

یک ورودی نامعتبر
یک ورودی، مشابه ورودی تراکنشی که قبلاً در شبکه قانونی تأیید شده است
3. عواقب حمله خسوف (eclipse attack) چیست؟
هنگامی که یک مهاجم یک کاربر شبکه را هدف قرار می دهد، معمولاً انگیزه عمیق تری برای انجام این کار وجود دارد. به طور معمول، حملات خسوف می تواند به عنوان دروازه ای برای حملات و اختلالات پیچیده تر عمل کند.

دو بار خرج کردن بدون تأیید

اگر یک کاربر تراکنشی را بدون تأیید بپذیرد، در معرض خطر دوبار خرج کردن قرار می گیرد. در اصل، اگرچه تراکنش قبلاً انجام شده است، اما فرستنده همچنان می تواند تراکنش جدیدی ایجاد کند و وجوه را در جای دیگری خرج کند. تا زمانی که یک تراکنش در یک بلاک قرار داده می شود و به بلاکچین انتقال می یابد، خطر دو بار خرج کردن می تواند رخ دهد.

تراکنش های جدیدی که کارمزد بالاتری دارند نیز می توانند قبل از تراکنش های اصلی قرار داده شوند تا تراکنش های قبلی را باطل کنند. آنچه در این مورد خطرناک است این است که برخی از افراد و کسب و کارها تراکنش های بدون تأیید را می پذیرند.

دو بار خرج کردن چند بار تأیید

دو بار خرج کردن چند بار تأیید مشابه تراکنش های بدون تأیید است. با این حال، آنها به آماده سازی پیچیده تری نیاز دارند. از آنجایی که بسیاری از کسب و کارها ترجیح می دهند از علامت گذاری پرداخت به عنوان پرداخت معتبر در انتظار تعداد معینی تأیید خودداری کنند، می توانند در برابر حملات آسیب پذیر باشند.

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

سپس مهاجم این نسخه بلاکچین را به مرچنت منتقل می کند، و مرچنت با این باور که تراکنش پیش تر تأیید شده است، کالا و/یا خدمات را ارائه می کند.

تضعیف ماینرهای رقیب

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

حملات خسوف در مقیاس بزرگ که بر روی ماینرهای اصلی اجرا می شوند معمولاً برای انجام یک حمله 51 درصدی استفاده می شوند. با این حال، به دلیل هزینه فوق العاده بالا برای به دست آوردن بخش عمده قدرت هش بیت کوین، شانس این امر هنوز بسیار کم است. در حدود  80 TH/s، یک مهاجم از نظر تئوری به بیش از 40 TH/s نیاز دارد تا در چنین تلاشی موفق شود.

4. چگونه حملات خسوف (eclipse attacks) را کاهش دهیم
از نظر تئوری، یک مهاجم می تواند هر نودی را تا زمانی که آدرس های IP کافی داشته باشد، تحت حمله قرار دهد.

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

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

5. تفاوت بین حمله خسوف و حمله سیبیل
هر دو حمله در سطح شبکه P2P انجام می شود. پس تفاوت آنها چیست؟

در یک حمله خسوف، بیشتر همتایان یک کاربر هدف، مخرب هستند و بنابراین مانع از اتصال کاربر هدف به یک شبکه قانونی می شوند. حمله خسوف به ویژه در مواردی مفید است که فرستنده مقداری بیت کوین (BTC) را برای شخصی ارسال می کند و سپس این بیت کوین را دو بار خرج می کند.

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

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

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

6. توسعه دهندگان بلاکچین از حملات خسوف (eclipse attack) چه چیزی می توانند یاد بگیرند؟
توسعه دهندگان می توانند با آسیب پذیری های نودهای بیت کوین که می توان از آنها برای جایگزینی آدرس های همتای قانونی با آدرس های دیگر سوء استفاده نمود، آشنا شوند.

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

هنگامی که یک سطل آدرس پر است، یک آدرس به طور تصادفی حذف می شود. اگر IP مهاجم همان IP حذف شده باشد، در صورت ارسال مکرر به نود، در نهایت ممکن است درج شود.

همانطور که می بینید، مهاجمان می توانند از آسیب پذیری های فوق الذکر سوءاستفاده کنند. با این حال، روش هایی نیز برای جلوگیری از آنها وجود دارد:

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

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

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