شعار زيفيرنت

أدوات JFrog الجديدة تحدد حزم جافا سكريبت الخبيثة

التاريخ:

أصدرت شركة الأمن DevOps JFrog ثلاث أدوات أمان مفتوحة المصدر ردًا على المشكلات الأخيرة مع npm لمساعدة مطوري JavaScript على اكتشاف ومنع تثبيت الحزم التي بها مشكلات.

أصبحت هجمات سلسلة التوريد للبرامج مشكلة كبيرة في النظام الإيكولوجي للبرامج مفتوحة المصدر ، حيث يتسلل المهاجمون لسرقة المعلومات ، و keyloggers ، وأنواع أخرى من البرامج الضارة إلى مديري الحزم والمستودعات مثل npm و RubyGems و PyPi. في كثير من الحالات ، تحتوي الحزم التي تحتوي على التعليمات البرمجية الخبيثة على أسماء مشابهة للحزم الشرعية والمعروفة. في حالات أخرى ، تم العبث بالحزم نفسها. في الأسبوع الماضي ، تعرض المشرف وراء مكتبتين جافا سكريبت واسعتي الاستخدام للتلف عن عمد الألوان. js و faker.js، مما تسبب في مشاكل مع عشرات الآلاف من تطبيقات JavaScript التي تعتمد على هذه الحزم.

يقول إيليا خيفريتش ، كبير مديري التقنيات المتقدمة والبحوث الأمنية في JFrog: "أحدث حادث npm هو مجرد مثال آخر في سلسلة من الثغرات الأمنية للبرامج مفتوحة المصدر التي تم اكتشافها مؤخرًا مع إمكانية إحداث فوضى كبيرة في أنظمة المؤسسات في جميع أنحاء العالم". "إنه تذكير جيد بأنه حتى مستودعات البرامج التي نعتقد أنها موثوقة ، يمكن كسرها بسهولة في يوم واحد - وبالتالي يجب علينا دائمًا ممارسة النظافة الإلكترونية الجيدة."

الأدوات الجديدة - Package_checker للتحقق مما إذا كان يمكن الوثوق بإصدار معين من الحزمة ، npm- مثبت آمن لحظر الحزم التي تفتقد إلى npm-shrinkrap-lock.json ملف و package_issues_history. تاريخ_حزمة لمراقبة حزم التحديثات الإشكالية - هي متاح على جيثب.

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

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

ملاحظة حول استخدام npm- مثبت آمنيقول خيفريش: إنه يخطئ في جانب الحذر من خلال فرض شرط (وجود ملف قفل shrinkwrap) حتى بعض الحزم الشرعية لا تلبيها.

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

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

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

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة

الدردشة معنا

أهلاً! كيف يمكنني مساعدك؟