الانتقال إلى المحتوى

هجوم الكسوف: العزل والكشف وحماية العقدة

تعرّف إلى كيفية عزل هجوم الكسوف لعقدة بلوكتشين، ولماذا يمكن للبيانات الصالحة أن تنشئ رؤية زائفة للشبكة، وكيف يقلل تنوع الأقران والفحوص المستقلة من المخاطر.

آخر تحديث

لأغراض تعليمية فقط؛ وليست نصيحة استثمارية. قد يؤدي الاستثمار إلى خسارة.

الإجابة المباشرة

يعزل هجوم الكسوف عقدة مستهدفة عن الأقران الصادقين عبر السيطرة على جميع اتصالاتها الشبكية أو على عدد كافٍ منها. وبعد ذلك يستطيع المهاجم تأخير الكتل والمعاملات أو حجبها أو تمريرها انتقائيا، بحيث ترى الضحية صورة للشبكة صاغها المهاجم.

قد تواصل العقدة الضحية التحقق من التوقيعات وإثبات العمل وجميع قواعد الإجماع الأخرى. لكن ذلك لا يعني أن رؤيتها كاملة أو محدثة. فقد ترفض عقدة تتحقق من كل شيء البيانات غير الصالحة، ومع ذلك تبقى محتجزة على فرع صالح لكنه قديم، أو تُحرم من رؤية معاملة متعارضة، أو تُضلل بشأن ما قبلته الشبكة الأوسع.

يختلف ذلك عن هجوم أغلبية يستهدف الشبكة كلها. فالمهاجم يستهدف عقدة واحدة أو مجموعة محدودة من العقد على طبقة الند للند، ولا يحتاج إلى السيطرة على معظم قدرة التعدين أو الحصة في الشبكة. ويمكن لهجوم سيبيل أن يدعم هجوم الكسوف بتوفير هويات أو عناوين كثيرة يسيطر عليها المهاجم، لكن المفهومين ليسا متطابقين: يصف سيبيل مضاعفة الهويات، بينما يصف الكسوف النجاح في عزل رؤية الضحية للمعلومات.

كيف يحدث العزل

تكتشف برمجيات الند للند العناوين المرشحة وتخزنها، وتختار الأقران الصادرين، وتقبل بعض الأقران الواردين، ثم تعيد الاتصال بعد الأعطال أو إعادة التشغيل. تختلف الخوارزميات الدقيقة باختلاف البرنامج والإصدار. ويبحث المهاجم عن وسيلة لتحييز عدد كافٍ من هذه القرارات نحو بنية تحتية يسيطر عليها.

يتكون مسار الهجوم المعتاد من 4 مراحل:

  1. إعداد أقران يسيطر عليهم المهاجم. يشغّل المهاجم عقدا أو هويات يمكن الوصول إليها عبر عناوين يُرجح أن تعدها قواعد اختيار الأقران لدى الضحية جهات منفصلة.
  2. تحييز مجموعة المرشحين. يعلن الأقران الخبيثون عناوين يسيطر عليها المهاجم، أو يحاولون بوسائل أخرى إزاحة السجلات الصادقة من مدير عناوين الضحية. وتعتمد الجدوى العملية على تصميم الحاويات، وقواعد مجموعات الشبكات، وحدود المعدل، وجودة العناوين المخزنة مسبقا.
  3. التسبب في إعادة الاتصال أو انتظارها. قد تدفع إعادة التشغيل أو تقلب الاتصالات أو حجب الخدمة أو اضطراب التوجيه الهدف إلى استبدال الأقران الصادقين. ويكون العزل أسهل عندما تكون لدى الهدف مسارات مستقلة قليلة أو يبدأ بقاعدة بيانات عناوين ضعيفة.
  4. احتكار الاتصال وتصفيته. متى صارت اتصالات الضحية ذات الصلة تقود إلى المهاجم، لا يمرر المهاجم إلا الكتل والمعاملات التي يختارها، وغالبا ما يلتزم بقواعد الإجماع لتجنب الرفض الفوري.

