تصنيف المكتبات التي تتطلب فحوصات أمنية خاصة

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

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

مكتبات جافا سكريبت من مستودع npm:

  • المتزامن (196 ألف سطر من التعليمات البرمجية، 11 مؤلفًا، 7 ملتزمين، 11 إصدارًا مفتوحًا)؛
  • يرث (3.8 ألف سطر من التعليمات البرمجية، 3 مؤلفين، 1 مرتكب، 3 مسائل لم يتم حلها)؛
  • معرف com لهذا التطبيق هو com.isarray (317 سطرًا من التعليمات البرمجية، 3 مؤلفين، 3 ملتزمين، 4 قضايا مفتوحة)؛
  • نوع من (2 سطر من التعليمات البرمجية، 11 مؤلفًا، 11 ملتزمًا، 3 مسائل لم يتم حلها)؛
  • lodash (42 ألف سطر من التعليمات البرمجية، 28 مؤلفًا، 2 ملتزمين، 30 إصدارًا مفتوحًا)؛
  • الحد الأدنى (1.2 ألف سطر من التعليمات البرمجية، 14 مؤلفًا، 6 ملتزمين، 38 إصدارًا مفتوحًا)؛
  • المواطنين (3 آلاف سطر من التعليمات البرمجية، مؤلفان، ملتزم واحد، لا توجد قضايا مفتوحة)؛
  • qs (5.4 ألف سطر من التعليمات البرمجية، 5 مؤلفين، 2 ملتزمين، 41 إصدارًا مفتوحًا)؛
  • تيار قابل للقراءة (28 ألف سطر من التعليمات البرمجية، 10 مؤلفين، 3 ملتزمين، 21 إصدارًا مفتوحًا)؛
  • string_decoder (4.2 ألف سطر من التعليمات البرمجية، 4 مؤلفين، 3 ملتزمين، 2 قضايا مفتوحة).

مكتبات Java من مستودعات Maven:

  • جاكسون الأساسية (74 ألف سطر من التعليمات البرمجية، 7 مؤلفًا، 6 ملتزمين، 40 إصدارًا مفتوحًا)؛
  • جاكسون-ربط البيانات (74 ألف سطر من التعليمات البرمجية، 23 مؤلفًا، 2 ملتزمين، 363 إصدارًا مفتوحًا)؛
  • guava.gitمكتبات Google لـ Java (مليون سطر من التعليمات البرمجية، و1 مؤلفًا، و83 ملتزمين، و3 إصدارًا مفتوحًا)؛
  • المشاع الترميز (51 ألف سطر من التعليمات البرمجية، 3 مؤلفين، 3 ملتزمين، 29 إصدارًا مفتوحًا)؛
  • المشاع- io (73 ألف سطر من التعليمات البرمجية، 10 مؤلفًا، 6 ملتزمين، 148 إصدارًا مفتوحًا)؛
  • httpcomponents-client (121 ألف سطر من التعليمات البرمجية، 16 مؤلفًا، 8 ملتزمين، 47 إصدارًا مفتوحًا)؛
  • httpcomponents-core (131 ألف سطر من التعليمات البرمجية، 15 مؤلفًا، 4 ملتزمين، 7 قضايا مفتوحة)؛
  • تسجيل الدخول مرة أخرى (154 ألف سطر من التعليمات البرمجية، مؤلف واحد، ملتزمان، 1 إصدارًا مفتوحًا)؛
  • كومونس لانج (168 ألف سطر من التعليمات البرمجية، 28 مؤلفًا، 17 ملتزمًا، 163 إصدارًا مفتوحًا)؛
  • slf4j (38 ألف سطر من التعليمات البرمجية، 4 مؤلفين، 4 ملتزمين، 189 إصدارًا مفتوحًا)؛

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

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

المصدر: opennet.ru

إضافة تعليق