حذر خبراء الأمن من حملة هجمات إلكترونية تستهدف مطوري البرمجيات عبر وحدات خبيثة في لغتي Ruby و Go لسرقة البيانات الحساسة واختراق الأنظمة البرمجية.
ما هي تفاصيل الهجمات التي استهدفت لغات البرمجة؟
كشفت تقارير أمنية حديثة، رصدها فريق تيكبامين، عن نشاط مشبوه لحساب على منصة GitHub يسمى "BufferZoneCorp". قام هذا الحساب بنشر سلسلة من المستودعات البرمجية المرتبطة بحزم خبيثة تستهدف سلاسل التوريد التقنية، مما أتاح للمهاجمين تنفيذ عمليات سرقة واسعة لبيانات الاعتماد والتلاعب ببيئات التطوير.
تعتمد هذه الهجمات على ما يسمى بـ "الحزم النائمة" التي يتم زرعها وانتظار تحميلها من قبل المطورين أو أدوات البناء الآلي، ومن ثم تفعيل برمجيات خبيثة تهدف إلى التجسس والوصول الدائم إلى الخوادم والأنظمة الحساسة.
ما هي البرمجيات الخبيثة التي يجب الحذر منها؟
استخدم المهاجمون استراتيجية التمويه عبر إطلاق حزم بأسماء تشبه إلى حد كبير المكتبات الشهيرة والموثوقة لخداع المستخدمين. إليكم قائمة بأهم الحزم التي تم رصدها وحذفها لاحقاً:
- activesupport-logger
- devise-jwt
- go-retryablehttp
- grpc-client
- config-loader
كيف يتم تنفيذ الهجمات وسرقة بيانات المطورين؟
تختلف آلية الهجوم بناءً على لغة البرمجة المستخدمة، حيث تم تصميم كل نوع من الحزم لتنفيذ مهام تخريبية محددة:
أولاً: حزم لغة Ruby
تعمل هذه الحزم على أتمتة عملية سرقة البيانات بمجرد التثبيت، حيث تقوم بجمع وإرسال المعلومات التالية إلى خوادم المهاجمين:
- متغيرات البيئة (Environment Variables).
- مفاتيح SSH الخاصة بالوصول للمشروعات.
- أسرار وبيانات اعتماد AWS.
- ملفات الإعدادات الحساسة مثل .npmrc و .netrc.
- بيانات تسجيل الدخول الخاصة بـ GitHub CLI و RubyGems.
ثانياً: وحدات لغة Go
تمتلك وحدات Go قدرات أكثر تعقيداً، حيث تركز على التلاعب بمسارات العمل في GitHub Actions. وفقاً لما ذكره تيكبامين، تقوم هذه الوحدات بما يلي:
- الكشف عن بيئات GITHUB_ENV و GITHUB_PATH.
- إعداد بروكسي (HTTP_PROXY) لتوجيه حركة المرور.
- زراعة ملف Go تنفيذي مزيف في ذاكرة التخزين المؤقت ليتصدر مسار العمل.
- إضافة مفتاح SSH عام إلى ملف "authorized_keys" لضمان وصول المهاجم عن بُعد.
كيف تحمي بيئة التطوير الخاصة بك من الاختراق؟
أكد الباحثون أن المهاجمين يستخدمون تقنيات متطورة لضمان عدم تعطل المهام البرمجية أثناء تنفيذ الهجوم لتجنب إثارة الشكوك. ولحماية مشروعك، ينصح باتباع الخطوات التالية:
- الحذف الفوري: إزالة أي من الحزم المذكورة أعلاه من ملفات المشروع وبيئة النظام.
- مراجعة الوصول: فحص ملف ~/.ssh/authorized_keys للتأكد من عدم وجود أي مفاتيح غريبة.
- تغيير البيانات: تدوير وتغيير كافة مفاتيح AWS، وبيانات اعتماد NPM، ورموز الوصول إلى GitHub.
- مراقبة الشبكة: فحص سجلات الشبكة بحثاً عن أي اتصالات HTTPS خارجة إلى نقاط غير معروفة.
في الختام، تظل يقظة المطورين هي الخط الدفاعي الأول. يجب دائماً التحقق من اسم المكتبة وناشرها قبل دمجها في أي مشروع برمي، خاصة مع تزايد هجمات سلاسل التوريد التي تستهدف أدوات البناء الآلي.