فئة OWASP: MASVS-CODE: جودة الرمز
نظرة عامة
يؤدي استخدام واجهات برمجة التطبيقات أو المكتبات غير الآمنة إلى تقليل مستوى أمان التطبيق بشكل كبير. سيؤدي حدوث اختراق أمني في أي من هذه التبعيات إلى السماح للمهاجم باستخدام عدد من المتجهات لتنفيذ مجموعة واسعة من الهجمات، مثل هجمات الوسيط (MitM) وتنفيذ التعليمات البرمجية عن بُعد (RCE).
يظهر خطر استخدام التبعيات غير الآمنة عندما لا يدمج المطوّرون تقييمات الأمان واختبارات الثغرات الأمنية في دورة حياة تطوير البرامج (SDLC)، أو عندما لا يطبّقون في بعض الحالات سياسة تحديث تلقائي لتبعيات التطبيق.
يبدأ استغلال التبعيات عادةً بتحليل الرمز الثنائي للتطبيق (ملف APK) للبحث عن مكتبات معرضة للثغرات. في هذه المرحلة، يتم جمع وتحليل البيانات المفتوحة المصدر (OSINT) للكشف عن الثغرات الأمنية التي تم رصدها سابقًا والتي يُحتمل أن يتم استغلالها. يمكن للمهاجمين بعد ذلك الاستفادة من المعلومات التي تم الإفصاح عنها علنًا بشأن الثغرات الأمنية، مثل الثغرات والمخاطر الأمنية الشائعة (CVE)، لتنفيذ المزيد من الهجمات.
التأثير
يمكن أن يؤدي الاستغلال الناجح للتبعيات غير الآمنة إلى مجموعة واسعة من الهجمات، مثل تنفيذ التعليمات البرمجية عن بُعد (RCE) أو إدخال لغة الاستعلامات البنيوية (SQL) أو النصوص البرمجية للمواقع الإلكترونية المشتركة (XSS). لذلك، يرتبط التأثير العام بشكل مباشر بنوع الثغرة الأمنية التي يتسبّب فيها برنامج تابع لجهة خارجية ويمكن للمهاجمين استغلالها. تشمل العواقب المحتملة للاستغلال الناجح للتبعيات المعرَّضة للخطر اختراقات البيانات أو عدم توفّر الخدمة، ما قد يؤدي إلى تأثير كبير في السمعة والعائد الاقتصادي.
إجراءات التخفيف
الدفاع في العمق
يُرجى العِلم أنّه يجب تنفيذ إجراءات التخفيف المذكورة أدناه معًا لضمان مستوى أمان أعلى وتقليل مساحة استهداف التطبيق. يجب دائمًا تقييم النهج الدقيق لكل حالة على حدة.
تقييمات الثغرات الأمنية في التبعيات
استخدِم ميزة التحقّق من التبعيات في بداية دورة حياة التطوير لرصد الثغرات الأمنية في الرموز البرمجية التابعة لجهات خارجية. تختبر هذه المرحلة ما إذا كان الرمز البرمجي الذي لم يتم إنشاؤه داخليًا آمنًا قبل طرحه في بيئات الإنتاج. يمكن استكمال عملية التحقّق من خلال تنفيذ أدوات اختبار أمان التطبيقات الثابتة (SAST) واختبار أمان التطبيقات الديناميكية (DAST) ضمن دورة حياة تطوير البرامج لتحسين وضع أمان التطبيق.
تعديل العناصر التابعة باستمرار
يجب الحرص دائمًا على تحديث أي تبعية مضمّنة في الرمز البرمجي بشكل مستمر. لهذا الغرض، يُنصح بتنفيذ تحديثات تلقائية يتم طرحها في الإصدار العلني كلما أصدر أحد المكوّنات التابعة لجهات خارجية حزمة أمان جديدة.
إجراء اختبار اختراق للتطبيق
إجراء اختبارات اختراق منتظمة تهدف هذه الأنواع من الاختبارات إلى الكشف عن أي ثغرة أمنية معروفة جيدًا يمكن أن تؤثر في الرموز البرمجية الخاصة و/أو التبعيات الخارجية. بالإضافة إلى ذلك، تكشف التقييمات الأمنية بشكل متكرّر عن ثغرات أمنية غير معروفة (ثغرات اليوم الصفر). تُعدّ اختبارات الاختراق مفيدة للمطوّرين لأنّها تقدّم لهم لمحة عن حالة الأمان الحالية للتطبيق وتساعدهم في تحديد أولويات المشاكل الأمنية التي يمكن استغلالها والتي يجب معالجتها.
المراجع
CWE-1395: الاعتماد على مكوّن تابع لجهة خارجية يتضمّن ثغرات أمنية
أفضل الممارسات المتعلّقة بتنفيذ حِزم تطوير البرامج (SDK) على Android