تحليل هجوم الكسوف في العملات الرقمية: آلية عمله وتأثيره على الخصوصية
هجوم الكسوف هو هجوم يحدث في مستوى الند للند ومصمم لعزل العقد عن باقي الشبكة الموزعة.
هو تعتبر هجوم بسيط نسبياً حيث يمكن ان ينتشر الممثل المؤثر الضار ليتعارض مع العقد على الشبكة، كما يشير المسمى، يهدف الهجوم لحجب رؤية مشارك لشبكة الند بالند ليسبب اضطراب عام او ليستعد لهجومات اكثر تعقيداً.
يمكن ان تبدو هجمات الكسوف شبيهة لهجمات Sybil للوهلة الأولى، بينما يتشاركان بعض التشابهات إلا ان هدفهم النهائي مختلف جوهرياً.
يستهدف هجوم الكسوف عقده واحده في حين ان هجوم Sybil هو هجوم على مستوى الشبكة صُمم ليتلاعب بنظام السمعة للبروتوكول.
تم مناقشة هذا المفهوم باستفاضة في الورقه البحثية لعام 2015 هجمات الكسوف على شبكات الند للند بالبيتكوين التي قام فيها باحثون من جامعة Boston و جامعة Hebrew بذكر نتائج تجاربهم في تزايد هجمات الكسوف و كذلك التدابير المضادة الممكنة لمكافحتها.
كيف يعمل هجوم الكسوف
يحتاج مُعدنين البيتكوين معدات مخصصة من اجل توليد كتل جديده لكن تعمل العقد الغير المُعدِنة (الكاملة) على اقل قوه حاسوبية، هذا يساعد على لامركزية البيتكوين حيث يستطيع اي شخص تشغيل عقدة على جهاز منخفض الخصائص ويحتفظ البرنامج بقاعدة بيانات للمعاملات التي يقوم بمزامنتها مع انداده المباشرين، بحيث يظل على اتصال دائم بالشبكة.
يعتبر عرض النطاق الترددي عامل حد للعديد من العقد، على الرغم من وجود كمية هائلة من الأجهزة التي تشغل البرنامج، إلا أن الجهاز المتوسط يكون غير قادر على الاتصال مباشرة بالعديد منها بسبب القيود المنصوص عليها في برنامج البيتكوين (الذي يسمح فقط ب 125 اتصالاً كحد اقصى).
في هجوم الكسوف سيضمن الممثل الضار أن جميع الإتصالات المستهدفة يتم تحويلها الى عقد يسيطر عليها المهاجم، وسيقوم الكيان أولاً بإغراق الهدف بعناوين الـ IP الخاصة به، والتي من المحتمل أن يتصل بها الضحية عند إعادة تشغيل البرنامج، حيث يمكن فرض إعادة التشغيل إما (مع هجوم DDoS على الهدف) أو يمكن للمهاجم ببساطة انتظار حدوثه.
بمجرد حدوث هذا يكون الضحية المطمئن تحت رحمة العقد الضارة بدون عرض للشبكة الاوسع ويُمكن تزويدهم ببيانات غير صحيحه من قِبل المهاجم.
توابع هجوم الكسوف
إذا كان المهاجم ينفق الموارد لتنفير نظير من الشبكة، فمن المحتمل أن يكون لديهم دافع للقيام بذلك، وهناك عدد قليل من الهجمات المتتالية التي يمكن إطلاقها بسهولة أكبر بمجرد اختناق العقدة:
1 – (0-توكيد مضاعفة النفقات)
إذا قبل الفرد معاملة ما بدون تأكيدات، فسيكون عرضة لخطر مضاعفة الإنفاق، ربما تم بث المعاملة ولكن حتى يتم تضمينها في كتلة (وبالتالي تلتزم بالبلوكتشين) يمكن للمرسل صياغة معاملة جديدة تنفق نفس الأموال في مكان آخر بسهولة وإذا كانت المعاملة الجديدة تحتوي على رسوم أعلى فمن المحتمل أن يقوم المُعدِن بتضمينها قبل المعاملة الاصلية و إبطال المعاملة السابقة.
تقبل بعض الشركات والأفراد 0-معاملات التأكيد هذه.
على سبيل المثال، تاجر اسمه “بوب” الذي يبيع السيارات الفارهة، إنه غير مدرك أن “جينا” قد حجبت عقدته ولا يشك في أي شيء لأنها تضع طلبية لسيارة رياضية فاخرة، تقوم هي بإنشاء معاملة و يقوم “بوب” بعدها ببثها إلى الشبكة مقتنعا بكون الدفع في طريقه إليه، فيقوم بتسليمها مفاتيح السيارة و تنطلق “جينا” مسرعة.
بالطبع لم تبث المعاملة على الشبكة فقد قام “بوب” بنقلها فقط الي عقد “جينا” الضارة التي لن تقوم بنقلها للعقد الصحيحة، في حين ان هذه المعاملة عالقة ستنفق “جينا” نفس الرصيد على الشبكة (الحقيقية) سواء لطرف اخر او لعنوان تمتلكه حتى لو ظهرت في النهاية المعاملة الاولية “بوب” ستُرفض حيث تم انفاق العملات بالفعل.
2 – توكيد مضاعفة النفقات N
توكيد مضاعفة النفقات-N شبيه لتوكيد مضاعفة النفقات-0 لكنه يشمل تحضير اكثر، تفضل الكثير من الاعمال انتظار عدد معين من التأكيدات قبل اعتبار عملية الدفع صحيحة.
للتغلب على هذا، يجب على المهاجم كسف كل من المُعدنين والتاجر، بمجرد قيام المهاجم بإعداد الطلب مع التاجر، يبثون معاملة إلى المُعدنين (للذي تم كسفهم)، تم تأكيد المعاملة وإدراجها في البلوكتشين ولكن هذا البلوكتشين ليس السلسلة التي تلاحظها غالبية الشبكة، نظراً لأن المُعدن معزول.
من هناك، يقوم المهاجم بنقل هذا الإصدار من البلوكتشين إلى التاجر الذي يطلق البضائع معتقداً بأنه تم تأكيد المعاملة، وبمجرد أن تنضم العقد التي تم كسفها إلى الشبكة الفعلية، فإن البلوكتشين التي يعتقدون بشكل خاطئ أنها غير صحيحة تُيتم بواسطة تلك التي تعمل عليها بقية الشبكة (هذا يحمل بعض أوجه التشابه مع هجوم 51%.
3 – إضعاف المُعدنين المتنافسين
سوف تستمر العقدة الكسوف في التشغيل غافلة عن حقيقة أنهم قد تم فصلهم عن الشبكة، سيستمر المُعدنين في تعدين الكتل في نطاق القواعد الموضوعة من قِبل البروتوكول، ولكن سيتم تجاهل الكتل المضافة لأنها تتزامن مع الانداد الصحيحة.
نظرياً يمكن استخدام هجوم الكسوف على نطاق كبير على أغلب المُعدنين لتسهيل هجوم 51%، كما هو الحال، فإن تكلفة الاستيلاء على غالبية قوة تجزئة البيتكوين ببساطة عالية جداً حتى بالنسبة لأكثر المهاجمين حيلة عند 80TH/S، سيحتاج الكيان إلى أكثر من 40TH/S لمحاولة مثل هذه المناورة.
في سيناريو افتراضي حيث يتم توزيع قوة التجزئة هذه بين 10 أطراف بحيث يمتلك كل منها 8TH/S، يمكن للمهاجم تقليل متطلبات هجوم 51% بشكل كبير عن طريق عزل هذه الأطراف عن الشبكة، إذا تم كسف خمسة، فسيتم إزالة 40TH/S من السباق للعثور على الكتلة التالية، ويحتاج المهاجم الآن فقط إلى الحصول على ما يزيد قليلاً عن 20TH/S للتحكم.
يمكن أن يحدث تخريب آخر عن طريق كسف الاهداف حيث يشمل التلاعب بالعقد من أجل التعدين الأناني او هندسة السباقات بين المُعدنين لإيجاد الكتلة التالية.
تخفيف
بعناوين IP كافيه، يستطيع المهاجم ان يكسف اي عقدة، أكثر طريقة استقامة لمنع هذا من الحدوث هو أن يقوم المُشغل بمنع اي روابط واردة و القيام فقط بروابط صادرة لعقد معينة (مثل هذه العقد التي اعتمدت من قبل انداد اخرين).
كما تشير الاوراق البحثية، رغم أن هذا ليس النهج الذي يعمل على نطاق واسع إلا أنه لو تبنى كل المشاركين هذه المقاييس فلن تستطيع العقد الجديدة أن تنضم الي الشبكة.
يقترح المؤلفون مجموعة من التعديلات على برمجية البتكوين، والتي تم دمج بعضها منذ إصدار الورقة البحثية، تصبح هجمات الكسوف أكثر تكلفة من خلال التعديلات الطفيفة على الكود، مثل الاختيار العشوائي للاتصالات الجديدة وزيادة السعة لتخزين العناوين.
يتم تنفيذ هجمات الكسوف على مستوى شبكة الند للند بنشرها كاعتداء مستقل فيمكن أن تكون مصدر إزعاج، فعاليتها الحقيقية هي في تعزيز الهجمات الأخرى التي تؤثر على الأهداف مالياً أو تزويد المهاجم بأفضلية على جبهة التعدين.
في الواقع، لا تزال هناك عواقب وخيمة ناجمة عن هجوم الكسوف، لكن التهديد لا يزال قائماً على الرغم من التدابير المضادة المدمجة في الشبكة.
كما هو الحال مع معظم متجهات الهجوم الموجودة للبتكوين والعملات الرقمية الأخرى، فإن أقوى دفاع سيكون هو الذي يجعل من المحظور مالياً على الأطراف الضارة محاولة ذلك.