سلالة جديدة من تهديدات سلسلة التوريد
اكتشف باحثو الأمن لدى Aikido Security هجومًا متطورًا على سلسلة التوريد يستفيد من أحرف Unicode غير المرئية لتهريب الكود الضار إلى المستودعات مفتوحة المصدر. بين 3 و 9 مارس، حددت الشركة 151 حزمة ضارة تم تحميلها على GitHub و NPM و Open VSX تحتوي على حمولات قابلة للتنفيذ غير مرئية تمامًا في محررات الأكواد القياسية والطرفيات وواجهات المراجعة.
تمثل هذه التقنية تطورًا كبيرًا في كيفية استهداف المهاجمين لسلسلة توريد البرمجيات. بينما كانت هجمات سلسلة التوريد تهديدًا مستمرًا لما يقرب من عقد من الزمان، وتعتمد عادةً على سرقة النطاق أو الخلط بالأسماء لخداع المطورين، فإن هذه الحملة الأخيرة تضيف طبقة إضافية من الخداع تجعل مراجعات الأكواد اليدوية التقليدية غير فعالة تماما.
كيف يعمل الكود غير المرئي
يستغل الهجوم فئة من أحرف Unicode التي لا تملك تمثيلاً مرئيًا عند عرضها في محررات النصوص أو محاكيات الطرفية أو منصات مراجعة الأكواد المستندة إلى الويب مثل واجهة طلب السحب GitHub. بينما تظهر معظم كل حزمة ضارة كمجموعة عادية من الأكواد المقروءة، يتم ترميز الوظائف الضارة الحرجة وحمولاتها باستخدام هذه الأحرف غير المرئية.
عندما يفحص المطور الكود بصريًا أو يستخدم أدوات diff القياسية، فإن الأجزاء الضارة ببساطة لا تظهر. ومع ذلك، عندما يتم تحليل الكود وتنفيذه بواسطة محركات JavaScript أو مترجمات Python، يتم فك ترميز الأحرف غير المرئية وتعمل الحمولة المخفية جنبًا إلى جنب مع الكود الذي يبدو شرعيًا.
يخلق هذا النهج بشكل فعال واقعية مزدوجة: يرى المراجعون البشريون والعديد من أدوات المسح الآلية أكوادًا نظيفة، بينما يقوم بيئة وقت التشغيل بتنفيذ مجموعة مختلفة تماما من التعليمات التي يمكن أن تسرق بيانات الاعتماد أو تثبت أبوابًا خلفية أو تعرض بيئات التطوير للخطر.
النطاق والتوزيع
تم توزيع 151 حزمة حددتها Aikido عبر أنظمة حزم متعددة. تم استهداف مستودعات GitHub وسجل حزم NPM لـ JavaScript وسوق Open VSX لامتدادات Visual Studio Code. يشير اتساع الهجوم إلى حملة منسقة وليس حوادث معزولة.
استخدمت العديد من الحزم الضارة أسماءً تشبه إلى حد بعيد المكتبات مفتوحة المصدر الشهيرة، حيث تجمع بين نهج سرقة النطاق التقليدي والتقنية الجديدة للكود غير المرئي. تراكمت بعض الحزم على عدد تنزيلات كبير قبل الكشف عنها، مما قد يضر ببيئات التطوير عبر عدة منظمات.
الآثار الدفاعية
يثير الاكتشاف أسئلة جادة حول كفاية ممارسات مراجعة الأكواد الحالية وأدوات المسح الأمني الآلية. ستفتقد الأدوات التقليدية للتحليل الثابت التي تعتمد على المطابقة النمطية مقابل أنماط الأكواد المرئية هذه التهديدات تماما. حتى المطورين الذوي الخبرة الذين يجرون مراجعات أكواد شاملة قد يوافقون على حزم ضارة دون الكشف عن الحمولات المخفية.
يتم الآن حث فرق الأمن على تطبيق أدوات التحليل على مستوى ثنائي التي يمكنها الكشف عن وجود أحرف Unicode غير المرئية في الكود المصدري. يمكن تكوين بعض بيئات التطوير المتكاملة للكشف عن الأحرف المخفية، وقواعد linting الجديدة يمكن أن تسمه وجودها. ومع ذلك، فإن اعتماد هذه الإجراءات الدفاعية على نطاق واسع لا يزال محدودًا.
أشارت Aikido Security إلى أنهم اكتشفوا هذه التقنية لأول مرة في حالات معزولة العام الماضي، لكن نطاق الحملة الحالية يمثل تصعيدًا كبيرًا. نشرت الشركة مؤشرات التعرض وتعمل مع المنصات المتأثرة لإزالة الحزم الضارة ومنع إعادة التحميل.
استجابة الصناعة
استجابت مجتمع أمان المصدر المفتوح بنداءات لآليات التحقق المحسّنة في سجلات الحزم. يدعو بعض الخبراء إلى بناء شفاف إلزامي، حيث يتم ترجمة الحزم من أكواد مصدر قابلة للتدقيق في بيئات خاضعة للرقابة، مما يضمن أن ما يراجعه المطورون هو بالضبط ما يتم تنفيذه.
بدأت GitHub و NPM و Microsoft التي تدير سوق VSX بإزالة الحزم المحددة وتقيم ضمانات إضافية لمنع هجمات مماثلة. يؤكد الحادث التحدي المستمر المتمثل في تأمين النظام البيئي الشاسع للتبعيات مفتوحة المصدر التي يعتمد عليها تطوير البرمجيات الحديثة.
بالنسبة للمنظمات التي قد تكون قد ثبتت أي من الحزم المتأثرة، يوصي باحثو الأمن بإجراء تدقيقات شاملة للتبعيات المضافة مؤخرًا، وفحص الاتصالات الشبكية غير المتوقعة، ومراجعة سجلات النظام للبحث عن علامات تسرب البيانات.
يستند هذا المقال إلى تقارير Ars Technica. اقرأ المقالة الأصلية.

