تحديد قائمة مواد البرنامج المناسبة لمؤسستك
إذا كنت تسأل ، “ما هو SBOM؟” سوف تحتاج إلى اللحاق بالركب بسرعة. فاتورة مواد البرمجيات هي خط الدفاع الأول ضد ثغرات البرامج التي يمكن أن تكمن في الانتظار ، مثل الأبواب الخلفية المفتوحة في شبكتك ، وهي جاهزة للسماح بدخول المتسللين.
يسرد SBOM ، مثل أي قائمة مواد ، مكونات المنتج النهائي ، لذلك في حالة حدوث مشكلة ، يمكن للمطورين التركيز على السبب ومعالجته بأقل قدر ممكن من التعطيل. تُعد وحدات SBOM حجر الأساس لأمن سلسلة التوريد ، مما يتيح عمليات تطوير أكثر أمانًا وذكاءً أفضل للتهديدات للحفاظ على شبكات أكثر مرونة.
بعد عامين من قيام عصابة من برامج الفدية بإعاقة عمليات تسليم الوقود في الولايات المتحدة من خلال مهاجمة مشغل خطوط الأنابيب ، تظل هجمات سلسلة التوريد مصدر إزعاج رئيسي للمهنيين الأمنيين. في أعقاب الهجوم واكتشاف ثغرة Log4J ، أصبحت SBOMs سائدة حيث يكافح محترفو الأمن لمنع الهجمات المستقبلية.
صعود SBOMs والتوجيه الفيدرالي
يمر SBOMs لحظة. خلال مؤتمر RSA الأخير ، أصدرت وكالة الأمن السيبراني وأمن البنية التحتية التابعة للحكومة الفيدرالية (CISA) إرشادات حول الأنواع المختلفة من SBOMs المتاحة واستخدامها.
كان CISA مروجًا لاستخدام SBOMs ، خاصة منذ الأمر التنفيذي 14028 ومذكرة مكتب الإدارة والميزانية M-22-18 التي تطلبت تطوير نموذج إبلاغ لمطوري البرامج الذين يخدمون الحكومة الفيدرالية. يعقد CISA اجتماعات SBOM-a-Rama التي تجمع بين أنواع الصناعة لدعم تطوير CBOM.
نتجت وثيقة CISA عن جهد جماعي بدأ في عام 2018 ، ومثل العديد من الجهود الجماعية ، يمكن أن تصبح غير عملية. تقر مقدمة المستند بهذا القدر ، حيث تنص على أنه “نظرًا للطرق المختلفة التي يمكن من خلالها جمع بيانات SBOM ، قد تختلف مخرجات الأداة وتوفر قيمة في حالات الاستخدام المختلفة.” مع أخذ ذلك في الاعتبار ، من المفيد تفصيل أنواع SBOMs المتاحة وبعض حالات الاستخدام المحتملة للمساعدة في توضيح أيها يمكن أن يكون أكثر فائدة للمؤسسة.
فك شفرة الأنواع الستة الرئيسية من SBOMs
هناك ستة أنواع رئيسية من SBOMs قيد الاستخدام اليوم لأنها تتحرك على طول مراحل دورة حياة تطوير البرمجيات:
-
• تصميم: يتم إنشاء SBOM من هذا النوع للبرامج المحتملة أو المخطط لها وتتضمن مكونات قد تكون موجودة أو غير موجودة. عادة ما يتم تطويره بناءً على RFP أو المفهوم أو المواصفات. في حين أنه ممكن من الناحية النظرية ، من الصعب تصور كيف يمكن أن يساعد ذلك وكيف يمكن أن يولد وثيقة يمكن قراءتها آليًا تلبي المعايير التي تدعمها الحكومة الفيدرالية.
تتمثل إحدى حالات الاستخدام المحتملة لهذا النوع من SBOM في تنبيه المطورين إلى مشكلات الترخيص التي قد تنشأ عند التفكير في استخدام مكونات معينة قد تؤثر على الملكية الفكرية أو توزيع المنتج النهائي. يمكن أن يساعد SBOM فريق التطوير على تحديد العناصر غير المتوافقة قبل شرائها وتحديد قائمة بالمكونات المعتمدة والموصى بها. يمكن لهذا النوع من SBOM أيضًا تمكين الفريق من الحصول على أفضل مكونات مفتوحة المصدر من منظور الأعمال.
-
• مصدر: يشبه إلى حد بعيد SBOM من نوع البناء ، يتم إنشاء هذا في بيئة التطوير ويتضمن جميع ملفات المصدر والتبعيات المطلوبة لإنشاء عنصر أثرية ولكنه يستبعد أداة الإنشاء من العملية. يتم إنتاجه عادةً بواسطة أداة تحليل تكوين البرامج (SCA) ، مع إضافة بعض التوضيحات يدويًا.
من الصعب رؤية حالة الاستخدام لهذا النوع بدلاً من SBOM من نوع البناء الأكثر شيوعًا. ومع ذلك ، يمكن لـ SBOM اكتشاف المكونات الضعيفة التي لا يتم تشغيلها أبدًا بعد النشر ، مما يمنح الفريق رؤية لشجرة التبعية للمكونات المضمنة. ومن ثم ، فإنه يمكّن من معالجة نقاط الضعف المعروفة عند المصدر في وقت مبكر من عملية التطوير.
على الجانب السلبي ، قد يفتقر إلى بعض تفاصيل الأنواع الأخرى من SBOMs ، بما في ذلك وقت التشغيل أو المكون الإضافي أو المكونات الديناميكية ، مثل مكتبات خادم التطبيقات.
-
• يبني: أكثر أنواع SBOM شيوعًا ، وهو مخزون أكثر اكتمالًا تم إنشاؤه كجزء من عملية بناء البرنامج الذي سيُشغل الأداة النهائية. يستخدم هذا الأسلوب بيانات مثل ملفات المصدر ، والتبعيات ، والمكونات المبنية ، وبناء البيانات المؤقتة للعملية ، والتصميم السابق والمصدر SBOMs. يعتمد على حل جميع التبعيات في نظام البناء ومسحها على آلة البناء.
نظرًا لأنه يتم فحص الملفات الفعلية ، فإن هذا النوع من SBOM ينشئ سجلًا أكثر اكتمالاً ببيانات غنية حول كل ملف ، مثل التجزئة والمصدر. يؤدي توفير المزيد من الرؤية إلى ما هو متاح من التعليمات البرمجية المصدر إلى بناء الثقة في أن SBOM تمثل عملية التطوير بدقة. تنبع هذه الثقة من دمج SBOM والمنتج النهائي في نفس سير العمل.
على الجانب السلبي ، يعتمد SBOM بشكل كبير على بيئة البناء ، والتي قد تحتاج في بعض الأحيان إلى التغيير من أجل إنتاج SBOM.
-
• تم التحليل: يشار إلى هذا أحيانًا باسم “طرف ثالث SBOM” أو SCA ثنائي. يعتمد على مسح القطعة الأثرية عند تسليمها للعمل على مكوناتها ؛ ويستخدم أدوات الجهات الخارجية لتحليل القطع الأثرية مثل الحزم والحاويات وصور الأجهزة الافتراضية. لا يحتاج إلى الوصول إلى بيئة الإنشاء ويمكنه التحقق مرة أخرى من بيانات SBOM من مصادر أخرى للعثور على التبعيات المخفية التي لم يتم فقدان أدوات إنشاء SBOM.
نظرًا لأنه يقوم بشكل أساسي بعكس هندسة مكونات الأداة ، يمكن أن يكون أداة مفيدة لمستخدمي البرامج الذين لا يتوفر لديهم SBOM أو يمكنهم دعم SBOM موجودة.
على الجانب السلبي ، غالبًا ما يعتمد هذا النوع من SBOM على أساليب استكشافية أكثر مرونة أو عوامل خطر استنادًا إلى السياق لاختبار المكونات. لذلك قد ينتج عن الاختبار بعض النتائج الإيجابية الخاطئة. ولكن من المرجح أيضًا العثور على مكتبات مرتبطة من البيئة دون أن يدرك فريق التطوير ذلك ، مثل OpenSSL libc ، أو غيرها من المكتبات التي تبني SBOMs غالبًا ما تفوتها.
-
• نشر: كما يوحي اسمها ، يعد هذا جردًا للبرنامج المنشور في النظام ، وعادة ما يتم إنشاؤه عن طريق تجميع SBOMs ومعلومات التكوين الخاصة بالقطع الأثرية المثبتة. يمكن أن يجمع بين تحليل خيارات التكوين وفحص سلوك التنفيذ في بيئة منتشرة. من المفيد فحص مكونات البرامج ، بما في ذلك التكوينات ومكونات النظام الأخرى التي تقوم بتشغيل تطبيق.
قد يتطلب إنشاء هذا النوع من SBOM تغيير عمليات التثبيت والنشر ، وقد لا يعكس دائمًا بيئة وقت تشغيل الأداة نظرًا لأن بعض المكونات قد لا يمكن الوصول إليها. لكن النطاق الواسع لهذا النوع من SBOM يجعلها خيارًا جذابًا.
-
• مدة العرض: يُطلق عليه أحيانًا اسم SBOM “المُجهز” أو “الديناميكي” ، ويحل هذا النوع النقطة العمياء في وحدات SBOM المنتشرة. في هذه الحالة ، تتفاعل الأدوات مع النظام وتسجيل القطع الأثرية المستخدمة في بيئة قيد التشغيل وتلك التي تم تحميلها في الذاكرة أثناء التنفيذ. تساعد هذه العملية في تجنب الإيجابيات الخاطئة من المكونات غير المستخدمة.
يمنح هذا النوع من SBOM المطورين رؤية للمكونات المحملة ديناميكيًا والتوصيلات الخارجية ويمكن أن يمنحهم تفاصيل حول المكونات النشطة والأجزاء المستخدمة منها. إنه يضيف إلى حمل الشبكة لأنه يجب تحليل النظام أثناء التشغيل. نظرًا لأنه يجب تشغيله لبعض الوقت لاستخدام وظائفه الكاملة ، فقد يستغرق الأمر بعض الوقت لجمع معلومات مفصلة.
الأفكار النهائية حول اختيار SBOMs
بالنظر إلى هذه التفاصيل ، فإن تحديد النوع أو المجموعة الصحيحة من SBOMs لخدمة احتياجات مؤسستك ينطوي على مزيد من الاعتبار من مجرد اختيار أول أداة لتوليد SBOM متاحة لأغراض الامتثال.
نظرًا لدعم الحكومة الفيدرالية ، فإن SBOM موجودة بلا شك لتبقى ، ويمكنها إنشاء أساس متين ، وإدخال النظام في العملية الفوضوية أحيانًا لتأمين منتجات البرامج.