حملات مرتبط با ماینینگ
به دلیل کاربردهای فراوان و متنوع ارزهای رمزنگاری شده، حملات ماینینگ و توسعه مداوم فناوری سیستم توزیع شده، بلاکچین به طور گستردهای در حوزههای مختلف مورد استفاده قرار گرفته است. بلاکچین یکی از امنترین فناوریها همراه با یکپارچگی دادهها، سیستم غیرمتمرکز و قابلیت تایید میباشد. با اینحال، اشکال جدیدی از تهدیدات امنیتی در حال ظهوراند که قادر به ایجاد خسارات بزرگ و جبرانناپذیری به بلاکچین هستند. این مقاله به بررسی رایجترین حملات مرتبط با بلاکچین میپردازد.
به دلیل عدم وجود سیستمهای قابل اعتماد تجزیهوتحلیل حملات، درک کامل بعضی از حملات به یک زنجیره بلوکی، مانند ماینینگ، ارتباطات شبکه، قراردادهای هوشمند و حملات مربوط به حریم خصوصی، همچنان چالش برانگیز است.
حملات ۵۱ درصدی یا حملات اکثریت
حملات اکثریت که به عنوان حملات 51 درصدی (51% Attack) شناخته میشوند، هنگامی اتفاق میافتد که یک فرد یا گروهی از افراد، کنترل بیش از 50٪ از نرخ هش (Hash Rate) یک بلاکچین را در اختیار بگیرند. این موضوع اغلب با اجاره ارزدیجیتال از شخص ثالث انجام میگردد. پلتفرمهایی مانند MonaCoin ،ZenCash ،Bitcoin Gold ،Verge و Shift همگی قربانی حملات 51 درصدی شدهاند. حمله 51 درصدی، حمله به بلاکچین یک ارز دیجیتال توسط گروهی از ماینرها است که بیش از ۵۰ درصد از نرخ هش شبکه را کنترل میکنند. داشتن ۵۱ درصد از گرههای شبکه به طرفهای کنترل کننده، قدرت تغییر زنجیره بلوکی را میدهد. مهاجمان میتوانند از تایید تراکنشهای جدید جلوگیری کنند و به آنها اجازه دهند پرداختهای بین بعضی یا همه کاربران را متوقف کنند. آنها میتوانند تراکنشهایی را که در زمان کنترل کامل شدهاند را هم معکوس کنند. معکوس کردن تراکنشها میتواند به آنها این امکان را دهد تا سکهها را دو برابر کنند. یکی از مسائلی که مکانیسمهای اجماع مانند اثبات کار برای جلوگیری از آن ایجاد شد، همین موضوع بود. این حمله یک کار بسیار دشوار و چالش برانگیز است و هزینه انجام این کار یکی از مهمترین عواملی است که از حمله ۵۱ درصدی جلوگیری میکند.
حمله ماینینگ فینی یا Finney Attack
یکی از انواع حملهها به شبکه بلاکچینی، حمله فینی (Finney Attack) است. حمله فینی هنگامی رخ میدهد که یک تراکنش به یک بلوک وصل شده و تراکنشی مشابه قبل از انتشار آن بلوک از قبل مشخص شده در شبکه ایجاد شود که در نهایت دومین تراکنش مشابه را باطل میکند. حمله فینی که نخستین حمله شناخته شده به وسیله بیتکوین است، به عنوان مشکلی با هزینه مضاعف معرفی میگردد. در این حالت، استخراجکنندهای که بلاکها را استخراج میکند شامل یک تراکنش گزارش نشده در بلوکی که استخراج میکند میشود و بعضی از کوینها را مجدداً میفرستد. هک یا حمله (Finney) یک نوع حمله دوگانه است که در آن یک ماینر میتواند بلوکی ایجاد کند که در آن تراکنش را از یک آدرس A به آدرس B دیگر وارد کند، جایی که هر دو آدرس متعلق به او هستند. اولین فردی که تراکنش بیتکوین را دریافت کرد هال فینی (Hal Finney) بود. او اولین شخصی بود که اولین بار احتمال حمله دو برابری به رمزارز بیتکوین را مطرح نمود. به همین دلیل است که این حمله به نام او (Finney Hack یا Finney Attack) نامگذاری شد.
حمله (DDoS)
حمله Distributed Denial-of-Service یا به اختصار DDoS، یک تلاش مخرب برای ایجاد اختلال در ترافیک عادی یک سرور، سرویس یا شبکه هدفمند با غلبه بر هدف یا زیرساخت اطراف آن با سیل ترافیک اینترنت است. یک حمله DDoS مانند یک ترافیک غیرمنتظره است که بزرگراه را مسدود میکند و از رسیدن اتوموبیلها به مقصد جلوگیری میکند.
شبکه بلاکچین به دلیل ماهیت توزیع شدهاش، حفاظتی دارد تا اطمینان حاصل شود که تراکنشها میتوانند حتی بعد از مدتی آفلاین شدن بعضی از گرهها ادامه پیدا کنند. هر گرهای میتواند به دلیل یک حمله DDoS یا هر رویداد دیگری بدون تسلط بر شبکه به طور کلی از بین برود. همه شبکههای بلاکچینی با یکدیگر برابر نیستند و برای هر شبکه بلاکچین خاصی، استحکام آن به تعداد گرهها، تنوع و نرخ هش بستگی دارد.
دو روش برای انجام حملات DDoS وجود دارد:
حملات DDoS از طریق سیل بیشمار تراکنشها
یکی از اصلیترین حملات DDoS در بلاکچین، سیل بیشمار تراکنشها است. با هجوم تراکنشهای نادرست در بلاکچین، مهاجم میتواند دسترسی کاربران مجاز (اصلی) را به خطر بیاندازد و اثرات نامطلوب دیگری بر شبکه داشته باشد. بلاکچینها ظرفیت ثابت از پیش تعریف شدهای دارند، به این خاطر است که آنها بلوکهای جدیدی را در فواصل زمانی منظم با حداکثر اندازه مشخص ایجاد میکنند. هر تراکنشی که در بلوک فعلی اضافه نشده باشد در Mempool ذخیره میشود تا بعداً در بلوک بعدی اضافه گردد. اگر هر مهاجم مخرب چندین تراکنش را به شبکه بلاکچین ارسال کند، میتواند بلوک کامل را با تراکنشهای نادرست پر کند که باعث میشود تراکنشهای مجاز برای مدت طولانی در Mempool باقی بمانند. بنابراین اگر تراکنشهای قانونی در بلوکها گنجانده نشوند، به دفتر کل اضافه نمیشوند و در نتیجه بلاکچین قادر به انجام کار خود نخواهد بود.
حملات DDoS از طریق قرارداد هوشمند
به این صورت است که مهاجم یک تراکنش محاسباتی فشرده را به یک قرارداد هوشمند بفرستد که در واقع از گنجاندن بقیه تراکنشها در بلوک فعلی جلوگیری میکند.
حمله قالبپذیری تراکنشها (Transaction Malleability)
هدف از حمله (Transaction Malleability)، فریب فرد برای دو بار پرداخت کردن میباشد. در شبکه بیتکوین، هر تراکنش یک هش دارد که شناسه تراکنش است. اگر مهاجمان موفق به تغییر شناسه تراکنش شوند، میتوانند سعی کنند تراکنش را با یک هش تغییر یافته در شبکه پخش کنند و قبل از تراکنش اصلی آن را تأیید کنند. در صورت موفقیتآمیز بودن این عمل، فرستنده باور خواهد کرد که تراکنش اولیه شکست خورده است، در حالیکه وجوه همچنان از حساب فرستنده برداشت میشود و اگر فرستنده تراکنش را تکرار کند، همان مبلغ دو بار از حساب او کسر میگردد. این حمله هنگامی موفقیت آمیز است که دو تراکنش توسط ماینرها تایید شود.
حمله روتینگ (Routing)
حمله Routing میتواند بر هر دو گره و کل شبکه بلاکچین تأثیر گذارد. ایده این حمله، با هک و دستکاری تراکنشها قبل از انتقال آنها به همتایان است. تشخیص این دستکاری برای گرههای دیگر تقریبا غیرممکن است، چون هکر شبکه را به پارتیشنهایی تقسیم میکند که قادر به برقراری ارتباط با هم نیستند. حملات Routing در واقع از دو حمله مجزا تشکیل شدهاند:
یک حمله پارتیشن بندی شده که گرههای شبکه را به گروه های جداگانهای تقسیم میکند.
یک حمله تاخیری که انتشار پیامها را دستکاری کرده و آنها را به شبکه ارسال مینماید.
دیدگاهتان را بنویسید