یکی از ویژگیهای مهم فناوری بلاک چین موضوع امنیت آن است؛ اما نباید فراموش کرد که همراه با پیشرفت فناوری، هکرها و بازیگرهای مخرب هم به ابزارهای جدیدی مجهز میشوند و توانمندیهای بیشتری بهدست میآورند. هکرها درصدد هستند تا با روشهای مختلف سد دفاعی شبکههای بلاک چینی را بشکنند و با نفوذ به آنها و سرقت دادههای ارزشمند کاربران، سود سرشاری نصیب خود کنند.
تاکنون، حملههای گوناگونی به شبکههای بلاک چینی گزارش شده که یکی از آنها حمله خسوف است. حمله خسوف جزو حملههایی است که در دنیای ارزهای دیجیتال اتفاق میافتد. در این حمله، مهاجم محیطی مصنوعی در اطراف نود (Node) ایجاد میکند و با پرکردن این محیط با دادههای نادرست، امکان انجام اقدامات مخرب و تأیید تراکنش غیرقانونی را بهدست میآورد. اگر شما هم دوست دارید اطلاعات بیشتری درباره این نوع از حملهها بهدست بیاورید، تا انتهای این مقاله ما را همراهی کنید.
حمله خسوف (Eclipse Attack) چیست؟
در حمله خسوف، بازیگر مخرب کاربر یا نود خاصی را در شبکهای همتابههمتا بهاصطلاح ایزوله میکند. هدف مهاجم آن است که شبکه را از دید کاربر پنهان کند تا برای انجام اقدامات بعدی یا ایجاد اختلال عمومی آماده شود. حمله خسوف شباهتهایی با حمله با نام سیبل (Sybil) دارند؛ اما اهداف نهایی آنها متفاوت است. درادامه، این نوع از حملهها و تفاوتهای آن با حمله خسوف را بیان خواهیم کرد.
محققان دانشگاه بوستون (Boston) و عبری (Hebrew) حملهها خسوف را بهطورجامع در مقالهای با عنوان «حملههای خسوف در شبکه همتابههمتای بیت کوین» بررسی کردند. در این مقاله که سال ۲۰۱۵ منتشر شد، نویسندگان یافتههای خود را درباره راهاندازی حملههای خسوف و اقدامات متقابل احتمالی ارائه کردند. آنان به این نتیجه رسیدند که در حمله خسوف، مهاجم سعی میکند ارتباطهای ورودیوخروجی کاربر را از نودهای قانونی پیرامونش بهسمت نودهای تحتکنترل خود تغییر مسیر دهد. با انجام این کار، نود هدفقرارگرفته از دید شبکه پنهان میشود.
ازآنجاکه ارتباط نود هدفقرارگرفته با دفترکل بلاک چین قطع شده است، مهاجم میتواند نود ایزولهشده را دستکاری کند. حمله خسوف میتواند به ایجاد اختلال در استخراج بلاک و تأیید تراکنش غیرقانونی منجر شود. ازآنجاکه حملات خسوف براساس بهرهبرداری از نودهایی هستند که در همسایگی نود هدف قرار دارند، اجرای چنین حملاتی به سهولت و آسیبپذیری زیرساخت شبکه بلاک چین بستگی دارد. درحالیکه معماری غیرمتمرکز بیشتر پروتکلهای ارز دیجیتال حمله به آنها را درمقایسهبا دیگر انواع حملات آنلاین نسبتاً دشوار و غیرممکن میکند، حملات خسوف همچنان تهدیدی بالقوه برای امنیت این شبکهها محسوب میشوند. بنابراین، درک چگونگی عملکرد این حملهها و یافتن راههای جلوگیری از بروز چنین حملههایی موضوعی مهم و ارزشمند محسوب میشود.
حملههای خسوف چگونه روی میدهند؟
بهطورکلی، انجام حملات خسوف در شبکه ارزهای دیجیتال امکانپذیر هستند؛ چراکه نودها در شبکه غیرمتمرکز بهدلیل محدودیتهای پهنای باند نمیتوانند همزمان به نودهای دیگر متصل شوند و درعوض، تنها با تعداد محدودی از نودهای همسایه خود در ارتباط هستند. درنتیجه، بازیگر مخرب مانند آنچه در حمله سیبل اتفاق میافتد، بهجای حمله به کل شبکه، فقط ارتباط نود مدنظر با تعداد نودهای پیرامونش را تار و مخدوش میکند.
برای پنهانکردن نود، مهاجم معمولاً از باتنت (Botnet) یا شبکهای پوششی یا بهاصطلاح شبحگونه (Phantom) استفاده میکند که درظاهر از نودهای میزبان ساخته شده است. هدف این است که به اطراف نود با انبوهی از آیپی آدرسها (IP Address) حمله شود تا نود هدفگرفتهشده سرانجام با این آدرسهای مخرب همگام و به آنها متصل شود. درنهایت، مهاجم منتظر خواهد ماند تا زمانی که نود مدنظر دوباره با موفقیت به نودهای مخرب متصل شود. اگر مهاجم نتواند به هدفش برسد، از حمله منع سرویس توزیعشده یا دیداس (DDoS) برای مجبورکردن به راهاندازی مجدد و درنهایت اتصال نود استفاده میکند.
بیشتر بخوانید: حمله دیداس (DDoS) چیست؟ روشها و راههای مقابله
این احتمال همواره وجود دارد که مهاجم پیش از آنکه نود مدنظرش را دراختیار بگیرد، حملههای متعددی را انجام دهد. هنگامی که قربانی به نودهای تحتکنترل مهاجم متصل میشود، مهاجم میتواند دادههای مدنظرش را به آن انتقال دهد. این در حالی است که نود هدفگرفتهشده تصور میکند به شبکه اصلی متصل است و از آنچه در پشتصحنه در حال انجام بوده، بهکلی بیخبر است.
حمله سیبل (Sybil) چیست؟
دراینمیان، حمله دیگری با نام سیبل وجود دارد که شباهتهایی با حمله خسوف دارد. در حمله سیبل، عامل مخرب ازطریق ایجاد چند هویت جعلی (Fake Identities) در تلاش برای دستکاری شبکهای همتابههمتاست. برای ناظر این هویتهای مختلف شبیه به کاربران عادی بهنظر میرسد؛ اما در پشتصحنه، یک مجموعه کنترل تمامی این هویتهای جعلی را دراختیار دارد. باید به این موضوع توجه کرد که این نوع از حملهها، بهویژه در زمینههایی مانند رأیگیریهای آنلاین از اهمیت ویژهای برخوردارند. شبکههای اجتماعی نیز ازجمله بخشهایی هستند که در آنها شاهد حملههای سیبل هستیم و حسابهای جعلی میتوانند بحث و گفتوگوی عمومی را تحتتأثیر قرار دهند.
در حالت خاصی که تعدادی از نودهای سیبل یا مخرب نودی را احاطه میکنند و مانع از ارتباط آن با سایر نودهای سالم در شبکه میشوند، درحقیقت حمله خسوف اتفاق میافتد. یکی از راههای مهم برای کاهش حملات سیبل، افزایش هزینه برای ساخت و ایجاد هویت است.
این هزینه باید بهدقت تنظیم و متوازن شود و بهگونهای باشد که مشارکتکنندگان جدید برای پیوستن به شبکه و ایجاد هویتهای قانونی، دچار محدودیت نشوند. درعینحال، این هزینه باید بهاندازهای باشد تا امکان ایجاد تعداد زیادی هویت در دوره زمانی کوتاه بسیار هزینهبر و بهنوعی ناممکن شود.
در بلاکچینهای مبتنیبر اثبات کار (Proof of Work)، نودهایی که درباره تراکنشها تصمیم میگیرند، نودهای استخراج (Miner Nodes) هستند. در این شرایط، بهمنظور ساخت هویت جعلی به صرف هزینههای زیادی برای خرید سختافزارهای استخراج و هزینههای مصرف برق نیاز است؛ موضوعی که کار را برای مهاجمان و هکرها سختتر میکند. علاوهبراین، داشتن تعداد زیادی نود استخراج برای تأثیرگذاری درخورتوجه بر شبکه بهتنهایی کافی نیست و قدرت محاسباتی زیادی نیز احتیاج است؛ بنابراین، تمامی این هزینهها انجام حمله سیبل به شبکههای بلاکچینهای مبتنیبر اثبات کار را دشوار میکند.
تفاوت میان حملههای خسوف و حملههای سیبل چیست؟
حملههای خسوف و سیبل در سطح شبکههای همتابههمتا اتفاق میافتند؛ اما تفاوتهایی بین آنها وجود دارد. در حمله خسوف، بیشتر همتایان کاربر مدنظر مخرب هستند و درحقیقت این همتایان از ارتباط کاربر با شبکه اصلی جلوگیری میکنند. حمله خسوف در مواقعی کاربرد دارد که مهاجم نخواهد کاربر هدفش از دوبار خرجکردن (Double-Spending) بیت کوین یا ارز دیجیتالی که ارسال کرده، آگاه شود. برای مثال، فردی مقداری بیت کوین برای فردی دیگر میفرستد و سپس با انجام حمله خسوف، مانع از آن میشود که کاربر مدنظرش درباره دوبار خرجکردن بیتکوینهای فرستادهشده آگاه شود.
در حمله سیبل، بازیگر مخرب یا مهاجم تلاش میکند شبکه را با نودهای تحتکنترل خود بهاصطلاح اسپم کند تا بتواند با قدرت و اعتبار شبکه بازی کند. بهطورخلاصه، میتوان گفت که حمله خسوف یک کاربر یا یک بخش را هدف قرار میدهد؛ درحالیکه حمله سیبل بهنوعی کل شبکه را هدف قرار میدهد. در بیت کوین، حملات سیبل خسارت کمتری بهبار میآورند؛ زیرا نودها براساس قوانین اجماع عمل میکنند؛ بنابراین، هرگونه انحرافی به منع سرویس آن نود منجر میشود.
حملههای خسوف چه پیامدهایی دارند؟
اگر مهاجمی منابع خود را صرف جداکردن نود از شبکه میکند، یقیناً انگیزهای از انجام این کار دارد. خوشبختانه تعداد معدودی از حملات متوالی وجود دارند که پس از کورکردن نود، میتوان آنها را بهآسانی راهاندازی کرد. درادامه، به برخی از پیامدهای حملات خسوف به شبکههای بلاک چینی اشاره میکنیم.
تراکنش تأییدنشده و دوبار خرجکردن
اگر فردی تراکنشی را بدون تأیید بپذیرد، آن تراکنش درمعرض خطر دوبار خرجکردن قرار دارد. تراکنش ممکن است منتشر شود؛ اما تا زمانی که در بلاک قرار نگیرد و در بلاک چین ثبت نشود، فرستنده میتواند بهراحتی تراکنش جدیدی ایجاد کند و همان مقدار را در جای دیگری خرج کند. اگر تراکنش جدید کارمزد بیشتری داشته باشد، ماینر احتمالاً آن را قبل از تراکنش اصلی قرار میدهد و تراکنش قبلی را نامعتبر میکند.
برخی از کسبوکارها و افراد این تراکنشهای تأییدنشده را میپذیرند. بهعنوان مثال، فروشندهای به نام باب (Bob) را در نظر بگیرید که شغلش فروش وسایل نقلیه گرانقیمت است. او خبر ندارد که آلیس به نود او حمله خسوف کرده و اختیار آن را در دست دارد؛ بنابراین، به چیزی مشکوک نیست. درمقابل، آلیس خودرویی اسپرت و لوکس سفارش میدهد. آلیس تراکنشی ایجاد و باب آن را در شبکه پخش میکند. باب خوشحال از اینکه بهزودی پول زیادی بهدست میآورد، کلید خودرو را به آلیس تحویل میدهد و آلیس نیز بهسرعت از صحنه میگریزد.
برخلاف تصور باب که فکر میکند تراکنش آلیس در شبکه پخش شده است، درحقیقت چنین اتفاقی رخ نداده و تراکنشی در شبکه پخش نشده و باب صرفاً تراکنش را به نودهایی ارسال کرده است که تا پیشازاین بهواسطه حمله خسوف دراختیار آلیس قرار گرفته بودند. درحالیکه وضعیت تراکنش در هالهای از ابهام قرار دارد، آلیس همان مقدار پول را در شبکه واقعی برای فرد دیگری یا به آدرسی متعلق به خودش هدایت میکند. حتی اگر تراکنش اولیه باب هم درنهایت مشاهده شود، بهدلیل اینکه کوینها قبلاً خرج شدهاند، این تراکنش پذیرفته نمیشود.
دوبار خرجکردن با چند تأیید
دوبار خرجکردن با چند تأیید شبیه به تراکنش تأییدنشده است، با این تفاوت که مهاجم باید آمادهسازی بیشتری انجام دهد. بسیاری از کسبوکارها ترجیح میدهند که پیش از معتبر دانستن پرداخت، منتظر بمانند تا تراکنش تعداد مشخصی تأیید دریافت کند. برای انجام این کار، مهاجم باید ماینرها و فروشنده را همزمان هدف قرار دهد. هنگامی که مهاجم سفارش را ازطریق فروشنده ایجاد کرد، آنها تراکنش را برای ماینرهای هدفقرارگرفته ارسال میکنند. تراکنش تأیید میشود و در بلاک چین قرار میگیرد؛ اما این بلاک چین درواقع زنجیرهای نیست که اکثر شبکه آن را میبیند و تأیید کرده باشد؛ چراکه ماینرها بهدلیل حملهای که به آنها شده، ارتباطشان را با شبکه اصلی از دست دادهاند.
مهاجم این نسخه جعلی از بلاک چین را به فروشنده ارسال میکند و فروشنده با این تصور که تراکنش تأیید شده است، کالاها را میفرستد. هنگامی که نودهای هدفقرارگرفته باردیگر به شبکه واقعی متصل میشوند، سایر نودهای شبکه زنجیرهای از بلاکها که بهاشتباه تصور میکردند معتبر است یا درحقیقت همان نسخه جعلی بلاک چین را کنار میگذارند یا بهاصطلاح یتیم (Orphan) میکنند. این رویداد را میتوان تا حد زیادی مشابه حملات ۵۱درصد دانست.
تضعیف ماینرهای رقابتکننده
نودی که هدف حمله خسوف قرار گرفته است، به کار خود ادامه میدهد، غافل از اینکه از شبکه جدا شده است. ماینرها به استخراج بلاکها در چهارچوب قوانین مشخصشده پروتکل ادامه میدهند؛ اما بلاکهای اضافهشده پس از همگامسازی با نودهای سالم کنار گذاشته میشوند.
ازنظر تئوری، حمله خسوف به ماینرهای بزرگ در مقیاس گسترده میتواند فرایند حمله ۵۱درصد را تسهیل کند. درحالحاضر، هزینه دراختیارگرفتن اکثر قدرت هش شبکه بیت کوین، حتی برای زیرکترین مهاجمان هم بسیار زیاد و چیزی درحدود ۸۰ تراهشبرثانیه برآورد میشود و برای شروع چنین عملیاتی به بیش از ۴۰ تراهشبرثانیه نیاز است.
در سناریویی فرضی که در آن قدرت هش بین ۱۰ نفر تقسیم میشود و به هرکدام ۸ تراهش میرسد، مهاجم میتواند نیازمندیهای راهاندازی حمله ۵۱درصد را با قطعکردن ارتباط این افراد با شبکه فراهم کند. اگر ۵ فرد هدف حمله خسوف قرار بگیرند، ۴۰ تراهش از رقابت برای یافتن بلاک بعدی حذف میشود و مهاجم درحالحاضر باید تنها اندکی بیش از ۲۰ تراهش را تحتکنترل بگیرد.
عملیات خرابکارانه دیگری که میتوان با حملات خسوف به آن دست یافت، دستکاری نودها برای استخراج خودخواهانه (Selfish Mining) یا مهندسی رقابت میان ماینرها برای یافتن بلاک بعدی است.
چگونه میتوان مانع حملات خسوف شد؟
اگر مهاجم به آیپی آدرسهای کافی دسترسی داشته باشد، نودها ممکن است هدف حمله خسوف قرار بگیرند. سادهترین راه برای اجتناب از این موضوع آن است که نود ارتباطات ورودی خود را محدود و در ایجاد هر ارتباط با سایر نودها حسابشده عمل کند. این کار میتواند پیوستن نودهای جدید به شبکه بلاک چین را سختتر کند؛ اما تمام نودها باید از این رویکرد استفاده کنند.
بهدلیل ماهیت عمومی و متنباز بیشتر پروژههای بلاک چین، برای بازیگران مخرب ساده است که زیربناهای ساختاری را برای جستوجوی آسیبپذیریها و بهرهبرداری از آنها ارزیابی کنند. تأیید و پیادهسازی تغییرات ساختاری در میانه چرخه حیات شبکه بلاک چین کاری دشوار است؛ بنابراین، بهترین راه برای جلوگیری از حملات خسوف در ارزهای دیجیتال، پیکربندی نودها از همان مراحل ابتدایی است. درادامه به بخشی از رویکردهای متداول برای جلوگیری از حملات خسوف اشاره میکنیم.
انتخاب نود بهصورت تصادفی
یکی از این راهکارها سازماندهی شبکه همتابههمتا بهصورتی است که در آن نودها هر مرتبه که با شبکه همگامسازی میشوند، بهجای پیوستن به مجموعهای از نودهای تکراری و بهرهبرداریشدنی، به دسته تصادفی از نودها متصل شوند. سازنده و معمار بلاک چین با این روش میتواند احتمال اتصال نود به نود تحتکنترل مهاجم را کاهش چشمگیری دهد؛ حتی اگر بهتازگی به آن متصل شده است.
انتخاب نود بهصورت قطعی
انتخاب نود بهصورت قطعی موضوعی است که نقطه مقابل انتخاب بهصورت تصادفی قرار دارد و شامل قراردادن آیپی آدرسهای نودی خاص در اسلاتهای (Slots) ثابت و ازپیشتعیینشده است. با تثبیت اتصال نودهای شبکه، مهاجم شرایط دشواری برای انجام عملیات مخرب در شبکه و همگرایی سایر نودها خواهد داشت.
افزایش اتصالهای نود
با افزایش تعداد اتصالها میان نودها، شبکه میزان احتمال اتصال نود به کاربر قانونی و سالم را افزایش میدهد. بااینحال، نباید فراموش کرد که محدودیتهایی برای نود و پهنای باند وجود دارد و همین موضوع افزایش تعداد اتصالهای نود در شبکه را بدون بهخطرافتادن کارایی دچار محدودیت میکند. چنین مواردی رویکرد این روش بهعنوان راهکاری مستقل برای مقابله با حملات خسوف را تحتتأثیر قرار میدهد و آن را محدودتر میکند.
محدودیت در ایجاد نودهای جدید
با دشوارتر یا گرانتر کردن ایجاد نودهای جدید در شبکه، معمار بلاک چین میتواند سطح بیشتری برای ایجاد نودها تعریف کند تا مهاجمان ازطریق نودهای مخرب نتوانند شبکه را به تسخیر خود درآورند. در اغلب مواقع، این رویکرد با محدودکردن تعداد نودها در هر آیپی آدرس همراه خواهد بود. بااینحال، مهاجم میتواند این اقدام دفاعی را با ایجاد باتنتی (Botnet) متشکل از دستگاههایی که آیپی ادرسهای منحصربهفرد را دراختیار دارند، دور بزند.
جمعبندی
امنیت یکی از ویژگیهای مهم فناوری بلاک چین است؛ اما درکنار پیشرفت فناوری، بازیگران مخرب هم روزبهروز به ابزارهای جدیدی مجهز میشوند تا بتوانند به شبکههای بلاک چین نفوذ کنند و با سرقت دادهها سود فراوانی بهدست آورند. تاکنون، حملات مختلفی به شبکههای بلاک چین مشاهده شده که یکی از آنها حمله خسوف است. در حمله خسوف، مهاجم سعی میکند مسیر ارتباطهای ورودیوخروجی کاربر را از نودهای قانونی همسایهاش بهسمت نودهای تحتکنترل خود تغییر دهد. با این کار نود هدف از دید شبکه واقعی پنهان و ارتباط آن با دفترکل بلاک چین قطع میشود؛ درنتیجه، مهاجم میتواند این نود را دستکاری کند.
حمله خسوف میتواند به ایجاد اختلال در استخراج بلاک و تأیید تراکنشهای غیرقانونی منجر شود. حمله دوبار خرجکردن و اختلال در قدرت ماینرها از پیامدهای متداول حملات خسوف هستند. بهدلیل ماهیت متنباز بیشتر پروژههای بلاک چین، بازیگران مخرب بهراحتی میتوانند آسیبپذیریها را جستوجو و از آنها بهرهبرداری کنند. بهترین راه برای جلوگیری از حملات خسوف در ارزهای دیجیتال آن است که پیکربندی نودهای شبکه بلاک چین بهگونهای انجام شود که از همان مراحل ابتدایی بتوانند دربرابر حملات خسوف مقاومت کنند.