همه راههای هک و حمله به بلاک چین
از نظر تئوری تمام شبکهها یک یا چند راه نفوذ دارند و بلاک چین هم از این قاعده مستثنی نیست. در این مقاله تمام راههای نفوذ و هک شبکههای بلاک چین و مرتبط با آن را توضیح میدهیم.
بلاک چینهای بزرگی مثل بیت کوین و اتریوم از نظر امنیت در مقابل حملات امتحان خود را پس دادهاند اما حمله به این شبکهها حداقل روی کاغذ غیرممکن نیست. قبل از پرداختن به شیوه مقابله با تهدیدات هکرها، بیایید نگاهی اجمالی به ۵ ویژگی بلاک چین که اغلب هدف مجرمان سایبری قرار میگیرد، بیندازیم:
این مقاله ما را به درک روشنی از اینکه بلاک چین واقعا به همان اندازه که ما فکر میکنیم و دوست داریم امن نیست، میرساند.
حملههای شبکه بلاک چین
شبکه بلاک چین شامل نودهایی است که تراکنشها را ایجاد و اجرا میکنند و خدمات دیگری را ارائه میدهند. به عنوان مثال شبکه بیت کوین شامل نودهایی است که تراکنشها را ارسال و دریافت میکنند و استخراجکنندگان تراکنشهای تایید شده را به بلاکها اضافه میکنند. مجرمان سایبری در کمین آسیبپذیری شبکه و سوءاستفاده از آن برای حمله به شبکههای بلاک چین هستند.
حمله دیداس یا منع سرویس توزیعشده (DDoS)
اجرای حمله دیداس (Distributed Denial of Service) بر روی یک شبکه مبتنی بر بلاک چین سخت است. اما با این حال فناوری بلاک چین نسبت به حملات دیداس آسیبپذیر است و این حملات در واقع معمولترین نوع حمله به شبکههای بلاک چین محسوب میشوند.
زمانی که حمله به شبکه بلاک چین اتفاق میافتد، هکرها قصد دارند تا با درخواستهای متعدد و مصرف همه منابع پردازش آن، سیستم را از دسترس خارج کنند. مهاجمان دیداس میخواهند ارتباط استخرهای استخراج، کیف پولهای الکترونیکی، صرافیهای ارز دیجیتال و دیگر سرویسهای ارائهدهنده خدمات مالی را با شبکه قطع کنند.
اگر هکرها از باتنت استفاده کنند، بلاک چین هم میتواند مانند لایه برنامههایش هک شود. در میان سایر شبکههای بلاک چین، بیت کوین اقداماتی را برای محافظت در برابر حملههای دیداس لحاظ میکند.
حمله شکلپذیری تراکنش
حمله شکلپذیری تراکنش (Transaction malleability) با هدف فریفتن قربانی به اینکه دو بار پرداخت را انجام دهد اتفاق میافتد. در شبکه بیت کوین هر تراکنش یک هش دارد که در واقع ID تراکنش محسوب میشود.
اگر هکرها موفق به تغییر ID تراکنش شوند، آنها میتوانند سعی کنند که یک تراکنش با هش تغییریافته را در شبکه دادهپراکنی کنند و پیش از تراکنش اصلی، آن را تایید کنند.
ارسالکننده گمان میکند که تراکنش اولیه آنها ناموفق شده است، در حالیکه وجوه همچنان از حساب آنها برداشت خواهد شد؛ و اگر ارسالکننده بار دیگر تراکنش را تکرار کند، همان مقدار دوباره از حساب او کسر خواهد شد.
این هک زمانی موفقیتآمیز است که هر دو تراکنش توسط استخراجکنندگان تایید شود. صرافی امتیگاکس (MtGox)، در اثر یک حمله شکلپذیری در سال ۲۰۱۴ ورشکست شد.
زمانربایی
تایمجکینگ یا زمانربایی (Timejacking) از یک آسیبپذیری نظری در مدیریت زمانبندی بیت کوین استفاده میکند. در طی یک حمله زمانی، هکر شمارنده زمان شبکه را برای نود تغییر میدهد و نود را واردار به پذیرش یک بلاک چین جایگزین میکند.
این حمله زمانی میتواند اتفاق بیفتد که یک کاربر مخرب، چندین همتای (Peers) تقلبی را با برچسب زمانی (Timestamp) نادرست به شبکه اضافه کند. با این حال، میتوان با محدود کردن پذیرش محدوده زمانی و یا استفاده از زمان سیستم نود، از وقوع این حمله جلوگیری کرد.
حمله مسیریابی
حمله مسیریابی (Routing) میتواند هم بر هر نود به صورت جداگانه و هم بر کل شبکه تاثیر بگذارد. ایده این هک، مداخله در تراکنشها پیش از رساندن آن به همتایان است. تقریبا غیرممکن است که دیگر نودها بتوانند این دستکاری را تشخیص دهند؛ چرا که هکرها شبکه را به چند بخش تقسیمبندی میکنند که این بخشها قادر به برقراری ارتباط با یکدیگر نیستند.
حملات مسیریابی در واقع شامل دو حمله جداگانه هستند:
- حمله بخشبندی، که نودهای شبکه را به گروههای جداگانه تقسیم میکند.
- حمله تاخیری، که با انتشار پیامها و فرستادن آنها به شبکه، دستکاری و مداخله انجام میدهد.
حمله سیبیل
یک حمله سیبیل (Sybil)، با تخصیص چند شناسه به یک نود ترتیب داده میشود. شبکههای بلاک چین هیچ نود قابل اعتمادی ندارند و هر درخواست به تعدادی از نودها فرستاده میشود.
یک هکر، در طی یک حمله سیبیل، کنترل چند نود در شبکه را در دست میگیرد. سپس قربانی با چند نود جعلی که تمام تراکنشهای او را میبندد، محاصره شده است. در نهایت قربانی در معرض حمله دو بار خرج کردن (Double-Spending) قرار میگیرد.
شناسایی و پیشگیری از یک حمله سیبیل بسیار دشوار است، اما معیارهای زیر میتوانند موثر باشند: افزایش هزینه ساخت یک هویت جدید، نیاز به نوعی اعتماد برای پیوستن به شبکه و یا درنظر گرفتن قدرت کاربر بر اساس اعتبار.
حمله خسوف
حمله خسوف (Eclipse) نیازمند این است که هکر تعداد زیادی آدرس IP را کنترل کند و یا اینکه باتنت توزیع شده داشته باشد. سپس مهاجم آدرسها را روی نودهای قربانی بازنویسی میکند و تا راهاندازی دوباره نودهای قربانی منتظر میماند. پس از راهاندازی مجدد، تمام اتصالات خروجی از نود قربانی به آدرسهای IP تحت کنترل فرد مهاجم هدایت میشوند.
این حمله قربانی را از دستیابی به تراکنشهایی که به آنها علاقه دارد، محروم میکند. پژوهشگران دانشگاه بوستون حمله خسوفی را به شبکه اتریوم آغاز کردندو توانستند با استفاده از یک یا دو دستگاه این کار را انجام دهند.
حمله بازپخش
حمله بازپخش یا تکرار (Replay Attack) یکی از انواع حملات تحت شبکه است که در آن یک انتقال دادهی معتبر با انگیزهی بدخواهانه یا کلاهبرداری تکرار میشود یا به تاخیر میافتد. برای درک راحتتر سازوکار این حمله میتوان مثال زیر را در نظر گرفت.
فرض کنید آلیس میخواهد هویت خود را به باب اثبات کند. باب هم رمز عبور آلیس را به عنوان مدرکی برای اثبات هویت از او درخواست میکند، و آلیس هم قبول میکند. در همین حال فرد سومی مشغول استراق سمع است و رمز عبور یا تابع هش را میدزدد و نگه میدارد. پس از اینکه مبادله اطلاعات به اتمام رسید، اکنون حملهکننده خود را به جای آلیس جا میزند و با باب ارتباط برقرار میکند. زمانی که باب از او مدرک اثبات هویتش را میخواهد حملهکننده رمز عبور یا تابع هش آلیس را که پیش خود نگه داشتهاست، برای باب میفرستد و او هم میپذیرد و بدینگونه حمله تکرار صورت میپذیرد.
اما در مبحث ارزهای دیجیتال، حمله بازپخش معنای خاصی دارد و به هاردفورکهای پروتکلهای مختلف ارز دیجیتال مربوط میشود. حمله بازپخش از هاردفورک و تکرار توکنها بر روی زنجیره فورک شده سوءاستفاده میکند.
زمانی که یک پروتکل فورک میشود، در واقع پروتکل و دفتر کل نسخه جدید کاملا جدا و مجزا از نسخه قبلی خواهد بود. بهترین مثال این اتفاق فورک بیت کوین کش از بیت کوین است.
در آگوست ۲۰۱۷، توسعهدهندگان بیت کوین کش هارد فورکی بر روی پروتکل بیت کوین انجام دادند. کاربرانی که مایل به ادامه فعالیت روی بیت کوین بودند، نرمافزار خود را ارتقا ندادند، و کاربرانی که میخواستند به زنجیره بیت کوین کش بپیوندند، نرمافزار خود را بروزرسانی کردند.
درنتیجه دفتر کل بیت کوین و بیت کوین کش از یکدیگر جدا شدند، اما دقیقا همان دفتر کل پیشین را تا زمان فورک با یکدیگر به اشتراک گذاشتند.
خب شاید برای شما این سوال پیش بیاید که با وجود هارد فورک برای بیت کوینهای شما چه اتفاقی میافتد؟ خب اگر پیش از هاردفورک شما بیت کوین داشتید، پس از آن ضمن اینکه BTC خود را حفظ میکنید به همان اندازه بیت کوین کش نیز دریافت خواهید کرد.
این مشکل زمانی به وجود میآید که کاربر میخواهد پول خود را روی یک زنجیره خرج کند. به عنوان مثال، آلیس میخواهد برای باب 1BTC ارسال کند، اما نمیخواهد بهطور همزمان 1BCH ارسال کند.
زمانی که آلیس بخواهد از زنجیره بیت کوین 1BTC خرج کند، فرصت برای حمله بازپخش ایجاد میشود. از آنجا که امضاهای دیجیتالی تراکنشهای BTC در زنجیره BCH نیز یکسانند، شخص دیگری میتواند امضای آلیس را کپی کند و از آن در تراکنشی در دفتر کل BCH استفاده کند.
برای اینکه حمله بازپخش و یا تکرار اتفاق بیفتد، باید مقدار و آدرس مورد استفاده در تراکنش بازپخش دقیقا همانند تراکنش اصلی باشد. این حمله میتواند سبب ایجاد مشکلات پیچیدهتری نیز در پرداختهای آنلاین شود.
راهکار در امان ماندن از این حمله، ارسال و یا خرج نکردن ارزهای دیجیتال آسیبپذیرتان نیست و تامین امنیت زنجیره جدید به عهده شبکه است. اگر محافظت از زنجیره در زمان وقوع هاردفورک تامین نشود، اکثر سرویسهای کیف پول سختافزاری به شما توصیه میکنند و هشدار میدهند که تا زمانی که گرد و غبار ناشی از هارد فورک صورت گرفته فروکش نکرد و اوضاع به حالت عادی برنگشت سکههای خود را خرج نکنید.
حملههای کیف پول کاربر
همیشه نام بلاک چین و امنیت سایبری مانند نمک و فلفل کنار یکدیگر میآیند. شاید عجیب به نظر برسد، اما کاربران بلاک چین خود بزرگترین تهدید برای آن به شمار میروند. مردم تمایل دارند که امنیت بلاک چین را دست بالا بگیرند و احتمال حملات بالقوه را نیز نادیده بگیرند.
در اختیار گرفتن اطلاعات و اسناد هویتی کیف پول کاربران هدف اصلی مجرمان سایبری است. هکرها سعی دارند از هم از روشهای سنتی مانند فیشینگ و لغتنامه (Dictionary) و هم از روشهای مدرن و جدیدی مثل یافتن نقطه ضعف در الگوریتمهای رمزنگاری، استفاده کنند. در زیر به مرور رایجترین حملات به کیف پول کاربران خواهیم پرداخت.
فیشینگ
حمله فیشینگ (Phishing)، تلاشی مجرمانه برای بدست آوردن دادههای حساس مانند اطلاعات کاربری شخصی و بانکی است که طی آن یک مهاجم خود را به عنوان نهادی قابل اعتماد جا میزند و برای کاربر یک ایمیل یا پیام حاوی لینک مخرب ارسال میکند. با کلیک بر روی این لینک، در صفحه ورودی از کاربر خواسته میشود تا اطلاعات شخصی یا هر چیز دیگری که مورد نظر هکر باشد را وارد کند.
حمله به کیف پولهای شبکه آیوتا با راهاندازی iotaseed.io که تولیدکننده سید آنلاین بود، آغاز شد. هکرها یک کمپین فیشینگ با این سرویس تشکیل دادند و با سیدهای مخفی اطلاعات را جمعآوری کردند. در نهایت، در ژانویه ۲۰۱۸ هکرها از کیف پول قربانیان مقداری آیوتا به ارزش بیش از ۴ میلیون دلار سرقت کردند.
حمله لغت نامه
در طی حمله لغتنامه (Dictionary)، هکرها تلاش میکنند تا هش قربانیان را بشکنند و در آن دست ببرند. آنها مقادیر هشی از گذرواژههای معمولی و آسان مانند password1 انتخاب میکنند.
در این نوع حملات فرد مهاجم لیستی از واژهها، عبارات و حتی ترکیب حروف، ارقام و نمادها را مورد استفاده قرار میدهد که از احتمال بیشتری برای انتخاب شدن به عنوان رمز برخوردار هستند. سپس با ترجمه کلمه عبور از متن به هش رمزنگاری شده، میتوانند به اطلاعات شخصی کیف پولها دست یابند.
امضاهای آسیبپذیر
امضای دیجیتال فرآیندی است که در آن صحت و اعتبار یک پیام دیجیتالی تایید میگردد. یک امضای دیجیتال معتبر، به گیرنده اطمینان میدهد که پیام توسط فرستندهی اصلی ارسال شده و فرستنده نیز نمیتواند پیامی که ارسال کرده را انکار نماید. علاوه بر این، خود پیام نیز از تغییر و دستکاری مصون میماند.
شبکههای بلاک چین از الگوریتمهای رمزنگاری مختلفی برای ساختن امضای کاربر استفاده میکنند؛ اما این فناوریها ممکن است آسیبپذیریها و نقاط ضعفی نیز داشته باشند. برای مثال، بیت کوین از الگوریتم رمزنگاری ECDSA برای تولید خودکار کلیدهای خصوصی منحصر به فرد استفاده میکند. با این حال به نظر میرسد که ECDSA از انتروپی کافی برخوردار نیست و ممکن است منجر به انتخاب یک مقدار تصادفی در بیش از یک امضا شود.
ایجاد کلید ناقص
با سوءاستفاده از آسیبپذیری در تولید کلید، هکری به نام Johoe در دسامبر سال ۲۰۱۴ به سرویس ارائهدهنده کلیدهای خصوصی Blockchain.info دسترسی پیدا کرد. این حمله در نتیجه یک اشتباه که در طی بهروز رسانی یک کد اتفاق افتاد، رخ داد و منجر به ضعف تصادفی بودن ورودیها در ساختن کلیدهای عمومی کاربران شد. اگرچه این این مشکل و ضعف به سرعت مرتفع شد، اما هنوز این نقص در الگوریتم ECDSA وجود دارد.
حمله به کیف پول سرد
کیف پول سرد دستگاه های فوق العاده کوچکی هستند که ارزهای دیجیتال را به صورت آفلاین و با امنیت فوق العاده بالا ذخیره میکنند و میتوانید از آنها برای انجام تراکنشها استفاده کنید. لازم به ذکر است که برای انجام تراکنش به صورت خیلی امن به اینترنت متصل می شوند.
کیف پولهای سختافزاری و یا همان کیف پولهای سرد نیز میتوانند هک شوند. به عنوان مثال، پژوهشگران با بهکارگیری باگهای کیف پول نانو اس لجر (Nano S Ledger) حملهای با نام Evil Maid را طراحی و آغاز کردند. در نتیجه این هک پژوهشگران به کلیدهای خصوصی، پینها (PIN)، سیدهای بازیابی و گذرواژههای قربانیان دست یافتند.
حمله به کیف پول داغ
خدمات کیف پول داغ توسط شرکتهای خدمات کیف پول شخص ثالث در سرویس های ابری ارائه میشود. دسترسی به این کیف پول، تنها از طریق اتصال به اینترنت امکان پذیر است و برای ذخیره کلیدهای عمومی رمزنگاری مورد استفاده قرار میگیرند.
اگرچه صاحبان صرافیهای ارز دیجیتال ادعا میکنند که آنها اطلاعات کاربران خود را در کیف پولهایی که به اینترنت متصل نیست نگه میدارند، حمله اخیر ۵۰۰ میلیون دلاری به صرافی کوینچک (Coincheck) خلاف این مدعا را ثابت کرده است.
حملههای قرارداد هوشمند
یک قرارداد هوشمند، یک پروتکل ویژه است که برای مشارکت، تأیید یا اجرای مفاد یک قرارداد خاص، فعال میشود. قراردادهای هوشمند معاملات و فرایند ها را به صورت کاملا تضمینی و بدون اشخاص ثالث انجام می دهند.
فعالیت و ثبتهای قرارداد هوشمند قابل پیگیری و غیرقابل برگشت هستند. قراردادهای هوشمند شامل تمام اطلاعات مربوط به شرایط قرارداد و اجرای تمام اقدامات هدفگذاری شده به طور خودکار میشوند.
اصلیترین مسائل و مشکلات امنیتی بلاک چین مربوط به قراردادهای هوشمند، به اشکالات احتمالی در سورس کد و یا همان کد منبع، ماشین مجازی شبکه، محیط زماناجرای (Runtime) قراردادهای هوشمند و خود بلاک چین مرتبط میشوند. بیایید نگاهی جزییتر به هر کدام از این موارد بیندازیم.
آسیبپذیری در کد منبع قرارداد
اگر در کد منبع یک قرارداد هوشمند اشکال و یا آسیبپذیریای وجود داشته باشد، این برای هر دو طرف قرارداد که آن را امضا میکنند به نوعی خطر محسوب میشود. برای مثال باگ و یا اشکال شناسایی شده در قرارداد اتریوم در سال ۲۰۱۶ برای صاحبانش هزینهای ۸۰ میلیون دلاری در بر داشت.
یکی از آسیبپذیریهای رایج در زبان برنامهنویسی سالیدیتی (Solidity)، امکان کنترل توابع غیر قابل اعتماد از دیگر قراردادهای هوشمند با نام حمله بازدخولی (Reentrancy) را فراهم میکند.
آسیبپذیری در ماشین مجازی
ماشین مجازی اتریوم (EVM)، یک کامپیوتر پشتهای (Stack) توزیعشده است که تمام قراردادهای هوشمند مبتنی بر بلاک چین اتریوم روی آن اجرا میشوند. شایعترین آسیبپذیریهای EVM موارد زیر هستند:
۱- نقصهای تغییرناپذیر: ماهیت بلاکهای بلاک چین تغییرناپذیر است و این به این معناست که زمانی که یک قرارداد هوشمند ایجاد میشود، دیگر نمیتواند تغییر کند. اما این همیشه یک ویژگی مثبت نیست، چرا که اگر در کد یک قرارداد هوشمند اشکال و باگی وجود داشته باشد، باز هم برطرف کردن آن غیرممکن است. این احتمال خطر وجود دارد که مجرمان سایبری بتوانند آسیبپذیری کد را کشف کنند و از آن برای دزدیدن اتر و یا ایجاد یک فورک جدید، همانطور که در حمله DAO اتفاق افتاد، سوءاستفاده کنند.
۲- ارز دیجیتال از دست رفته در انتقال: اگر اتر به آدرسی که هیچ صاحب و یا هیچ قراردادی ندارد ارسال شود، ارز دیجیتال در فرآیند انتقال از بین میرود.
۳- باگ در کنترل دسترسی: یک باگ اصلاحکننده در قراردادهای هوشمند اتریوم وجود دارد که به هکر اجازه میدهد به عملکردها و قابلیتهای حساس در قرارداد دسترسی داشته باشند.
۴- حمله آدرس کوتاه: احتمال این حمله به دلیل اینکه EVM میتواند شناسه و مدارک نادرست را بپذیرد، وجود دارد. هکرها میتوانند با فرستادن آدرسهای ساختگی به قربانیان بالقوه از این ویژگی سوءاستفاده کنند. به عنوان مثال، در طی حمله موفق به عرضه اولیه کویندش (Coindash) در سال ۲۰۱۷، تغیری در آدرس اتریوم کویندش، سبب شد که قربانیان اتر خود را به آدرس هکرها منتقل کنند.
به طور کلی قراردادهای هوشمند یک هدف حمله جدید به بلاک چین هستند که هکرها میتوانند آن را با اجرای روشهای دیگر به خطر انداختن فناوری بلاک چین از جمله حمله خسوف، دیداس و … که معمول هستند، تطبیق دهند.
بلاک چینهای جدیدتر مثل کاردانو و زیلیکا از ماشینهای مجازی مختلفی از جمله IELE، KEVM و … استفاده میکنند. این بلاک چینهای جدید ادعا میکنند که میتوانند امنیت قرارداد هوشمند را در پروتکلهای خود تضمین کنند.
حملههای مکانیسم تایید تراکنش
برخلاف موسسات مالی، بلاک چین تنها پس از اینکه تمام نودهای درون شبکه به توافق رسیدند، تراکنش را تایید میکند. تا زمانی که یک بلاک با یک تراکنش تایید شود، به عنوان تراکنش تاییدنشده طبقهبندی میشود. فرآیند تایید تراکنش نیازمند زمان مشخصی است و این فاصله یک فرصت مناسب را برای حمله سایبری فراهم میکند. به عنوان مثال این زمان برای بیت کوین ۱۰ دقیقه است.
دو بار خرج کردن (Double Spending) یکی از معمولترین حملاتی که با سوءاستفاده از مکانیسم تایید تراکنش اتفاق میافتد. تمام تراکنشهای روی بستر یک بلاک چین باید توسط کاربران دیگر تایید شوند تا به عنوان یک تراکنش معتبر و تاییدشده شناخته شود و طبیعتا این پروسه به اندکی زمان نیاز دارد، مهاجمان میتوانند از این زمان به نفع خود استفاده و سیستم را فریب دهند تا از همین سکهها و توکنها را در تراکنشهای دیگر نیز استفاده کنند.
در اینجا انواع متداول حملاتی که بر اساس سوءاستفاده از زمان بین شروع تراکنش و تایید آن صورت میپذیرد را بیان خواهیم کرد.
حمله فینی
یک حمله فینی (Finney) زمانی امکانپذیر است که یک تراکنش در یک بلاک از پیش استخراج شده باشد و یک تراکنش مشابه، قبل از اینکه بلاک از پیش استخراج شده در شبکه منتشر شود، ایجاد میشود و بدین ترتیب تراکنش دوم مشابه را غیرفعال و نامعتبر میکند.
حمله رقابتی
یک حمله رقابتی (Race) زمانی اجرا میشود که یک مهاجم دو تراکنش متضاد ایجاد میکند. اولین تراکنش به قربانی فرستاده میشود که او پرداخت را قبول میکند و محصول را بدون اینکه منتظر تایید اولیه بماند، ارسال میکند. در همین حال، یک تراکنش متضاد که همان مقدار ارز دیجیتال را به مهاجم باز میگرداند در شبکه پخش میشود و در نهایت تراکنش اول را معتبر میسازد.
وکتور۷۶
وکتور۷۶ (Vector76)، ترکیبی از دو حمله پیشین است. در این حالت، یک استخراجکننده بد و مخرب ۲ نود ایجاد میکند که یکی از آنها را تنها به نود صرافی و دیگری را به همتایان متصل به هم در شبکه بلاک چین، متصل میکند.
پس از آن، استخراجکننده دو تراکنش ایجاد میکند یکی با ارزش بالا و دیگری با ارزش کم. سپس، مهاجم بلاک با ارزش بالا را پیشاستخراج میکند اما از فرستادن آن به صرافی خودداری میکند. پس از اینکه بلاک جدید اعلام شد، او بلافاصله بلاک از پیش استخراج شده را به سیستم صرافی میفرستد.
در این میان برخی از استخراجکنندگان این بلاک از پیش استخراج شده را به عنوان زنجیره اصلی در نظر میگیرند و این تراکنش را تایید میکنند. بنابراین این حمله از این واقعیت که بخشی از شبکه تراکنشی را که مهاجم بلاک آن را هدف قرار داد را میبینند در حالیکه بخشی دیگر این تراکنش را مشاهده نمیکنند، سوءاستفاده میکند.
پس از اینکه سرویس صرافی تراکنش با ارزش بالا را تایید کرد، مهاجم تراکنش با ارزش کم را به شبکه اصلی میفرستد و در نهایت تراکنش با ارزش بالا را رد میکند. در نتیجه تراکنش با ارزش بالا در حساب مهاجم سپرده میشود. اگرچه شانس بسیار بالایی برای موفقیت در این حمله وجود دارد، اما خیلی رایج و متداول نیست؛ چرا که نیاز دارد که یک کیف پول الکترونیک میزبان پس از تایید تراکنش، پرداخت را بپذیرد.
حمله تاریخ جایگزین
حمله تاریخ جایگزین (Alternative history) ممکن است حتی در مورد تایید چندین تراکنش نیز رخ دهد، اما به مقدار زیادی توان محاسباتی نیاز دارد.
در این حالت، کاربر مخرب تراکنشی را به فروشنده ارسال میکند و در همان زمان فورکی جایگزین را با تراکنش دیگری که ارزهای مشابهی را بازمیگرداند، استخراج میکند. حتی اگر فروشنده محصول خود را پس از تاییدها ارسال کند، اگر مهاجم زنجیره بلندتری را منتشر کند و سکههای آنها را پس بگیرد، ممکن است پول خود را از دست دهد.
حمله ۵۱ درصدی
حمله ۵۱ درصدی زمانی امکانپذیر است که یک هکر کنترل ۵۱ درصد از نرخ هش شبکه را در دست بگیرد و یک فورک جایگزین ایجاد کند که نسبت به پروژههای موجود در اولویت قرار گیرد. این حمله در ابتدا تنها آسیبپذیری شناختهی بیت کوین بود و در گذشتهای نه چندان دور غیرواقعی به نظر میآمد.
با این حال ۵ ارز دیجیتال ورج، زنکش، موناکوین، بیت کوین گلد و لایت کوین کش از حملات ۵۱ درصد آسیب دیدند. در هر یک از این موارد، مجرمان سایبری به اندازهای قدرت هش شبکه را دست گرفتند که آن را به خطر بیاندازند و میلیونها دلار به جیب بزنند.
متاسفانه همه ارزهای دیجیتال کوچک و نوپا هنوز هم در معرض خطر هستند. چرا آنها استخراجکنندگان کمتری را جذب میکنند و مهاجمان میتوانند برای ایجاد سهم عمده در شبکه توان محاسباتی لازم را اجاره کنند.
اقدامات لازم برای پیشگیری از حملات دو بار خرج کردن شامل نظارت بر تراکنشهای دریافت شده، ارسال مبادرتها و تلاشهای دو بار خرج کردن، وارد کردن نودهای دیگر برای مشاهده تراکنش و رد اتصالات مستقیم ورودی میشود.
علاوه بر این، یک فناوری جدید و نوآورانهای با نام شبکه لایتنینگ وجود دارد که با هدف حل مشکلات سوءاستفاده از نقاط ضعف مکانیزم تایید تراکنشها طراحی شده است. این شبکه به کاربران اجازه میدهد که از طریق شبکهای از کانالهای پرداخت دو سویه بدون تفویض اختیار وجوه، فورا تراکنشها را تایید کنند. با این حال، هنوز در معرض حمله دیداس قرار دارد که یکی از آنها در مارس ۲۰۱۸ اتفاق افتاد.
حملههای استخرهای استخراج
استخراجکنندگان غالبا منابع (توان محاسباتی و پردازشی) خود را با یکدیگر متحد میکنند و یک استخر استخراج (Mining pool) میسازند. با انجام این کار، آنها را میتوانند بلاکهای بیشتری را ماین کنند و در نتیجه پاداش استخراج را با یکدیگر شریک شوند.
برای ارزهای دیجیتالی همانند بیت کوین، رسیدن به سود برای ماینرهایی که بخواهند به صورت جداگانه کار کنند غیر ممکن است. در حال حاضر بزرگترین استخرهای استخراج بیت کوین BTC.com، AntPool.com و ViaBTC هستند.
بر اساس گزارش وبسایت Blickchain.com، این سه با یکدیگر بیش از ۵۲ درصد از نرخ هش (Hash rate) کل شبکه را به دست میآورند.
استخرهای استخراج هدف چرب و نرمی برای مهاجمان به نظر میرسند. استخراجکننده مخرب تلاش میکند با سوءاستفاده از آسیبپذیریهای مکانیسم اجماع بلاک چین، کنترل داخلی و خارجی استخرهای استخراج را در دست بگیرد.
در اینجا نگاهی اجمالی به برخی از رایجترین حملات استخرهای استخراج خواهیم داشت.
استخراج خودخواهانه
استخراج خودخواهانه (Selfish mining) به تلاشهای یک ماینر مخرب برای افزایش سهمش از پاداش استخراج اشاره دارد. فرد مهاجم با پخش بلاکهای استخراجشده در شبکه برای مدت زمانی و سپس آزاد کردن چند بلاک بلافاصله، باعث میشود که استخراجکنندگان دیگر بلاکهای خود را از دست دهند.
از جمله اقداماتی که ممکن است برای جلوگیری از این نوع حمله موثر واقع شود، میتوان به انتصاب تصادفی استخراجکنندگان به شاخههای مختلف استخر، ارحج شمردن بلاک با برچسب زمانی تازهتر و یا تولید بلاکها در زمان قابل قبول، اشاره کرد. این نوع حمله، همیشه به عنوان مضایقه بلاک شناخته میشود.
در نتیجه یک حمله خودخواهانه به استخر الیگیوس (Eligius) در سال ۲۰۱۴، ماینرها ۳۰۰ بیت کوین از دست دادند. احتمال موفقیت آمیز بودن این نوع از استخراج خودخواهانه بسیار زیاد است و ممکن است برای همه ارزهای دیجیتال اتفاق بیفتد.
ثبتنام تنها ماینرهای مورد اعتماد و یا تغییر پروتکل بیت کوین برای پنهان کردن تفاوت بین الگوریتم اثبات کار نسبی و اثبات کار کامل، میتواند چند نمونه از اقدامات پیشگیرانه در برابر استخراج خودخواهانه باشد.
فورک پس از مضایقه
فورک پس از مضایقه (Fork-After-Withhold or FAW) نوعی از استخراج خودخواهانه است که به نظر میرسد منجر به دریافت پاداش بیشتری برای مهاجمان میشود. در جریان یک حمله FAW، ماینر مخرب بلاک برنده را پنهان میکند و بسته به موقعیت، یا آن را رها میکند و یا در زمان دیگری، برای ایجاد فورک آن را آزاد میکند.
جمعبندی
بلاک چین، یک فناوری نسبتا جدیدی است که اشکالات و آسیبپذیریهایی دارد. اگرچه محبوبیت بلاک چین به صورت روز افزون در حال افزایش است، اما افزایش تعداد حملات سایبری ممکن است خللی در این روند ایجاد کند. با افزایش آگاهی کاربران از آسیبپذیریهای بلاک چین، میتوان از اکثر این حملات پیشگیری کرد، در حالیکه برخی دیگر تنها با تخصص و دانش قابل جلوگیریاند.
اعتمادم با خاک یکسان شد.