خلفية

صرح مسؤولو شبكة Celer Network في 18 أغسطس أنه بين الساعة 3:45 والساعة 6:00 بتوقيت بكين، تم توجيه بعض مستخدمي cBridge إلى عقود ذكية ضارة. في البداية، كان هناك اشتباه في تعرض الواجهة الأمامية لـ cBridge للاختراق بسبب هجوم DNS.

يختلف تمامًا عن حوادث اختراق الجسر عبر السلسلة السابقة مثل Nomad وWormhole وRonin وHarmony وما إلى ذلك، ولم يكن هذا الهجوم ناجمًا عن أخطاء في العقود الذكية والبروتوكولات عبر السلسلة أو اقتحام الخوادم ذات الصلة والشبكات المتقاطعة. كما تم الحفاظ على أصول السلسلة المقفلة في cBridge آمنة. في هذا الهجوم، استهدف المتسللون بشكل مباشر البنية التحتية الأساسية في بنية الإنترنت خارج نظام Celer، وسمحوا للمستخدمين عبر السلسلة بالوصول إلى واجهة المستخدم الأمامية "التصيدية" خلال فترة زمنية عن طريق خداع بروتوكول التوجيه الأساسي للإنترنت ( BGP). تمكنت شبكة Celer من الحد من الأضرار بسبب استجابتها السريعة. وذلك لأن فريق Celer Network لديه نظام مراقبة على مدار 24 ساعة. تمكن فريق خدمة العملاء من تحديد المشكلة وتنبيه المجتمع في الوقت المناسب. قام فريق Celer Network بتمكين فريق أمان SlowMist من الاستجابة لحالة الطوارئ هذه وإجراء تحقيق متعمق.

عملية التحليل

اشتبَه فريق Celer Network في البداية في حدوث هجوم DNS، وبعد التواصل معهم تمكنا من معرفة المزيد عن اسم النطاق محل الاشتباه: cbridge-prod2.celer.network. اكتشفنا أن المتصفح لم يُبلّغ عن خطأ في الشهادة أثناء الهجوم. لذلك بدأت عملية التحقيق لدينا من معالجة احتمال هجوم DNS أولًا. (شكر خاص لـ @greysign1 لمساعدته في التحقق سريعًا من احتمال هجوم DNS)

بدأنا بمراجعة معلومات الشهادة ذات الصلة:

يبدو أن الشهادة قد تم تعديلها بشكل غير متوقع، حيث تم استبدال الشهادة الأصلية الصادرة من Let’s Encrypt بشهادة مزوّرة صادرة من GoGetSSL.

