الحد من مخاطر سلسلة توريد البرمجيات باستخدام SBOMs

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

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

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

ما هي وظيفة SBOM في إدارة مخاطر سلسلة التوريد؟

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

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

صورة لقائمة المكونات

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

لماذا يعد SBOM أمرًا بالغ الأهمية للمطورين الذين يعتمدون على التعليمات البرمجية مفتوحة المصدر

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

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

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

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

  • الامتثال لالتزامات الترخيص -لقد ذكرنا كيف أن الترخيص هو أحد الدوافع الرئيسية لمحاولة معرفة جميع مكونات برنامجك. سيضمن الحصول على SBOM امتثالك لجميع التزامات الترخيص الخاصة بالمكونات التي تختار استخدامها.

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

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

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

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

حالات وفوائد استخدام SBOM

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

حالات استخدام SBOM

الامتثال للمتطلبات الفيدرالية

في أعقاب الهجمات الكبرى على سلسلة توريد البرمجيات في عامي 2020 و2021، أصدر الرئيس بايدن أمرًا أمر تنفيذي الذي يحدد التوصيات الرئيسية للوكالات والبائعين الذين يوفرون حلول البرمجيات للحكومة. كان أحد المتطلبات المدرجة في الأمر التنفيذي هو اقتراح تضمين SBOMs لكل برنامج ستستخدمه الحكومة الفيدرالية. على الرغم من أن SBOMs ليست إلزامية للجميع، فإن جميع المؤسسات التي توفر برامج للحكومة الفيدرالية الأمريكية ستحتاج إلى توفير SBOMs التي توضح بالتفصيل جميع المكونات التي تستخدمها وأي تغييرات تجريها على الإصدار.

تقليل المخاطر بالنسبة لمستهلكي البرمجيات

يوفر SBOM رؤية كاملة لمكونات الطرف الثالث لأداة البرنامج. يعد تتبع جميع المكونات والمكونات الفرعية للبرنامج إحدى الطرق التي يمكن للمؤسسات من خلالها التحقق من معايير الأمان والامتثال لأي حل برمجي تنوي استخدامه أو تستخدمه بالفعل.

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

الاستجابة السريعة لحالات الأزمات

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

مشاكل عدم تناسق المعلومات

عدسة مكبرة فوق الكود

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

دعم عمليات الدمج والاستحواذ

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

فوائد SBOMs

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

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

وفي الختام

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