هناك نوع جديد من هجمات سلسلة التوريد التي لها عواقب وخيمة آخذة في الازدهار

9

تستهدف هجمات ارتباك التبعية الجديدة Microsoft و Amazon و Slack و Lyft و Zillow.

تقنيه  –

نوع جديد من هجوم سلسلة التوريد تم الكشف عنه الشهر الماضي يستهدف المزيد والمزيد من الشركات ، مع جولات جديدة هذا الأسبوع تستهدف Microsoft و Amazon و Slack و Lyft و Zillow وغير معروف عدد الآخرين. في الأسابيع الماضية ، تم استهداف Apple و Microsoft و Tesla و 32 شركة أخرى بهجوم مماثل سمح لباحث أمني بتنفيذ تعليمات برمجية غير مصرح بها داخل شبكاتهم.

تم تنفيذ الهجوم الأخير ضد مايكروسوفت كدليل على صحة الفكرة من قبل باحث. على النقيض من ذلك ، كانت الهجمات التي تستهدف Amazon و Slack و Lyft و Zillow ضارة ، لكن ليس من الواضح ما إذا كانت قد نجحت في تنفيذ البرامج الضارة داخل شبكاتها. في غضون ذلك ، تم إغراق مستودعات npm و PyPi للشفرات مفتوحة المصدر بأكثر من 5000 حزمة إثبات مفهوم ، وفقًا لشركة Sonatype ، وهي شركة تساعد العملاء على تأمين التطبيقات التي يطورونها.

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

هجوم

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

غالبًا ما تفضل تطبيقات إدارة برامج المطورين مكتبات الأكواد الخارجية على الحزم الداخلية ، لذلك يقومون بتنزيل الحزمة الضارة واستخدامها بدلاً من الحزمة الموثوق بها. أليكس بيرسان – الباحث الذي خدع شركة Apple و 34 شركة أخرى لتشغيل حزم إثبات المفهوم التي قام بتحميلها إلى npm و PyPi – أطلق على النوع الجديد من الارتباك في تبعية هجوم سلسلة التوريد أو ارتباك مساحة الاسم لأنه يعتمد على تبعيات البرامج مع تضليل الأسماء.

تبعيات البرامج هي مكتبات التعليمات البرمجية التي يستخدمها أحد التطبيقات يجب أن تدمجها لتعمل. عادة ، يحرس المطورون أسماء التبعيات عن كثب داخل أنظمة بناء البرامج الخاصة بهم. لكن بيرسان وجد أن الأسماء غالبًا ما تتسرب عندما يتم تضمين ملفات package.json – التي تحتوي على بيانات وصفية مختلفة ذات صلة بمشروع تطوير – في ملفات نصية عامة. المسارات الداخلية والنصوص العامة التي تحتوي على استدعاء البرمجة تتطلب () يمكنها أيضًا تسريب أسماء التبعية.

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

قال HD Moore ، المؤسس المشارك والرئيس التنفيذي لمنصة اكتشاف الشبكات Rumble ، “إنه هجوم رائع”. “أعتقد أنه يؤثر على الكثير من الناس.” وأضاف أن الأكثر عرضة للخطر هي المنظمات التي تستخدم أعدادًا كبيرة من الحزم الداخلية ولا تتخذ خطوات خاصة لمنع الحزم العامة من استبدال الحزم الداخلية.

تمطر الارتباك

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

قال مات أوستن ، مدير الأبحاث الأمنية في شركة Contrast ، إنه بدأ بالبحث عن التبعيات المستخدمة في تطبيق Teams لسطح المكتب من Microsoft . بعد العثور على حزمة JavaScript تسمى “التبعيات الاختيارية” ، توصل إلى طريقة للحصول على آلة تطوير Teams لتنزيل وتشغيل حزمة وضعه على npm. استخدمت الحزمة نفس اسم الوحدة النمطية المدرجة كعنصر تبعية اختياري.

بعد وقت قصير من القيام بذلك ، بدأ نص وضعه أوستن في الوحدة النمطية في الاتصال به من عدة عناوين IP داخلية لـ Microsoft. كتب أوستن:

سواء كانت الردود التي رأيتها آلية أو يدوية ، فإن حقيقة أنني كنت قادرًا على توليد رد الفعل هذا تشكل مخاطرة كبيرة. من خلال الاستفادة من البرنامج النصي بعد التثبيت ، تمكنت من تنفيذ التعليمات البرمجية في أي بيئة تم التثبيت عليها. إذا قام المهاجمون بتنفيذ التعليمات البرمجية بالطريقة التي قمت بها على خادم إنشاء لتحديث تطبيق سطح المكتب الذي كان على وشك التوزيع ، فيمكنهم إدراج أي شيء يريدونه في هذا التحديث ، وسيتم إخراج هذا الرمز إلى كل سطح مكتب باستخدام Teams – أكثر من 115 مليون آلة. يمكن أن يكون لمثل هذا الهجوم تداعيات هائلة ، من المحتمل أن تؤثر على العديد من المنظمات مثل الهجوم الهائل على مصنع برامج SolarWinds الذي تم الكشف عنه في ديسمبر.

