ما هي SBOMs وماذا تعني بالنسبة للبرمجيات مفتوحة المصدر؟

ما الذي يحتويه البرنامج التجاري والبرنامج مفتوح المصدر الذي تستخدمه؟ ما مقدار ما كتبه البائع وما مقدار ما كتبه من أكواد من جهات خارجية؟ هل يمكن الوثوق بكل هذه الأكواد؟




التهديدات حقيقية

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

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

أدى هجوم الفدية في مايو 2021 على شركة Colonial Pipeline Company إلى إغلاق خط أنابيب يبلغ طوله 5500 ميل. من بين أنواع الوقود المكرر الأخرى، يسلم خط الأنابيب 45٪ من إمدادات البنزين – 2.5 مليون برميل يوميًا من البنزين – إلى الساحل الشرقي. توقف تسليم البنزين ببساطة. ارتفعت الأسعار في المضخات بشكل كبير وبدأ الشراء بدافع الذعر. اضطرت آلاف محطات الوقود إلى الإغلاق بسبب نقص الإمدادات.


كان الهجوم على شركة Colonial Pipeline Company مدفوعًا بدوافع مالية. كان هجومًا ببرامج فدية، وهو شكل شائع من أشكال الابتزاز الرقمي. دفعت شركة Colonial Pipeline للمجرمين الإلكترونيين فدية قدرها 75 بيتكوين – ما يقرب من 4.4 مليون دولار، حسب أسعار الصرف – لاستعادة أنظمتهم.

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

الرد على التهديدات

في 21 مارس 2021، وقع الرئيس بايدن أمرًا تنفيذيًا بشأن تحسين الأمن السيبراني في البلادإنها تحدد مجموعة من المعايير والمتطلبات التي يجب أن تلبيها أو تتجاوزها جميع أنظمة المعلومات الفيدرالية.


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

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

تم ذكر البرمجيات مفتوحة المصدر بشكل خاص. يتحدث الأمر التنفيذي عن “ضمان وإثبات سلامة ومصدر البرمجيات مفتوحة المصدر المستخدمة في أي جزء من المنتج، إلى الحد الممكن عمليًا”.


وهذا ليس مفاجئًا. فقد وجد تقرير صدر عام 2021 حول أمن البرمجيات مفتوحة المصدر أن متوسط ​​عدد مكونات البرمجيات مفتوحة المصدر في المشاريع التجارية غير التافهة يبلغ 528 مكونًا. وهذا يمثل زيادة بنسبة 259% عن خمس سنوات مضت عندما كان المتوسط ​​84 مكونًا مفتوح المصدر لكل مشروع.

البرمجيات مفتوحة المصدر كمواد استهلاكية

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

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


لذا فإن إتاحة الكود المصدري الخاص بك للمراجعة ليس كافيًا. بل يتعين عليك تقديم قائمة بالمكونات البرمجية في منتجك، تمامًا مثل قائمة المكونات الغذائية والكيميائية الموجودة على غلاف حلوى الشوكولاتة. وفي عالم البرمجيات، يُطلق على ذلك قائمة المواد البرمجية أو SBOM.

قائمة مواد البرنامج

يبدأ الأمان بالمعرفة. فأنت بحاجة إلى معرفة ما لديك للتأكد من تأمينه. ولهذا السبب فإن سجلات أصول تكنولوجيا المعلومات وسجلات معالجة البيانات مهمة للغاية. إن سجل الأصول التقنية وسجلات معالجة البيانات هو مستند خاص بالتطبيق يسرد جميع عناصر البرامج التي تشكل منتجًا برمجيًا.

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


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

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


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

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

هناك العديد من معايير SBOM المتنافسة. والرائدات الثلاث في هذا المجال هم تبادل بيانات حزمة البرامج (SPDX)، معيار ISO 19770-5:2013 تحديد هوية البرنامج (SWID)، و سيكلون دي إكسوسيكون من المثير للاهتمام أن نرى ما إذا كانت الحكومة الفيدرالية ستعتمد أحد هذه المعايير كمعيار مفضل لها.


يمكن أن تساعد الأتمتة

يمكن أن تساعد عدة فئات من الأدوات في إنتاج واستخدام SBOMs. تتوفر حزم برامج يمكنها مسح المشروعات وتحديد التبعيات وإنشاء SBOMs أو SBOMs كاملة تقريبًا يمكنك إسقاط بعض التفاصيل النهائية فيها.

من المحتمل أن يتم توفير ملفات SBOM إما للتنزيل أو كجزء من البرنامج المضمن، مثل ملف “readme”. بمجرد حصولك على ملف SBOM الخاص بشخص آخر، يتعين عليك مراجعته.

سيستغرق هذا بعض الوقت. سيتعين فحص كل مكون للتأكد من أنه مسموح به وفقًا للمعايير التي حددتها مؤسستك، وأن ترخيص كل مكون لا يسبب أي تعارضات بالنسبة لك.

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


الأمن يبدأ بالمعرفة

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

أضف تعليق