هجوم على سلسلة توريد Go: وحدة تشفير مزيفة تُهرّب سارق كلمات المرور وبابًا خلفيًا من Rekoobe إلى محطات عمل المطورين
العنوان الفرعي: نظرة من الداخل على كيفية انتحال مكتبة Go مارقة لشفرة موثوقة لحصد الأسرار واختطاف أنظمة لينكس على مرأى من الجميع.
بدأ الأمر كأي تحديث حزمة آخر - وحدة تشفير جديدة لـ Go، لا يمكن تمييزها للوهلة الأولى عن النسخة الأصلية، أُدرجت بهدوء داخل سلسلة أدوات مطوّر. لكن خلف أسماء المجلدات المألوفة والشفرة الروتينية، كان المهاجمون قد صاغوا فخًا متقنًا: نسخة مستنسخة مزروعة بباب خلفي صُممت لسرقة كلمات المرور وفتح باب خفي لمزيد من الاختراق. ومع انقشاع الغبار، تكشف الحادثة حقيقة مرعبة لسلسلة توريد المصادر المفتوحة: يمكن تسليح الثقة بسهولة مخيفة.
حقائق سريعة
- نشر المهاجمون وحدة تشفير خبيثة لـ Go تحاكي المكتبة الموثوقة golang.org/x/crypto.
- حصدت الحزمة المارقة كلمات مرور المستخدمين ونشرت الباب الخلفي Rekoobe على أنظمة لينكس المصابة.
- تم تجهيز الحمولات عبر GitHub Raw وتسليمها من خلال سكربتات شِل وملفات ثنائية متنكرة.
- اختبأت البرمجية الخبيثة خلف مطالبات كلمات مرور تبدو شرعية، متفاديةً معظم عمليات الفحص الآلية.
- تقوم وكلاءات وحدات Go الآن بحظر الحزمة الخبيثة، لكن الشفرة المخزنة مؤقتًا أو المُضمّنة (vendored) ما تزال تشكل خطرًا.
استغلت الحملة، التي كشف عنها فريق أبحاث التهديدات في Socket، نسخة شبه مطابقة من مكتبة التشفير الرسمية لـ Go - حتى بنية الحزم الفرعية. متخفيةً في مستودع github.com/xinfeisoft/crypto، اندمجت الوحدة المنتحلة داخل أشجار الاعتماد لمشاريع غير مرتابة. ابتكارها الأساسي: دالة ReadPassword مفخخة. عند استدعائها كانت تعمل بشكل طبيعي، لكنها سرًا كانت تسحب الأسرار بنصها الصريح إلى ملف غامض هو /usr/share/nano/.lock، قبل تهريبها إلى نقطة نهاية يسيطر عليها المهاجم.
لم يتوقف الهجوم عند سرقة بيانات الاعتماد. فقد جلبت الوحدة عنوان URL “مرحليًا” من ملف مستضاف على GitHub Raw، ما أتاح للمهاجم تدوير البنية التحتية بسرعة. ثم شرع سكربت شِل تم جلبه في اختراق المضيف: بإضافة مفتاح SSH للمهاجم إلى authorized_keys، وإسقاط حماية الجدار الناري، وتنزيل حمولتين إضافيتين متنكرَتين كملفات وسائط غير ضارة. وكانت الخاتمة نشر “555.mp5”، وهو باب خلفي من Rekoobe، يمنح وصولًا عن بُعد بشكل دائم واتصالًا عبر قنوات مخصصة.
وعلى خلاف البرمجيات الخبيثة الصاخبة، صُممت هذه العملية للتخفي. لم يُفعَّل الباب الخلفي إلا أثناء إدخال كلمة مرور حقيقي وتفاعلي - متسللًا عبر الاختبارات الآلية ومخلّفًا آثارًا جنائية محدودة عبر حذف بصماته بنفسه. كما مكّنت بنية المهاجم التحتية، بما في ذلك عدة نطاقات وحساب GitHub مع مستودعات داعمة، من تحديثات مرنة وحملة مستمرة.
وبينما تقوم شبكة وكلاء وحدات Go الآن بحظر الحزمة الخبيثة، فإن أي بيئة كانت قد خزّنتها مؤقتًا أو ضمّنتها ضمن المشروع ما تزال عرضة للخطر. الحادثة تحذير صارخ: حتى أكثر حدود المصادر المفتوحة موثوقية يمكن تقويضها بخطاف واحد خفي. لم تعد اليقظة تجاه الاعتمادات الجديدة، خصوصًا تلك التي تُدخل تنفيذ الشِل أو اتصالات الشبكة الصادرة، خيارًا - بل مسألة بقاء.
الخلاصة
يبيّن هذا الاختراق لسلسلة التوريد مدى هشاشة الخط الفاصل بين الثقة والاختراق في عالم برمجيات المصادر المفتوحة. ومع ازدياد جرأة المهاجمين ودهاء تكتيكاتهم، يجب على المطورين والمدافعين على حد سواء تمحيص كل وحدة جديدة - لأن تحديث اليوم الروتيني قد يصبح اختراق الغد الصامت.
WIKICROOK
- هجوم سلسلة التوريد: هجوم سلسلة التوريد هو هجوم سيبراني يساوم مزودي البرمجيات أو العتاد الموثوقين، ناشرًا برمجيات خبيثة أو ثغرات إلى العديد من المؤسسات دفعة واحدة.
- باب خلفي: الباب الخلفي هو طريقة خفية للوصول إلى حاسوب أو خادم، متجاوزًا فحوصات الأمان المعتادة، وغالبًا ما يستخدمه المهاجمون للحصول على تحكم سري.
- Rekoobe: Rekoobe هو باب خلفي متخفٍ لنظام لينكس، قائم على Tiny SHell، يمكّن المهاجمين من الحفاظ على وصول عن بُعد دائم وسري إلى الأنظمة المخترقة.
- وحدة Go: وحدة Go هي مجموعة مُرقّمة الإصدارات من حزم Go، تُستخدم لإدارة الاعتمادات وضمان عمليات بناء موثوقة في لغة البرمجة Go.
- تهريب البيانات: تهريب البيانات هو النقل غير المصرح به لبيانات حساسة من شبكة الضحية إلى نظام خارجي يسيطر عليه المهاجمون.