أثبتت دراسة USENIX لعام 2015 هذه الفئة من الهجمات على تطبيق شبكة بيتكوين للند للند المستخدم آنذاك، ووصفت نتائج منها الإنفاق المزدوج القائم على التأكيدات، ومساعدة التعدين الأناني، والتفرعات العدائية. أما تقديرات الموارد وتفاصيل البرنامج الواردة فيها فهي تاريخية وليست ثوابت عامة تنطبق على Bitcoin Core الحالي أو على الشبكات الأخرى.

يمكن للبرمجيات الحديثة رفع كلفة العزل عبر التخزين العشوائي والمجزأ للعناوين، وتنويع مصادر الأقران، والاتصالات الاختبارية، والاتصالات الصادرة المحمية أو المخصصة لتمرير الكتل، ونقاط الارتكاز التي تستمر بعد إعادة التشغيل، وقواعد الطرد، وحدود تمرير العناوين. وهذه وسائل تخفيف متعددة الطبقات، وليست براهين على استحالة هجمات الكسوف.

مثال الدفع والاستجابة

افترض أن عقدة تاجر تلقت دفعة وتعرض 6 confirmations. قد يعرض مهاجم عزل تلك العقدة عليها فرعا صالحا يديره سرا ويتضمن الدفعة، بينما تقبل الشبكة الصادقة معاملة متعارضة. وإذا سلّم التاجر سلعا لا يمكن استردادها اعتمادا على العقدة المعزولة وحدها، فلا يثبت العدد المعروض أن الشبكة الصادقة أكدت الدفعة.

ينبغي أن تحافظ الاستجابة للحادث على الأدلة قبل إجراء تغييرات معطلة:

  • سجّل رأس السلسلة المبلغ عنه، والعمل التراكمي، وتجزئات الكتل الحديثة، وقائمة الأقران، واتجاه الاتصال، ونوع الشبكة، والنظام المستقل المرتبط عند توفره، والطوابع الزمنية لآخر كتلة مستلمة.
  • قارن رأس السلسلة وحالة المعاملة بعقد تُشغل بصورة مستقلة ويجري الوصول إليها عبر مسارات شبكية وإدارية منفصلة فعلا. ولا تكون مستكشفات الكتل العامة مفيدة إلا إذا كانت بنيتها التحتية مستقلة أيضا.
  • أوقف التسوية عالية القيمة أو التسليم الآلي مؤقتا عندما تختلف الرؤى المستقلة. لا تحل المشكلة تأكيدات إضافية من الرؤية المعزولة نفسها.
  • انتقل إلى برمجيات وإعدادات موثوقة، وافحص DNS والتوجيه والجدار الناري والوكيل واحتمال اختراق المضيف، وأعد بناء حالة الأقران وفقا لإجراء الاستعادة الموثق لدى البرنامج.
  • أعد الاتصال تدريجيا وتحقق من تنوع الأقران ومجموعات الشبكات ووصول الكتل وعمل السلسلة ومشاهدات المعاملات. لا تستعد بصورة عمياء قاعدة بيانات أقران يحتمل أنها مسمومة.
  • احتفظ بالسجلات وصعّد الأمر إلى فريق أمن العقدة أو البروتوكول. فقد يتداخل الاشتباه في هجوم كسوف مع انقطاعات عادية أو حوادث توجيه أو اختراق أوسع للمضيف.

في Bitcoin Core 30.0، يعرض getpeerinfo حقولا مثل network وmapped_as وinbound وlast_block وsynced_headers وsynced_blocks وconnection_type. تساعد هذه الحقول في التحقيق، لكن لا يثبت أي حقل منفرد حدوث العزل. وينبغي للمراقبة أن تؤسس خط أساس طبيعيا وأن تربط تمركز الأقران بمشاهدات مستقلة للسلسلة.

