خطوات الاستخدام
الخطوة 1: إدخال عدد حزم نظام التشغيل (OS Packages). يشمل ذلك جميع البرامج والمكتبات التي تم تثبيتها عبر مدير الحزم مثل apt, yum, أو dnf. هذه الحزم تشكل الأساس البرمجي للبنية التحتية السحابية، وغالباً ما يتم تتبعها عبر أدوات مثل rpm أو dpkg. يجب عليك تضمين جميع الحزم المثبتة سواء كانت أساسية أو إضافية، لأن كل حزمة قد تحتوي على نقاط ضعف أمنية محتملة.
الخطوة 2: إدخال عدد تبعيات التطبيق (Application Dependencies). هذه هي المكتبات والإطارات البرمجية التي تعتمد عليها التطبيقات المخصصة. يتم جلبها عادة عبر مديري الحزم مثل npm, pip, Maven, أو NuGet. يختلف العدد حسب تعقيد التطبيق؛ فالتطبيقات الحديثة تعتمد على عشرات بل مئات التبعيات. من المهم تضمين جميع التبعيات المباشرة وغير المباشرة (المتسلسلة) للحصول على صورة كاملة لسلسلة التوريد البرمجية.
الخطوة 3: إدخال عدد موارد البنية التحتية (Infrastructure Resources). هذا يشمل المكونات البرمجية التي تشكل البنية التحتية السحابية مثل الحاويات (Containers), الأطر السحابية (Cloud frameworks), أدوات الإدارة والتكوين (مثل Terraform, Ansible). يمكن أن تكون هذه المكونات عبارة عن صور حاويات كاملة أو وحدات برمجية صغيرة. يعد تتبع هذه المكونات مهماً لأمن السحابة، حيث أن أي خطأ في التكوين قد يؤدي إلى ثغرات أمنية.
الخطوة 4: حساب إجمالي مكونات SBOM. بمجرد إدخال القيم الثلاث، ستقوم الحاسبة بجمعها للحصول على العدد الإجمالي. هذا المجموع يمثل عدد المكونات البرمجية الفريدة التي تشكل البرنامج بالكامل من وجهة نظر SBOM. يساعد هذا الرقم في تقييم حجم قاعدة البرمجيات ومدى تعقيدها، وهو مؤشر مهم في إدارة المخاطر الأمنية.
الخطوة 5: استخدام النتائج في تحليل المخاطر. بعد الحصول على الإجمالي، يمكنك تحليل كل فئة على حدة. على سبيل المثال، إذا كان عدد تبعيات التطبيق كبيراً جداً، فقد يشير ذلك إلى ارتفاع خطر التبعيات القديمة أو غير الآمنة. يمكن استخدام النتيجة لتحديد أولويات التدقيق الأمني وإدارة التصحيحات.
أمثلة محلولة
تطبيقات عملية على مكونات SBOM السحابية بخطوات الحل كاملة.
الحل
لحساب إجمالي مكونات SBOM، نقوم بجمع الثلاثة أعداد: 150 (حزم OS) + 250 (تبعيات التطبيق) + 35 (موارد البنية التحتية) = 435 مكوناً. هذا يعني أن تطبيق الشركة يعتمد على 435 قطعة برمجية مختلفة، لكل منها سجل إصدار ومخاطر أمنية محتملة. يجب على فريق الأمن إدارة قائمة SBOM هذه لتحديث أي مكون ضعيف. على سبيل المثال، إذا كانت إحدى حزم npm في الإصدار 1.0.0 بها ثغرة معروفة، فيجب تحديثها. كما أن تتبع تبعيات npm المتسلسلة قد يكشف عن تبعيات مخفية تزيد العدد الفعلي.
الحل
المجموع هو 200 + 500 + 100 = 800 مكون. هذا العدد الكبير يستدعي أتمتة إدارة SBOM باستخدام أدوات مثل Syft أو Trivy. في بيئات Kubernetes، قد تكون هناك صور حاويات متعددة تحتوي كل منها على حزم OS وتبعيات خاصة. لذلك قد يكون العدد الفعلي أعلى بكثير. من المهم أيضاً تضمين تبعيات وقت التشغيل (runtime dependencies) التي لا تظهر في ملفات القوائم. استخدام الحاسبة يساعد في الحصول على تقدير أولي، لكن يجب على الفرق استخدام أدوات مسح ضوئي للحصول على قائمة دقيقة.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة مكونات SBOM السحابية.
مرجع — تطبيق ويب على AWS
- حزم نظام التشغيل
- 150
- تبعيات التطبيق
- 250
- موارد البنية التحتية
- 35
مرجع — أسطول أصغر
- حزم نظام التشغيل
- 120
- تبعيات التطبيق
- 45
- موارد البنية التحتية
- 10
مرجع — SBOM فارغ
- حزم نظام التشغيل
- 0
- تبعيات التطبيق
- 0
- موارد البنية التحتية
- 0
قيم مُدخَلة قياسية
- حزم نظام التشغيل
- 30
- تبعيات التطبيق
- 50
- موارد البنية التحتية
- 50
قيم مُدخَلة مرتفعة
- حزم نظام التشغيل
- 70
- تبعيات التطبيق
- 85
- موارد البنية التحتية
- 85
قيم مُدخَلة منخفضة
- حزم نظام التشغيل
- 5
- تبعيات التطبيق
- 10
- موارد البنية التحتية
- 10
قيم مُدخَلة قياسية
- حزم نظام التشغيل
- 300
- تبعيات التطبيق
- 300
- موارد البنية التحتية
- 300
قيم مُدخَلة مرتفعة
- حزم نظام التشغيل
- 800
- تبعيات التطبيق
- 800
- موارد البنية التحتية
- 800
قيم مُدخَلة منخفضة
- حزم نظام التشغيل
- 50
- تبعيات التطبيق
- 50
- موارد البنية التحتية
- 50