آیا هک بلاکچین امکان پذیر است؟ بررسی انواع آسیبپذیریهای بلاکچین
متوسط
چکیده
یکی از نگرانیهای اصلی افرادی که در حوزه بلاک چین و ارزهای دیجیتال فعال هستند، این موضوع است که آیا هک بلاک چین امکان پذیر است یا خیر؟ بلاک چین یک شبکه توزیعشده و غیرمتمرکز است و بهمنظور ثبت و ضبط تاریخچه تراکنشها و ذخیره داراییهای دیجیتال استفاده میشود. اما آیا ماهیت بلاک چین بهگونهای است که در برابر هک مقاوم باشد؟ چه راههایی برای هک بلاک چین وجود دارد؟ در ادامه به معرفی راههای مختلف حمله به بلاک چین خواهیم پرداخت تا به جواب این پرسشها دست یابیم.
حمله ۵۱ درصد
حمله ۵۱ درصد یکی از شناختهشدهترین و خطرناکترین حملاتی است که میتواند به شبکههای بلاکچین وارد شود. این حمله زمانی رخ میدهد که یک فرد یا گروهی از افراد بتوانند بیش از ۵۰ درصد از قدرت پردازش یا همان هشریت شبکه را به دست بگیرند. در یک شبکه بلاکچین، ماینر ها نقش اصلی را در تأیید و ثبت تراکنشها ایفا میکنند. هرچه قدرت پردازشی بیشتری در اختیار یک ماینر باشد، شانس بیشتری برای استخراج بلاکهای جدید و ثبت تراکنشها دارد. حالا تصور کنید اگر کسی بتواند بیش از نیمی از این قدرت را در اختیار بگیرد، چه اتفاقی میافتد؟ در چنین شرایطی، مهاجم میتواند به راحتی تراکنشهای جدید را کنترل و حتی اطلاعات مربوط به تراکنشهای قبلی را دستکاری کند.
به عنوان مثال، اگر فردی حمله ۵۱ درصد را انجام دهد، میتواند تراکنشهای خود را معکوس کند، به این معنا که ارزی را که خرج کرده است، دوباره به کیف پول خود بازگرداند و اصطلاحاً «دابل اسپندینگ» (double spending) انجام دهد.این اتفاق میتواند اعتماد عمومی به شبکه بلاکچین را به شدت تضعیف کند. با این حال، باید توجه داشت که حتی اگر مهاجم بتواند شبکه را کنترل کند، قادر نخواهد بود تراکنشهای سایر کاربران را تغییر دهد یا سکههایی را که به دیگران تعلق دارند به سرقت ببرد. به علاوه، حمله ۵۱ درصد نیاز به منابع بسیار زیاد و هزینهبر دارد، به ویژه در شبکههای بزرگ و پرقدرتی مانند بیت کوین، که تعداد زیادی از ماینرها در آن فعال هستند و این موضوع باعث میشود که اجرای چنین حملهای بسیار دشوار و ناپایدار باشد. در کل، حمله ۵۱ درصد یکی از جدیترین تهدیدات برای شبکههای بلاک چین است، اما با توجه به ساختار غیرمتمرکز و توزیعشدهی این شبکهها، احتمال وقوع آن در شبکههای بزرگ بسیار کم است.
حمله سیبل (Syble)
حمله سیبل یک روش پیشرفته برای حمله به شبکههای غیرمتمرکز مانند بلاک چین است. در این حمله، فرد مهاجم با ایجاد هویتهای جعلی، شبکه را فریب میدهد. این هویتهای جعلی میتوانند در فرآیندهای رأیگیری یا تأیید تراکنشها دخالت کرده و کنترل غیرمستقیمی بر شبکه به دست آورند. حمله سیبل میتواند بهطور خاص در شبکههایی که به اجماع و تأیید مشارکتکنندگان وابسته هستند، بسیار مخرب باشد.
حمله سیبل معمولاً در شبکههایی که از مکانیزمهای امنیتی پیشرفته بهره نمیبرند، رایجتر است. با این حال، شبکههای بلاک چینی بزرگتر و پیشرفتهتر مانند بیت کوین و اتریوم از روشهای متعددی برای مقابله با این نوع حمله استفاده میکنند. یکی از روشهای جلوگیری از حمله سیبل، استفاده از اثبات کار یا اثبات سهام است که از ورود هویتهای جعلی به شبکه جلوگیری میکند.
حمله دیداس (Ddos)
حمله دیداس یا حمله محرومسازی از سرویس یکی از خطرناکترین حملات به شبکههای آنلاین از جمله بلاکچینها است. در این حمله، مهاجم با ارسال ترافیک بیش از حد به شبکه، سیستم را از کار میاندازد. شبکه بلاکچین نیز از این قاعده مستثنی نیست و ممکن است تحت تأثیر حملات دیداس قرار گیرد. زمانی که تعداد زیادی درخواست به شبکه ارسال میشود، منابع سرور از بین رفته و فعالیت شبکه مختل میشود.
این حمله بهویژه برای بلاک چینهای کوچکتر و با گرههای کمتر بسیار خطرناک است. هرچند شبکههای بزرگی مانند بیتکوین با توجه به توزیع گسترده گرههای خود در برابر حمله دیداس مقاومتر هستند، اما هیچ شبکهای بهطور کامل از این نوع حمله در امان نیست. یکی از راههای مقابله با این حمله، استفاده از شبکههای توزیع محتوا و افزایش پهنای باند شبکه است.
حمله اجرای مجدد یا Replay
در حمله اجرای مجدد یا ریپلی (Replay) یک برنامه سعی میکند در انتقال دادههای شبکه تأخیر بی اندازد و اطلاعات را رهگیری کند. اطلاعات به دست آمده در این روش میتواند برای اجرای تراکنشهای تکراری در یک بازه زمانی کوتاه مورد استفاده قرار بگیرد.
حمله اجرای مجدد از نیاز به تایید اطلاعات مبدأ سوءاستفاده میکند. در این حمله، درخواست تایید تراکنش معمولاً از سوی یک کاربر احراز شده ارسال میشود. در این سناریو پروتکلهای امنیتی شبکه حمله را به عنوان یک انتقال داده عادی شناسایی میکنند و ممکن است هکری که هک ارز دیجیتال انجام میدهد، بتواند از این روش، تراکنشهای جدیدی را با استفاده از دادههای قدیمی ترتیب دهد.
هکر میتواند دادههای ارسال شده را رهگیری کند و در مرحله بعد یک حمله به موقع و زمان بندی شده را ترتیب دهد. به رغم آسان بودن این حمله برای مهاجم، تکنیکهای خاصی وجود دارد که میتوان برای مصون نگهداشتن شبکه از حمله اجرای مجدد، از این تکنیکها استفاده کرد.
قابل ذکر است که Replay Attack حمله سایبری جدی تلقی نمیشود چرا که پیامدهای آن محدود است و روشهای زیادی برای جلوگیری از آن وجود دارد. به عنوان مثال، حتی در صورتی که مهاجم بتواند دادههای جعلی را انتقال دهد، با این حال نمیتواند به طور کامل به کل اطلاعات تراکنش دست پیدا کند، چون انتقال اطلاعات در بلاک چین فرآیندی مداوم است و انجام این کار باعث میشود شبکه، انتقال دادههای دستکاری شده را رد کند.
باگهای کد پروتکل بلاک چین
بلاک چین یک سیستم پیچیده است و در کدهای پروتکل آن نیز ممکن است باگهایی وجود داشته باشد. این یکی از معایب مهم بلاک چین است.
برای مثال، یکی از حملات هکری به بلاک چین در سال ۲۰۱۰ اتفاق افتاد که طی آن از یک کد ناقص در پروتکل بیت کوین سوء استفاده شد. در واقع، کدی که تراکنشهای بیت کوین را چک میکرد معیوب بود. در نتیجه، یک هکر از آن به نفع خود استفاده کرد و ۱۸۴.۴۶۷ میلیارد BTC تولید کرد. با این حال، حداکثر عرضه بیت کوین ۲۱ میلیون واحد است! پس از پی بردن به این حمله، ساتوشی ناکاموتو و یک توسعهدهنده دیگر یعنی گاوین اندرسن به سرعت مشکلات را در عرض چند ساعت برطرف کردند.
هر کسی که میخواهد با استفاده از چنین باگی به بلاکچین حمله کند، باید مهارتهای پیشرفتهای حتی برای شناسایی مشکل داشته باشد، چه رسد به ایجاد تغییرات در آن. به دلیل اینکه بلاک چین پلتفرمی پیچیده است، این کاملا غیرممکن است.
همچنین، اکنون، توسعهدهندگان بلاک چین قبل از راهاندازی، کدهای خود را به طور کامل ممیزی میکنند و این امر به طور مؤثر از این نوع سواستفادهها جلوگیری میکند.
حمله مسیریابی (Routing Attack)
حمله مسیریابی (Routing Attack) بیش از اینکه حملهای از بیرون باشد، یک حمله داخلی است. علت اصلی این حمله به خطر افتادن یک ارائهدهنده سرویس اینترنت (ISP) است. هکرها میتوانند کانالهای ارتباطی بلاک چین را با به خطر انداختن ISP رهگیری کنند.
رهگیری کانالها ارتباطی میتواند به دستکاری روند تراکنش کمک کند. همچنین، هکرها میتوانند شبکه را به قطعات جداگانه تقسیم کنند و کوینها را در یکی از آنها خرج کنند. با این همه، باید گفت تاکنون گزارشی از چنین حملهای در حوزه بلاک چین اعلام نشده است.
باگهای قرارداد هوشمند
قرارداد های هوشمند بسیار محبوب هستند و بر روی بسیاری از پلتفرمهای بلاک چین اجرا میشوند. اگر شرایط را از پیش تعریف کنید، میتواند داراییها را بر اساس آن قوانین انتقال دهد. همچنین، از آنجایی که آنها در بلاک چین پیادهسازی شدهاند، پس از تنظیم شروط، هیچکس نمیتواند آنها را تغییر دهد. با این حال، اگر به نحوی، کد قرارداد هوشمند باگ داشته باشد، هکرها ممکن است از آن سوء استفاده کنند.
در سال ۲۰۱۶، جامعه اتریوم پلتفرم دائو ((DAO را برای مدیریت صندوقهای سرمایهگذاری و کمک به آنها در مدیریت بهتر پیشنهادات کاربران ایجاد کرد. با این حال، آنها از قراردادهای هوشمند برای مدیریت DAO استفاده میکردند.
با وجود اینکه پروتکل اتریوم به خوبی کار میکرد، برنامه قرارداد هوشمند آن یک باگ داشت. در واقعیت، این باگ به کاربر اجازه میداد تا از حساب DAO درخواست پول کند و آن را در شبکه ثبت نکند. این نوع هک DAO یک تهدید بزرگ برای امنیت بلاک چین است.
هکر از این کد سو استفاده کرد و ۶۰ میلیون دلار از شبکه سرقت کرد. پس از این اتفاق، اتریوم یک هارد فورک اجرا کرد تا سیستم را ریست کند. بنابراین، اتریومی که اکنون میبینید در واقع نتیجه آن هارد فورک است. با این حال، برخی از افراد هنوز از زنجیره قدیمی استفاده میکنند، و به آن اتریوم کلاسیک Ethereum Classic)) میگویند.
حمله Direct Denial of Service
در حمله Direct Denial of Service ، هکرها میتوانند شبکه را با حجم بالای ترافیک دچار ازدحام کنند و درخواستها برای دریافت هر گونه اطلاعات را مختل کنند. در واقع، روش این است که تعداد زیادی درخواست به سرور شرکت ارسال شود و به آن زمان برای مقابله با افزایش ترافیک داده نشود. در نتیجه پهنای باند تمام میشود و سرور از کار میافتد.
با این حال، هکرها نمیتوانند جز آسیب رساندن به فعالیت شبکه، چیزی را سرقت کنند. علاوه بر این، بسیاری از راهحلهای بلاک چین میتوانند به طور مؤثر از بلاک چین در برابر این نوع حمله محافظت کنند.
آیا واقعاً میتوانید هکرها را شکست دهید؟
شرکتهای زیادی در سالهای اخیر برای مقابله هک بلاک چین ایجاد شدهاند. علاوه بر این، چند راه قطعی برای جلوگیری از حملات به شبکه وجود دارد. با این حال، توسعه دهندگان و کاربران هر دو نقش بزرگی در این زمینه دارند. ضمن آنکه ویژگیهای بلاک چین بدون شک میتواند در شکست هکرها کمک کند. در ادامه به بررسی راههای مقاله با هک بلاک چین میپردازیم:
- ممیزی – فرآیندهای ممیزی که کدهای پروتکل بلاک چین را قبل از راه اندازی به دقت چک میکند. هر نوع کد ناقص یا معیوبی در این فرآیند به راحتی شناسایی میشود.
- آزمایش قراردادهای هوشمند – کدهای قرارداد هوشمند باید به طور کامل آزمایش شوند تا حفرههای امنیتی شناسایی و حذف شوند. بدون آزمایشهای متعدد، هیچکس نمیتواند تشخیص دهد که آیا قرارداد باگ دارد یا خیر.
- حریم خصوصی – کاربران باید کلید خصوصی خود را خصوصی نگه دارند و نباید آن را با دیگران به اشتراک بگذارند.
- هوشیاری – کاربران نباید از رمزهای عبور تکراری استفاده کنند یا از یک دستگاه خارجی لاگین کنند. این به هکر فرصتی میدهد تا از حساب شما سوء استفاده کند.
- الگوریتم اجماع – بلاک چین باید از الگوریتمهای اجماع ضد هک استفاده کند.
- گزارشهای ثابت – کاربران در شبکه باید هر گونه اشکال را به محض شناسایی آن گزارش دهند. اگر کاربران با سیستم به عنوان سیستم خود رفتار کنند، شبکه برای آنها نیز امن میماند.
جمع بندی
امنیت بلاکچین همچنان یکی از مهمترین چالشهای این فناوری است. با وجود ماهیت غیرمتمرکز و امن بلاکچین، همچنان حملات متعددی علیه آن انجام میشود که برخی از آنها میتوانند آسیبهای جدی به شبکه وارد کنند. از جمله حملات مطرح در این حوزه میتوان به حمله ۵۱ درصد، حمله سیبل، حمله دیداس و حمله اجرای مجدد اشاره کرد. هرکدام از این حملات نقاط ضعف خاصی در ساختار بلاکچین را هدف قرار میدهند و برای مقابله با آنها نیاز به تدابیر امنیتی پیشرفته است. به طور کلی، با افزایش هشریت، گسترش گرهها و استفاده از الگوریتمهای اجماع پیشرفته میتوان به میزان قابل توجهی از حملات جلوگیری کرد.
دیدگاهها