المخاطر والضوابط

  • الإنفاق المزدوج ضد المستلم: يمكن أن تُعرض على الضحية تأكيدات ضمن فرع يسيطر عليه المهاجم. اشترط مراقبة مستقلة للتسليم عالي القيمة أو غير القابل للتراجع، وضع حدودا تعكس مخاطر التسوية.
  • تعطيل التعدين أو المدققين: قد يعمل مشغّل معزول استنادا إلى معلومات قديمة، فيخسر إيرادات أو يساعد فرعا معاديا. راقب عمل السلسلة وحداثة الرأس وتنوع الأقران من خارج عقدة الإنتاج.
  • الرقابة الانتقائية: يستطيع المهاجم إخفاء المعاملات أو تأخير الكتل من دون إرسال بيانات غير صالحة. أنشئ تنبيهات لفجوات وصول الكتل غير المعتادة وللاختلاف بين المراقبين المستقلين.
  • فشل الجسر أو أوراكل أو RPC: قد تمرر الخدمات خارج السلسلة التي تثق بعقدة منبع واحدة حالة قديمة أو تفوّت إعادة تنظيم. استخدم مصادر بيانات متعددة، مستقلة في إدارتها وشبكاتها، مع قواعد صريحة للنصاب والحداثة.
  • ثقة زائفة بسبب عدد الاتصالات: قد يوفر 20 قرينا تسيطر عليها جهة واحدة أو شبكة واحدة أو مصدر عناوين واحد استقلالا أقل من مجموعة أصغر ومتنوعة. قس التنوع، لا العدد وحده.
  • المركزية بسبب الأقران الثابتين: يمكن لقرين موثوق واحد مضبوط يدويا أن يتجاوز مجموعة مرشحين مسمومة، لكنه ينشئ نقطة فشل وحيدة. إذا كانت نقاط الارتكاز الثابتة مناسبة، فاستخدم عدة مسارات يشغلها مستقلون واحتفظ باتصالات عشوائية.

ينبغي لمشغلي العقد إبقاء إصدارات البرامج المدعومة محدثة، وفهم الإعدادات الافتراضية الخاصة بإدارة الأقران في برنامجهم، وحماية الوصول الإداري، ومراقبة طوبولوجيا الاتصالات الواردة والصادرة. وينبغي لمشغلي المدفوعات والبروتوكولات فصل قرارات التوقيع والبث ومراقبة السلسلة والتسليم، بحيث لا تستطيع عقدة معزولة واحدة إجازة إجراء غير قابل للتراجع بمفردها.

مفاهيم خاطئة شائعة

  • لا يمكن خداع العقدة الكاملة. ترفض العقدة الكاملة البيانات المخالفة للإجماع، لكنها لا تعرف تلقائيا أن أقرانا صادقين يحجبون عنها سلسلة صالحة أفضل.
  • يكفي دائما عدد كبير من التأكيدات. لا تكون التأكيدات ذات معنى إلا نسبة إلى رؤية السلسلة التي تجري مراقبتها. وتهم استقلالية مسار المراقبة عندما يكون العزل محتملا.
  • زيادة عدد الأقران تحل المشكلة دائما. لا يفيد الأقران الإضافيون إلا إذا كان مالكوهم ومسارات شبكاتهم ومصادر اكتشافهم وأنماط أعطالهم مستقلة بما يكفي.
  • هجوما الكسوف وسيبيل شيء واحد. قد تسهّل موارد سيبيل العزل، لكن هجوم الكسوف هو السيطرة الناتجة على رؤية الضحية للأقران.
  • تطابق مستكشف كتل واحد يثبت سلامة العقدة. قد يشترك المستكشف مع النظام المتأثر في مزود منبع أو مسار شبكة أو نطاق إداري.
  • كل عقدة متأخرة تتعرض لهجوم. قد تنتج عيوب البرمجيات والازدحام والصيانة وأعطال التوجيه واستنزاف الموارد أعراضا مشابهة. تعامل مع الكسوف بوصفه فرضية تُختبر بإشارات متعددة.

موضوعات ذات صلة

المصادر

التنقل

ابحث في الويكي...