يمكن لـ GoGetSSL إصدار شهادة مجانية لمدة 90 يومًا:

  • تحليل الشهادة 1: https://crt.sh/?id=7356185959

    يظهر خطأ في فحص CRL على الشهادة في الوقت التالي:

  • تحليل الشهادة 2: https://crt.sh/?id=7356185959

    تحتوي هذه الشهادة أيضًا على خطأ في فحص CRL في الأوقات التالية:

    بعد فحص عنوان الـIP والشهادة، بالإضافة إلى معلومات أخرى مرتبطة بالشهادة 1، اكتشفنا أن عنوان الـIP المرتبط بهذه الشهادة كان 44.235.216.69.

    لم تتمكن بنية/عنوان IP الخاصة بالشهادة 2 من الاستعلام عن عنوان IP الموافق للشهادة 2، وهو ما قد يكون بسبب مدة الهجوم القصيرة وتعذر قيام محرك البحث بجمع المعلومات ذات الصلة.

    وبناءً على ذلك، ركزنا تحليلنا على بيانات حل عناوين IP لنطاق cbridge-prod2.celer.network:

    كان عنوان الـIP 44.235.216.69 مرتبطًا بـ cbridge-prod2.celer.network لفترة طويلة.

    السؤال هو: إن حقيقة أن عنوان الـIP هذا، 44.235.216.69، كان مرتبطًا بـ cbridge-prod2.celer.network لفترة طويلة، تُثبت أنه كان تابعًا لخادم Celer Network الرسمي. وقد تم تأكيد ذلك أيضًا مع فريق Celer Network. فلماذا توجد شهادة مزوّرة مرتبطة بهذا الـIP؟

    لذا بدأنا في التحقيق في AS الخاص بـ 44.235.216.69 واكتشفنا أن الـ AS المقابل لهذا الـIP كان غير معتاد.

    يُعلن AS16509 عن bogons::

    بالنظر إلى الـ bogons، تمكنّا من تحديد أن هذه هي الحالة عمومًا عندما يقوم مهاجم بتزوير عنوان IP لإجراء هجوم: https://networkdirection.net/articles/routingandswitching/bgp-bogonsandmartians/ https://forum.networklessons.com/t/what-are-bogons/6333

    بسبب ظهور شذوذات على الـ AS الخاص بـ 44.235.216.69، اشتبهنا أولًا أن المشكلة كانت في BGP، لذلك تواصلنا مع شركة Celer Network للحصول على عنوان IP الخاص بالمهاجم: 54.84.236.100. ووجدنا أن AS14618، حيث يقع عنوان الـIP، كان لديه أيضًا استثناء. (كما يُعلن AS14618 أيضًا عن bogons)

    وبالصدفة، كان المنبع (upstream) لـ AS14618 هو AS16509 (و AS16509 هو أيضًا الـ AS الذي يقع ضمنه 44.235.216.69). وقد لفتنا ذلك لاحتمال وقوع هجوم BGP.

    أظهر تحقيقنا أن IP: 54.84.236.100 تم وسمه على أنه ضار.

    جمعنا معلومات ذات صلة حول IP: 54.84.236.100 من مجتمعنا ووجدنا ذكرًا بأن عنوان الـIP هذا مرتبط بواقعة هجوم BGP أخرى حدثت في عام 2014. ومع ذلك، وبما أن هذه الواقعة حدثت منذ وقت طويل، فقد لا تكون ذات صلة بعد الآن.

    بعد ذلك واصلنا تحقيقنا من خلال تتبع السجلات التي خلفها هجوم BGP هذا:

    أظهر تتبع سجل BGP الخاص بعنوان هجوم IP: 54.84.236.100 أن المسار لم يعد متاحًا.

    واصلنا تتبع آثار موجهات BGP لعنوان Celer’s IP: 44.235.216.69 وتمكنا من العثور على المسار الصحيح.

    ثم تحققنا من سجل تغييرات عقدة BGP: توقيت بكين: 8/18/2022 2:48 AM — 8/18/2022 7:48 AM UTC+8

    في 8/18/2022، تبين أن الفترة الزمنية بين 2:48 AM — 7:48 AM BST شهدت عددًا كبيرًا من إضافات وحذف عقد (additions and deletions) في سجلات التغيّر.

    واصلنا مراقبة سجل تغييرات الـ AS واكتشفنا أن AS14618 كان يمتلك سابقًا معلومات التوجيه 44.235.216.0/24، لكن المسار تم تغييره بعدها إلى Withdrawn، مما يثبت أن:

    1. كانت 44.235.216.0/24 في AS14618 هي المسار الأمثل سابقًا

    2. الآن لم تعد 44.235.216.0/24 في AS14618 هي المسار الأمثل؛ بل تم إلغاؤها (Withdrawn).

    (عند حدوث هجوم BGP، سينشر المهاجم مسارًا أمثلًا لتوجيه حركة المرور إلى خادمه الخاص)

    للحصول على بيانات أدق، استخدمنا bgplay التالي للتحقق من التغيرات في المسارات المرتبطة بـ 44.235.216.69 حول وقت الهجوم.

    في 8/17/2022، يمكننا أن نرى أنه خلال الفترة الزمنية بين 19:19:23 +UTC و23:19:23 +UTC حدث تذبذب كبير في معلومات مسارات توجيه BGP.

    يظهر هذا التغير في توجيه حركة المرور من 44.235.216.0/24 إلى AS14618، حيث تخرج حركة المرور من 44.235.216.0/24 عبر AS16509 بعد الهجوم.

    ونتيجة لذلك، نعتقد أن هذه الحادثة من المرجح أن تكون حدث هجوم BGP، حيث يظهر أن AS14618 هو عقدة تحت سيطرة المهاجم (قد تكون موجهات/راوترات AS14618 لديها مشكلات أمنية وقد يستغلها المهاجمون)، وقد استمر الهجوم تقريبًا لمدة 4 ساعات.

    تمكّن المهاجم من ربط الشهادة 1 (الشهادة المزوّرة) بعنوان IP الخاص بـ Celer Network: 44.235.216.69 لأن لدى المهاجم خادمًا ضارًا بنفس عنوان الـIP. وبما أن gogetssl يدعم http للمصادقة، فيمكنهم فقط إدخال النص الذي تقدمه gogetssl في الخادم الضار. وبذلك يصبح من الممكن ربط الشهادة 1 عبر توجيه حركة المرور إلى الخادم الضار بنفس الـIP من خلال هجوم BGP. ونتيجة لذلك، تم تنبيه المتصفح بخصوص خطأ الشهادة.

    حددنا أن AS14618 كان تحت سيطرة المهاجم للأسباب التالية.

    • قام المهاجم أولاً بتوجيه حركة المرور الخاصة بـ 44.235.216.69 إلى AS14618، ثم أعاد توجيه 44.235.216.69 إلى AS16509 بعد انتهاء الهجوم.

    • عنوان هجوم IP: 54.84.236.100 يقع أيضًا داخل AS14618.

    • بعد الهجوم، تم سحب (Withdrawn) AS14618 بالنسبة إلى 44.235.216.69.

    للإجابة عن هذا السؤال: حقيقة أن عنوان الـIP هذا، 44.235.216.69، كان مرتبطًا بـ cbridge-prod2.celer.network لفترة طويلة، تُثبت أنه كان تابعًا لخادم Celer Network الرسمي. وقد تأكد ذلك أيضًا مع فريق Celer Network. فما السبب إذن في وجود شهادة مزوّرة مرتبطة بهذا الـIP؟

    إذا استخدمت بروتوكول HTTPS للتواصل، فلن تتمكن من تشفير/فك تشفير البيانات (بما في ذلك بيانات تواصل العميل/الخادم) دون الحصول على المفتاح الخاص للشهادة. لذلك، لضمان صحة الشهادة ولتنفيذ هجوم man-in-the-middle، يحتاج المهاجم إلى إعادة ربط الشهادة المطبقة من الجهة المانحة (authority) على الخادم الضار بنفس عنوان 44.235.216.69. وهذا يتيح للمهاجم فك تشفير بيانات العميل وإدراج الشيفرة الضارة داخل بيانات حزمة الاستجابة.

    خلاصة التحليل

    حققنا في هذا الهجوم بالتعاون مع فريق Celer Network. رغم أن هذه كانت محاولة هجوم BGP متقدمة على Celer Network، حيث قام المهاجم بإعداد كل شيء بدءًا من توقيت الهجوم، وتزوير الشهادة، والتحكم في AS، وعمليات أخرى.

    في النهاية، ندرك أن العديد من المشاريع أصبحت بالفعل على دراية بمخاطر هجمات BGP واتخذت الاحتياطات المناسبة. ومع ذلك، ما يزال الكثيرون غير على دراية، خصوصًا عند الحديث عن تعديلات مسار الشبكة الناتجة عن تغييرات الـ AS. وبدون إعداد واستجابة كافيين، توجد مخاطرة كبيرة لحدوث هجمات إضافية من نفس المهاجمين أو مهاجمين آخرين. لذلك، نحث المؤسسات ومزودي خدمات الإنترنت (ISPs) ومقدمي استضافة الخوادم على إدراك هذه المخاطر والتنسيق بشأن استراتيجيات دفاعية لمنع تكرار حدوث حوادث مماثلة. وكما هو الحال دائمًا، إذا احتجتم إلى مساعدة في أي وقت، يُرجى التواصل مع فريق SlowMist Security.

    مرفق

    مخطط DNS لـ cbridge-prod2.celer.network: