در ادامه این مطلب از کیف پول من، مکانیزم فنی و دقیق این حمله را بررسی میکنیم و پس از بررسی تفاوتهای آن با سایر تهدیدات شبکه، به سراغ راهکارهای دفاعی و امنیتی میرویم که از داراییهای دیجیتال در برابر این نابینایی شبکه محافظت میکنند.
حمله خسوف یا Eclipse Attack چیست؟
برای درک عمیق این مفهوم، ابتدا بیایید نگاهی ساده به نحوهی کارکرد بلاکچین داشته باشیم. در دنیای ارزهای دیجیتال، اطلاعات در یک سرور مرکزی ذخیره نمیشوند؛ بلکه هزاران کامپیوتر که به آنها نود (Node) میگوییم، به یکدیگر متصل هستند و اطلاعات را با هم به اشتراک میگذارند. در حالت عادی، نود شما با چندین نود دیگر صحبت میکند تا از صحت تراکنشها مطمئن شود.
اما حمله خسوف زمانی رخ میدهد که یک مهاجم بدجنس، موفق میشود تمام راههای ارتباطی نود شما را با سایر اعضای صادق شبکه قطع کند. در این وضعیت، مهاجم دور تا دور نود شما را با نودهای مخرب خودش محاصره میکند. نتیجه چه میشود؟ کامپیوتر شما فکر میکند که به کل اینترنت و شبکه متصل است، اما در واقعیت فقط دارد با کامپیوترهای هکر صحبت میکند و اطلاعاتی را میبیند که آنها برایش ساختهاند.
تعریف ساده حمله خسوف؛ وقتی دید یک نود در شبکه کور میشود
تصور کنید شما در اتاقی نشستهاید که چندین پنجره رو به خیابان دارد و از طریق آنها وضعیت بیرون را میبینید. حالا فرض کنید یک نفر بیاید و پشت تمام این پنجرهها، پوسترهایی از یک منظرهی آفتابی و آرام نصب کند، در حالی که واقعیت بیرون طوفانی و تاریک است.
در حملهی خسوف دقیقاً همین اتفاق برای نود قربانی میافتد. دید نود نسبت به واقعیت شبکه (یعنی بلاکچین اصلی) کور میشود و دنیایی ساختگی را میبیند که مهاجم برایش تدارک دیده است. در این حالت، نود ایزوله شده هیچ راهی برای فهمیدن حقیقت ندارد، زیرا تمام ورودیهای اطلاعاتیاش توسط مهاجم کنترل میشود.
چرا به این حمله اکلیپس یا خسوف میگویند؟
این نامگذاری بسیار هوشمندانه و دقیقاً برگرفته از پدیدهی خورشید گرفتگی در طبیعت است. در نجوم، زمانی که ماه بین زمین و خورشید قرار میگیرد، نور خورشید به زمین نمیرسد. در دنیای بلاکچین نیز تشبیه زیر برقرار است:
- خورشید: نماد شبکهی اصلی و اطلاعات درست و صادقانه است.
- ماه: نماد مهاجم و نودهای مخربی است که جلوی دید را میگیرند.
- زمین: نماد نود قربانی است که در سایه قرار گرفته است.
همانطور که در خورشیدگرفتگی، ماه مانع رسیدن نور میشود، در این حمله سایبری نیز مهاجم میان قربانی و شبکهی اصلی قرار میگیرد و نور حقیقت یا همان دادههای واقعی بلاکچین را مسدود میکند.
بررسی حمله؛ یک Eclipse Attack چگونه اجرا میشود؟
شاید برایتان سوال باشد که یک هکر چطور میتواند در میان هزاران کامپیوتر فعال در دنیای بلاکچین، دقیقاً یکی را هدف بگیرد و ارتباطش را با بقیه قطع کند؟ باید بدانید که حملهی خسوف یک اتفاق شانسی یا لحظهای نیست؛ بلکه یک نقشهی حسابشده و گامبهگام است. مهاجم برای اجرای این حمله باید صبر و حوصلهی زیادی داشته باشد و مراحل زیر را با دقت طی کند.
قدم اول: شناسایی IP و پورتهای نود قربانی
هر دستگاهی که به اینترنت متصل میشود، یک شناسهی منحصربهفرد دارد که به آن آدرس آیپی (IP Address) میگویند؛ درست شبیه به کد پستی خانهی شما که مکان دقیق آن را مشخص میکند. در مرحلهی اول، مهاجم باید دقیقاً بداند که قربانی او در کجای شبکه قرار دارد.
مهاجم شبکهی بلاکچین را اسکن میکند تا آدرس آیپی و پورتهای باز نود مورد نظرش را پیدا کند. پورت (Port) شبیه به درهای ورودی و خروجی یک ساختمان است که اطلاعات از طریق آنها وارد یا خارج میشوند. بدون داشتن این آدرس دقیق، مهاجم نمیتواند نقشهی خود را عملی کند.
قدم دوم: بمباران اطلاعاتی و پر کردن ظرفیت اتصال (Connection Slots)
نکتهی مهمی که باید بدانید این است که هر نود در شبکه، ظرفیت محدودی برای برقراری ارتباط دارد. برای مثال، یک نود در شبکهی بیتکوین ممکن است فقط بتواند همزمان با ۸ نود دیگر ارتباط خروجی و با ۱۱۷ نود ارتباط ورودی داشته باشد. به این جایگاههای خالی، اسلات یا ظرفیت اتصال میگویند.
در این مرحله، مهاجم از ارتشی از کامپیوترهای مخرب که تحت کنترل خودش هستند استفاده میکند. او این کامپیوترها را مامور میکند تا بهصورت مداوم درخواستهای اتصال به سمت نود قربانی بفرستند. هدف این است که تمام صندلیهای خالی دور میز نود قربانی با آدمهای خودی مهاجم پر شود تا دیگر جایی برای نودهای غریبه و درستکار باقی نماند.
قدم سوم: جایگزینی نودهای مخرب به جای نودهای صادق (Honest Nodes)
حالا که مهاجم دور تا دور نود قربانی را شلوغ کرده است، منتظر یک فرصت طلایی میماند. این فرصت معمولاً زمانی پیش میآید که نود قربانی به هر دلیلی (مثل قطع و وصل شدن اینترنت یا راهاندازی مجدد سیستم) مجبور شود ارتباطاتش را از نو بسازد.
به محض اینکه نود قربانی دوباره آنلاین میشود و میخواهد دوستان و همسایگانش در شبکه را پیدا کند، نودهای مخرب مهاجم که از قبل در صف انتظار بودند، سریعتر از بقیه پاسخ میدهند و خودشان را به عنوان نودهای صادق (کامپیوترهای سالمی که اطلاعات درست را منتقل میکنند) جا میزنند. به این ترتیب، قربانی بدون آنکه بداند، آخرین دوستان واقعی خود را از دست میدهد و کاملاً در محاصرهی دشمن قرار میگیرد.
نتیجه نهایی: ایجاد یک واقعیت ساختگی برای قربانی
در این مرحله کار تمام شده است. نود قربانی حالا کاملاً ایزوله شده و تنها منبع دریافت اطلاعاتش، کامپیوترهای مهاجم هستند. قربانی درخواستی برای دریافت آخرین وضعیت بلاکچین ارسال میکند و مهاجم نسخهای از بلاکچین را به او نشان میدهد که خودش دستکاری کرده است.
اینجاست که قربانی وارد یک دنیای موازی میشود؛ دنیایی که در آن تراکنشها متفاوت از واقعیت هستند و مهاجم میتواند با خیال راحت نقشههایی مثل سرقت دارایی یا خرج کردن دوبارهی پول را اجرا کند، بدون اینکه قربانی بویی از ماجرا ببرد.
تفاوت حیاتی میان حمله سیبل (Sybil) و حمله خسوف
در دنیای امنیت شبکه و بلاکچین، نام دو حمله سیبل و خسوف را زیاد در کنار هم میشنویم. دلیل این موضوع این است که این دو حمله اغلب با هم اشتباه گرفته میشوند یا حتی گاهی مکمل یکدیگر هستند. اما برای اینکه بتوانید امنیت داراییهای خود را حفظ کنید، باید مرز باریک اما مهم میان این دو مفهوم را بشناسید. بیایید با یک نگاه دقیق و ساده، تفاوتهای آنها را بررسی کنیم.
حمله سیبل: جعل هویت برای نفوذ به کل شبکه
برای درک حمله سیبل، یک انتخابات بزرگ را تصور کنید. در حالت عادی، هر نفر یک حق رأی دارد. حالا فرض کنید یک نفر با هزاران شناسنامهی جعلی وارد صندوق رأیگیری شود و بخواهد نتیجهی کل انتخابات را به نفع خودش تغییر دهد.
حمله سیبل دقیقاً همین کار را در دنیای دیجیتال انجام میدهد. در این نوع حمله، مهاجم هزاران نود (کامپیوتر فعال در شبکه) با هویتهای جعلی ایجاد میکند. هدف او این است که اکثریت شبکه را در دست بگیرد یا در تصمیمگیریهای کل سیستم اختلال ایجاد کند. پس در حمله سیبل، تمرکز مهاجم روی کل شبکه و تعداد زیاد هویتهای جعلی است.
حمله خسوف: تمرکز بر ایزوله کردن یک قربانی خاص
اما داستان حمله خسوف کاملاً متفاوت و ترسناکتر است. اگر حمله سیبل را شبیه به شلوغکاری در کل شهر بدانیم، حمله خسوف مثل دزدیدن یک فرد مشخص و حبس کردن او در یک اتاق ایزوله است.
در حمله خسوف، مهاجم کاری به کار کل شبکه ندارد و نمیخواهد مدیریت بلاکچین را به دست بگیرد. بلکه تمام تمرکز و انرژیاش را روی یک نود خاص (مثلاً کامپیوتر یا کیف پول شما) میگذارد. او از هویتهای جعلی استفاده میکند، اما نه برای رأی دادن در شبکه، بلکه برای محاصره کردن شما. در واقع، حمله سیبل ابزاری است که مهاجم از آن استفاده میکند تا حمله خسوف را روی یک قربانی پیاده کند.
جدول مقایسه ویژگیهای حمله Sybil و Eclipse
برای اینکه بتوانید در یک نگاه سریع، تفاوتهای کلیدی این دو حمله را مرور کنید، جدول زیر را برایتان آماده کردهایم:
|
ویژگی
|
حمله سیبل (Sybil Attack)
|
حمله خسوف (Eclipse Attack)
|
|
هدف اصلی
|
نفوذ به کل شبکه و تأثیر بر تصمیمات جمعی
|
ایزوله کردن و فریب دادن یک کاربر یا نود خاص
|
|
گستردگی حمله
|
سطح شبکه (بسیار وسیع)
|
سطح تک نود (بسیار متمرکز و نقطهای)
|
|
استراتژی
|
ایجاد تعداد زیادی هویت جعلی برای کسب اکثریت
|
محاصره کردن قربانی برای قطع ارتباط با واقعیت
|
|
نتیجه نهایی
|
اختلال در کارکرد کلی سیستم یا سانسور در سطح کلان
|
دزدی از یک کاربر خاص یا فریب دادن او در تراکنش
|
پیامدها و خطرات؛ حمله خسوف چه آسیبی به شبکه وارد میکند؟
حالا که متوجه شدیم مهاجم چطور قربانی را در یک حباب اطلاعاتی حبس میکند، سوال اصلی این است: چرا؟ مگر این کار چه سودی برای هکر و چه ضرری برای کاربر دارد؟ واقعیت این است که حمله خسوف فقط یک شوخی فنی نیست؛ بلکه میتواند منجر به سرقتهای مالی سنگین و هدر رفتن منابع شود. در ادامه، مهمترین خطراتی که این حمله به همراه دارد را بررسی میکنیم.
حملات Double-spend یا همان دوبار خرج کردن دارایی
خطرناکترین پیامد این حمله، پدیدهای به نام دابلاسپند یا دوبار خرج کردن است. در دنیای فیزیکی، شما نمیتوانید یک اسکناس هزار تومانی را هم به فروشنده الف بدهید و هم به فروشنده ب؛ چون وقتی پول را دادید، دیگر آن را ندارید. اما در دنیای خرید و فروش ارزهای دیجیتال، اگر سیستم فریب بخورد، این کار ممکن میشود. مهاجم با استفاده از ایزوله کردن قربانی، میتواند دارایی خود را همزمان در دو جای مختلف خرج کند. این اتفاق معمولاً به دو روش رخ میدهد:
- سرقت در تراکنشهای بدون تایید (0-confirmation): برخی از فروشندگان یا سرویسدهندگان برای اینکه کار کاربر سریعتر راه بیفتد، منتظر تایید نهایی شبکه نمیمانند و کالا یا خدمات را بلافاصله تحویل میدهند. در اینجا، مهاجم یک درخواست خرید برای قربانی ایزوله شده میفرستد. قربانی تراکنش را میبیند و کالا را تحویل میدهد. اما در همان لحظه، مهاجم همان پول را در شبکهی اصلی (که قربانی به آن دسترسی ندارد) به کیف پول دیگری منتقل میکند. وقتی نود قربانی بالاخره به شبکه وصل شود، میبیند که آن پول قبلاً خرج شده و تراکنش خرید کالا بیاعتبار است.
- سرقت در تراکنشهای تایید شده (N-confirmation): این روش پیچیدهتر است. در اینجا مهاجم حتی تاییدهای شبکه را هم جعل میکند. چون مهاجم کنترل ورودیهای نود قربانی را در دست دارد، میتواند بلاکهای ساختگی خودش را به قربانی نشان دهد. قربانی میبیند که تراکنش انجام شده و حتی چندین تایید (Confirmation) هم گرفته است؛ اما تمام این تاییدها در یک زنجیرهی دروغین و خصوصی است که فقط مهاجم آن را ساخته و در شبکهی اصلی هیچ اعتباری ندارد.
تضعیف ماینرها و هدر رفتن قدرت پردازش (Mining Power)
این بخش مخصوص کسانی است که به کار استخراج یا ماینینگ (Mining) مشغول هستند. ماینرها قدرت پردازش دستگاههای خود را صرف حل مسائل پیچیده میکنند تا بلاک جدیدی به شبکه اضافه کنند و پاداش بگیرند. وقتی یک ماینر دچار حمله خسوف میشود، مثل کارگری است که دارد روی یک نقشهی قدیمی و اشتباه کار میکند.
مهاجم، دید ماینر را نسبت به آخرین وضعیت شبکه کور میکند. در نتیجه، ماینر قربانی شروع به تلاش برای حل کردن بلاکهایی میکند که دیگر در شبکهی اصلی ارزشی ندارند یا قدیمی شدهاند. نتیجهی این کار فاجعهبار است. دستگاههای ماینر برق مصرف میکنند، داغ میشوند و استهلاک پیدا میکنند، اما هیچ پاداشی دریافت نمیکنند زیرا کاری که انجام میدهند در مسیر اشتباه است. این کار باعث میشود رقبای مهاجم ضعیف شوند و شانس خود مهاجم برای دریافت پاداش بیشتر شود.
سانسور تراکنشها و جلوگیری از ثبت آنها در بلاکچین
گاهی هدف مهاجم دزدی مستقیم نیست، بلکه ایجاد اختلال است. تصور کنید منتظر یک نامه بسیار مهم هستید، اما پستچی محلهی شما تصمیم میگیرد نامههای خاصی را به دستتان نرساند. در حمله خسوف، مهاجم نقش همان پستچی بدجنس را بازی میکند. از آنجا که تمام اطلاعات ورودی و خروجی نود قربانی از فیلتر مهاجم رد میشود، او میتواند تصمیم بگیرد که کدام تراکنشها را به شبکه ارسال کند و جلوی کدامیک را بگیرد.
این موضوع در بازیهای آنلاین مبتنی بر بلاکچین یا سیستمهای پرداخت سریع بسیار حیاتی است. اگر مهاجم جلوی ثبت تراکنش شما را بگیرد، ممکن است در یک مزایده شکست بخورید یا نتوانید در زمان مقرر پرداختی را انجام دهید که منجر به جریمه یا از دست رفتن فرصتهای طلایی میشود.
راهکارهای دفاعی؛ شبکههای بلاکچینی چگونه مقابله میکنند؟
تا اینجا شاید کمی نگران شده باشید و تصور کنید که شبکههای بلاکچین مکانهای ناامنی هستند. اما خبر خوب این است که توسعهدهندگان شبکه دست روی دست نگذاشتهاند. همانطور که هکرها روشهای خود را پیچیدهتر میکنند، مهندسان امنیت هم دیوارهای دفاعی مستحکمتری میسازند. در ادامه، روشهایی را بررسی میکنیم که شبکهها برای خنثی کردن نقشههای مهاجمان به کار میگیرند.
انتخاب تصادفی گرهها (Random Node Selection)
سادهترین و شاید موثرترین راهکار، غیرقابل پیشبینی بودن است. فرض کنید میخواهید برای یک بازی تیمی یارکشی کنید. اگر همیشه نفرات اول صف را انتخاب کنید، دشمن میتواند جاسوسهایش را دقیقاً در همان ابتدای صف قرار دهد. اما اگر چشمانتان را ببندید و بهصورت کاملاً شانسی از میان جمعیت یار انتخاب کنید، کار دشمن بسیار سخت میشود.
در شبکهی بلاک چین هم همین اتفاق میافتد. سیستم به جای اینکه طبق یک لیست قابل حدس به نودها متصل شود، از روش انتخاب تصادفی استفاده میکند. وقتی نود شما میخواهد همسایگان جدیدی پیدا کند، بهصورت رندوم از میان هزاران آدرس موجود در حافظهی خود چند مورد را برمیگزیند. این کار باعث میشود مهاجم نتواند پیشبینی کند که قربانی قرار است به چه کسی متصل شود و در نتیجه محاصره کردن او دشوار میشود.
انتخاب گره قطعی (Deterministic Node Selection) و سیستم IP Buckets
این روش کمی هوشمندانهتر و فنیتر است. بیایید با یک مثال ساده شروع کنیم. فرض کنید مهاجم ۱۰۰ نود مخرب ساخته است. معمولاً این نودها چون توسط یک نفر ساخته شدهاند، آدرسهای آیپی شبیهی دارند (مثل اعضای یک خانواده که فامیلی یکسان دارند). شبکههای پیشرفته از سیستمی به نام سطلهای آیپی یا IP Buckets استفاده میکنند.
- عملکرد سیستم: سیستم، آدرسهای آیپی را بر اساس شباهتشان دستهبندی میکند و در سبدها یا سطلهای جداگانه میریزد.
- قانون دفاعی: قانون این است که نود شما نمیتواند تمام اتصالاتش را از یک سطل پر کند. مثلاً اگر سیستم ببیند که شما قبلاً به یک نود از «سبد A» متصل شدهاید، دیگر اجازه نمیدهد اتصال دوم را هم از همان سبد بگیرید.
به این روش انتخاب قطعی میگویند؛ یعنی سیستم طبق قوانین از پیش تعیینشده، جلوی تجمع نودهای مشکوک و مشابه را میگیرد و شما را مجبور میکند که دوستانتان را از محلههای مختلف انتخاب کنید تا تنوع حفظ شود.
افزایش تعداد اتصالات مجاز برای هر نود
همانطور که در بخشهای قبل گفتیم، مهاجم سعی میکند تمام «صندلیهای خالی» نود قربانی را پر کند. حالا راهکار چیست؟ اضافه کردن صندلیهای بیشتر! اگر یک نود فقط ۸ جای خالی برای اتصال داشته باشد، مهاجم با ۸ نود مخرب میتواند آن را پر کند. اما اگر شبکه طوری تنظیم شود که هر نود بتواند مثلاً به ۱۰۰ یا ۱۰۰۰ نود دیگر متصل شود، کار مهاجم بسیار سخت و پرهزینه میشود.
ایجاد و مدیریت هزاران نود مخرب برای پر کردن ظرفیتهای بالا، نیاز به منابع مالی و فنی زیادی دارد که عملاً حمله را برای هکرها غیرممکن یا بسیار گران میکند.
ممنوعیت و ایجاد محدودیت برای نودهای مشکوک و جدید
در دنیای امنیت، «اعتماد» کالای ارزانی نیست. شبکههای بلاکچین معمولاً به نودهای قدیمی که سابقهی فعالیت طولانی و درستکارانه دارند، بیشتر اعتماد میکنند تا نودهایی که همین دیروز متولد شدهاند.
سیستمهای دفاعی معمولاً رفتار نودها را زیر نظر میگیرند. اگر یک نود جدید شروع به ارسال اطلاعات غلط کند یا رفتارهای اسپمگونه (ارسال پیامهای هرز و بیهوده) داشته باشد، بلافاصله توسط سیستم جریمه میشود. این جریمه میتواند قطع اتصال موقت یا وارد شدن به لیست سیاه (Blacklist) باشد. با این روش، نودهای مخرب مهاجم قبل از اینکه بتوانند آسیبی وارد کنند، شناسایی و طرد میشوند.
جمعبندی
در این مقاله با هم یاد گرفتیم که حمله خسوف یا Eclipse Attack، تلاشی هوشمندانه و مخرب برای کور کردن دید یک کاربر نسبت به واقعیتهای شبکه است. دیدیم که چگونه مهاجمان با محاصره کردن یک نود، میتوانند اطلاعات دروغین به او بدهند و زمینه را برای سرقت دارایی یا ایجاد اختلال در سیستم فراهم کنند.
اما نکتهی مهمی که نباید فراموش کنید، این است که امنیت در دنیای دیجیتال یک مسیر دوطرفه است. درست است که هکرها همیشه به دنبال راههای نفوذ جدید هستند، اما توسعهدهندگان و مهندسان امنیت هم بیکار ننشستهاند و مدام در حال تقویت دیوارهای دفاعی شبکههایی مثل بیتکوین و اتریوم هستند. روشهایی مثل انتخاب تصادفی نودها، نشان میدهد که شبکه هوشمندتر از آن است که به سادگی تسلیم شود.
به عنوان کلام آخر، همیشه به یاد داشته باشید که آگاهی، قویترین سپر دفاعی شماست. شناختن این خطرات نباید باعث ترس و دوری شما از فناوری شود، بلکه باید به شما کمک کند تا با دید بازتر و دقت بیشتری در دنیای ارزهای دیجیتال فعالیت کنید. استفاده از کیف پولهای معتبر، بهروز نگه داشتن نرمافزارها و صبر کردن برای دریافت تاییدیههای کافی در تراکنشها، کارهای سادهای هستند که امنیت سرمایهی شما را تا حد بسیار زیادی تضمین میکنند.
منابع:
Geeksforgeeks
Hexn
Cointelegraph