ملصق الحقائق الغذائية الذي افتقرت إليه البرمجيات دائمًا

في 9 ديسمبر 2021، اكتشف باحث أمني ثغرة في مكتبة Java تُسمى Log4j. وفي غضون 72 ساعة، واجهت مئات الملايين من الأنظمة مخاطر أمنية.

لم تكن المشكلة تكمن في الثغرة فحسب، بل كانت المشكلة في الرؤية والوضوح. فمعظم الشركات لم تكن تعلم ما إذا كانت Log4j موجودة داخل برمجياتها الخاصة.

حولت هذه اللحظة "قائمة مواد البرمجيات" (SBOM) إلى أولوية لمجالس إدارة الشركات.

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

البرمجيات الحديثة معقدة، فغالبًا ما يستخدم التطبيق الواحد ما بين 500 إلى 1,500 جزء من أطراف خارجية، ولا يمكنك تتبع هذه الأجزاء يدويًا.

يوجد معياران رئيسيان اليوم:

• SPDX: يركز على الامتثال للتراخيص. وهو مفيد للفرق القانونية. • CycloneDX: يركز على الأمن. وهو مفيد لفرق DevSecOps.

تعتمد سرعة استجابتك على وجود SBOM لديك. فخلال أزمة Log4j، تمكنت الشركات التي تمتلك SBOM من تحديد مخاطرها في غضون ساعات، بينما قضت الشركات التي تفتقر إليها أسابيع في عمليات التدقيق اليدوي.

تثبت الهجمات الأخيرة مثل XZ Utils أن هذه الفجوة لا تزال قائمة؛ حيث يخفي المهاجمون أبوابًا خلفية (backdoors) في المكتبات الشائعة، وبدون الأتمتة، لن تتمكن من رؤيتها.

كما أن اللوائح التنظيمية تتغير أيضًا:

• الأمر التنفيذي الأمريكي 14028: يجب على الموردين الفيدراليين تقديم SBOMs. • توجيهات FDA: تتطلب الأجهزة الطبية وجود SBOMs. • قانون الصمود السيبراني في الاتحاد الأوروبي: يتطلب وجود SBOMs للبرمجيات في الاتحاد الأوروبي بحلول عام 2027.

كيف تبدأ:

  1. اختر معيارًا. استخدم CycloneDX للأمن أو SPDX للتراخيص.
  2. أتمت عملية الإنشاء. استخدم أدوات مثل Syft للصور أو Snyk لخطوط الأنابيب (pipelines).
  3. اربطها بقواعد البيانات. قم بتوصيل قائمتك بـ NIST NVD أو OSV.
  4. ضع جدولاً زمنياً. قم بإنشاء SBOM مع كل عملية بناء (build).

لا تحاول إصلاح محفظة برمجياتك بالكامل دفعة واحدة، بل ابدأ بتطبيق واحد.

تذكر أن الـ SBOM هو أداة تشخيصية؛ فهو يخبرك بما تملكه، لكنه لا يحل المشكلة نيابة عنك. فإذا أظهر الـ SBOM وجود 23 ثغرة أمنية، فستظل بحاجة إلى خطة لمعالجتها.

الشركات الأفضل لا تمتلك الأدوات فحسب، بل تمتلك عملية منظمة؛ فهي تعرف من المسؤول عن كل تبعية (dependency) قبل وقوع الأزمة.

Source: https://dev.to/spicykim/the-nutrition-label-that-software-always-lacked-213 Full details: lucas8.com/what-is-sbom-software-bill-of-materials