توضیحاتی پیرامون Eclipse Attack ؛ حمله ای رایج در دنیای ارزهای دیجیتال

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

Eclipse Attack در نگاهی سطحی مانند حملات سیبیل (Sybil Attacks) به نظر می رسد اما این دو حمله تفاوت هایی اساسی با هم دارند. Eclipse Attack یک کد مجزا را نشانه می گیرد، در حالی که حملات سیبیل در سراسر شبکه روی می دهند و هدف آنها بی اعتبار کردن پروتکل (protocol) می باشد.

Eclipse Attack چگونه کار می کند؟ 

حمله ای کلیپس

ماینر ها (miner) برای استخراج بیت کوین (bitcoin) نیازمند تجهیزات خاصی می باشند اما راه اندازی نود کامل (full node) با استفاده از دستگاه هایی با مشخصات پایین هم امکان پذیر است و این به عدم تمرکز بیت کوین کمک شایانی می کند. این نرم افزار، پایگاه داده تراکنش ها را حفظ می کند و بنابراین همیشه همگام با شبکه باقی می ماند.

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

در Eclipse Attack، عامل بدکار مطمئن می شود که اتصال های هدف با نود های تحت کنترل او برقرار شده است و سپس هدف را با آدرس های آی پی (IP) خود احاطه می کند. به این ترتیب، قربانی احتمالا به محض شروع مجدد نرم افزار خود متصل می شود که این شروع مجدد گاهی اجباری است (مثلا با حمله DDoS به هدف) و گاهی نیز مهاجم منتظر می ماند تا این شروع مجدد صورت گیرد.

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

پیامد های Eclipse Attack

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

خرج کردن دوباره و تایید نشدن 

دوبار خرج کردن

 

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

بعضی از کسب و کار ها و افراد، این تراکنش های تایید نشده را می پذیرند که این بسیار خطرناک می باشد. فرض کنید باب (Bob) فروشنده وسائل نقلیه مدرن می باشد. او نمی داند که آلیس (Alice) به نود او حمله کرده است. آلیس تراکنشی را ایجاد می کند و می خواهد یک ماشین مجلل را از باب بخرد. باب با این تصور که تراکنش در حال تایید است، ماشین را به آلیس تحویل می دهد و آلیس هم بعد از دریافت ماشین، فرار را بر قرار ترجیح می دهد.

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

خرج کردن دوباره علیرغم تایید

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

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

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

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

Eclipse Attack در مقیاس وسیع که ماینر های اصلی را نشانه بگیرد، کار را برای حمله ۵۱ درصد تسهیل می کند. همان طور که می دانید، انجام چنین حمله ای در مورد بیت کوین بسیار گران تمام می شود و فرد مهاجم باید قدرت هش (hashing power) بسیار بالایی در اختیار داشته باشد.

فرض کنید که بیشتر این قدرت هش در اختیار ۱۰ طرف برجسته باشد، در این حالت، Eclipse Attack به این طرف ها و در اختیار گرفتن آنها، کار را بسیار تسهیل می کند. فرد مهاجم فرضا اگر ۵ طرف را با موفقیت مورد حمله قرار دهد، برای تصاحب کل شبکه و حمله ۵۱ درصد، کار آسان تری خواهد داشت.

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

پیشگیری

یک مهاجم با آدرس های آی پی زیاد می تواند هر نودی را تحت Eclipse Attack قرار دهد. کاری که در اینجا اپراتور (operator) می تواند برای جلوگیری انجام دهد، این است که همه اتصال های ورودی را مسدود کند و تنها اتصال خارجی با نود هایی خاص برقرار کند. البته این روش در مقیاس انبوه موثر واقع نمی شود و اگر همه مشارکت کنندگان چنین اقداماتی انجام دهند، نود های جدید قادر نخواهند بود که به شبکه ملحق شوند.

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

کلام پایانی

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


54321
امتیاز 4 از 4 رای

منبع binance.vision
ممکن است شما دوست داشته باشید

ارسال نظر

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

جالب و مفید بود
ممنون