فهرست مطالب
- حملات ۵۱ درصدی یا حملات اکثریت
- حمله فینی یا Finney Attack
- حمله (DDoS)
- حمله قالبپذیری تراکنشها (Transaction Malleability)
- حمله روتینگ (Routing)
به دلیل کاربردهای فراوان و متنوع ارزهای رمزنگاری شده و توسعه مداوم فناوری سیستم توزیع شده، بلاکچین به طور گستردهای در حوزههای مختلف مورد استفاده قرار گرفته است. بلاکچین یکی از امنترین فناوریها همراه با یکپارچگی دادهها، سیستم غیرمتمرکز و قابلیت تایید است. با اینحال، اشکال جدیدی از تهدیدات امنیتی در حال ظهورند که قادر به ایجاد خسارات عظیم و جبرانناپذیری به بلاکچین هستند. این مقاله به بررسی رایجترین حملات مرتبط با بلاکچین میپردازد.
به دلیل عدم وجود سیستمهای قابل اعتماد تجزیهوتحلیل حملات، درک کامل برخی از حملات به یک زنجیره بلوکی، مانند ماینینگ، ارتباطات شبکه، قراردادهای هوشمند و حملات مربوط به حریم خصوصی، همچنان چالش برانگیز است. برای درک بیشتر از انواع حملات بلاک چین، در این مقاله از صرافی تتر لیستی از حملات رایج و ضعفهای احتمالی بلاکچین که باید از آنها آگاه بود، گردآوری شده است.
حملات ۵۱ درصدی یا حملات اکثریت
حملات اکثریت که به عنوان حملات 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 در واقع از دو حمله مجزا تشکیل شدهاند:
یک حمله پارتیشن بندی شده که گرههای شبکه را به گروه های جداگانهای تقسیم میکند.
یک حمله تاخیری که انتشار پیامها را دستکاری کرده و آنها را به شبکه ارسال میکند.
نظرات