وقدم الآتي شكل يوضح كيفية عمل هجوم خبيث في ظل هذا السيناريو النظري:

أمان التباين

كتبت متحدثة باسم Microsoft: “كجزء من جهودنا الأكبر للتخفيف من هجمات استبدال الحزمة ، لقد حددنا بسرعة المشكلة المذكورة وعالجناها ، ولم يشكل في أي وقت خطرًا أمنيًا خطيرًا لعملائنا “. وأضافت المتحدثة أن النظام الذي نفذ كود أوستن كان جزءًا من البنية التحتية للاختبار الأمني ​​للشركة. لدى Microsoft المزيد حول المخاطر وطرق التخفيف منها هنا.

الهجمات تتحول إلى ضارة

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

لكن لم تلتزم كل التحميلات بمثل هذا ضبط النفس. أبلغ باحثو Sonatype يوم الاثنين عن ملفات تم تحميلها إلى npm والتي حاولت سرقة تجزئة كلمات المرور وتاريخ نصوص bash من شركات بما في ذلك Amazon و Slack و Lyft و Zillow.

تكبير / ملف .bash_history يتم الوصول إليه بواسطة الحزمة التي تم تحميلها إلى npm. سوناتايب

كتب شارما ، الباحث في Sonatype ، “ستحدث هذه الأنشطة بمجرد نجاح هجوم ارتباك التبعية ولن تحتاج إلى أي إجراء من الضحية ، نظرًا لطبيعة قضية التبعية / اختطاف مساحة الاسم”.

سجلات Bash ، التي تخزن الأوامر والمدخلات الأخرى التي يكتبها المسؤولون في أجهزة الكمبيوتر الخاصة بهم ، غالبًا ما تحتوي على كلمات مرور نص عادي وأخرى حساسة البيانات. تخزن الملفات المخزنة في مسار / etc / shadow لأجهزة Linux تجزئات التشفير لكلمات المرور المطلوبة للوصول إلى حسابات المستخدمين على الكمبيوتر. (حتى يتم اختراق التجزئة ، يجب تشغيل تطبيق npm في وضع المستخدم الفائق ، وهو مجموعة عالية جدًا من الامتيازات التي لا تُمنح أبدًا لتطبيقات إدارة البرامج.)

قالت شركة سوناتايب إنها لا تملك وسيلة لمعرفة ما إذا كانت الملفات قد نفذت من قبل أي من الشركات المستهدفة بالنصوص.

الأهداف تستجيب

في بيان ، كتب مسؤولو Slack:

المكتبة المقلدة المعنية ليست جزءًا من منتج Slack ، ولا يتم صيانتها أو دعمها بواسطة Slack. ليس لدينا سبب للاعتقاد بأن البرنامج الضار قد تم تنفيذه أثناء الإنتاج. يقوم فريق الأمان لدينا بانتظام بفحص التبعيات المستخدمة في منتجنا باستخدام أدوات داخلية وخارجية لمنع الهجمات من هذا النوع. بالإضافة إلى ذلك ، فإن ممارسات التطوير الآمنة لـ Slack ، مثل استخدام نطاق خاص عند استخدام التبعيات الخاصة ، تجعل من غير المحتمل أن يكون الهجوم المرتبط بالتبعية ناجحًا ضد منتجنا. جاء في بيان Lyft ما يلي: “لم يتضرر Lyft في هذه المحاولة. لا يوجد ما يشير إلى أن هذا البرنامج الضار قد تم تنفيذه على شبكة Lyft. تمتلك Lyft برنامجًا مخصصًا لأمن المعلومات للدفاع ضد هجمات سلسلة التوريد هذه وتدير برنامج مكافآت الأخطاء النشط لاختبار ضوابطها الأمنية باستمرار. ”

كتب مسئولو زيلو:

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

ممثلون من npm ، في غضون ذلك ، كتب: “لقد قدمنا ​​إرشادات حول أفضل طريقة للحماية من هذه الأنواع من هجمات الاستبدال في منشور المدونة هذا. نحن ملتزمون بالحفاظ على npm آمنًا والاستمرار في تحسين أمن النظام البيئي. ”

لم يرد ممثلو أمازون على بريد إلكتروني يطلب التعليق. لم يكن لدى ممثل PyPi تعليق على الفور.

كان الاختراق الأخير لمزود أدوات الشبكة Solar Winds – الذي أضر بنظام بناء برامج شركة تكساس واستخدمه لتوزيع تحديثات ضارة على 18000 عميل – تذكيرًا صارخًا بالضرر الذي يمكن أن ينجم عن هجمات جانب العرض. هجمات ارتباك التبعية لديها القدرة على إلحاق المزيد من الضرر ما لم يتخذ المطورون تدابير احترازية.