Logo

أمان سلسلة توريد البرمجيات: بيانات فواتير البرمجيات والمصدر والبناءات القابلة للتكرار

  • الرئيسية
  • المدونة
  • أمان سلسلة توريد البرمجيات: بيانات فواتير البرمجيات والمصدر والبناءات القابلة للتكرار
Images
Images

أمان سلسلة توريد البرمجيات: بيانات فواتير البرمجيات والمصدر والبناءات القابلة للتكرار

مقدمة

تُركَّب البرمجيات الحديثة جوهريًا بدلاً من كتابتها من الصفر: يعتمد التطبيق الإنتاجي المتوسط على مئات، وأحيانًا آلاف، من حزم مفتوحة المصدر، كل منها يعتمد على حزم أخرى خاصة بها، مُشكِّلة رسم بياني تبعيات عميق وغالبًا غير شفاف بشكل مفاجئ لا تستطيع قلة من المؤسسات تعداده بالكامل، ناهيك عن تدقيقه أو التحقق منه بمعنى ذي دلالة، لحظة شحن إصدار.

سلسلة هجمات بارزة عبر السنوات القليلة الماضية - أنظمة بناء مخترقة، حزم مفتوحة المصدر مُعدَّلة بخبث، تحديثات برمجية مُتلاعَب بها - نقلت أمان سلسلة توريد البرمجيات من مصدر قلق أكاديمي هامشي لأولوية هندسية وتنظيمية سائدة. يفحص هذا المقال الأدوات والممارسات المحددة التي ظهرت استجابة مباشرة: بيانات فواتير برمجيات تجعل رسم بياني تبعيات مرئيًا، وشهادات مصدر بناء تجعل نزاهة عملية بناء قابلة للتحقق.

بيان فاتورة البرمجيات: جعل غير المرئي مرئيًا

بيان فاتورة برمجيات، المختصر شائعًا SBOM، جرد رسمي وقابل للقراءة الآلية لكل مكون - مباشر وغير مباشر - يُشكّل قطعة برمجية، يتضمن عادة اسم كل مكون وإصداره وترخيصه وغالبًا بصمة تشفيرية تُعرِّف بشكل فريد الكود الدقيق المُضمَّن. الرؤية التأسيسية وراء SBOMs مباشرة لكن لم تكن، لسنوات، ممارسة معيارية: لا تستطيع مؤسسة تقييم أو الاستجابة لمخاطر في تبعية لا تعرف أن لديها.

أصبحت القيمة العملية لـSBOM مرئية بشكل صارخ أثناء حوادث مثل ثغرة Log4Shell المُفصَح عنها في ديسمبر 2021، حيث استطاعت المؤسسات ذات توليد SBOM آلي مُدمَج في خطوط أنابيب البناء الخاصة بها تحديد أي من خدماتها المنشورة تعتمد على إصدارات Log4j الضعيفة فورًا وبدقة. أصبحت تنسيقات SBOM المعيارية، أساسًا SPDX وCycloneDX، منذ ذلك الحين متطلبات تنظيمية وتعاقدية شائعة.

مصدر البناء: إثبات كيفية بناء قطعة فعليًا

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

يُضفي إطار SLSA، المُطوَّر أصلاً في Google والمُصان الآن كمعيار مفتوح ومحايد للمزود، الطابع الرسمي على مصدر البناء لمجموعة متدرجة من مستويات الأمان، يتطلب كل منها ضمانات أقوى تدريجيًا حول نزاهة عملية بناء - من متطلب أساسي بأن يكون البناء مُبرمجًا وقابلاً للتكرار على الإطلاق، وصولاً لمتطلبات بناء يعمل في بيئة معزولة وعابرة لا يمكن العبث بعملية البناء نفسها من قبل بناء سابق مخترق.

البناءات القابلة للتكرار: التحقق المستقل

تأخذ البناءات القابلة للتكرار مبدأ التحقق خطوة أبعد من شهادة المصدر وحدها: بدلاً من الثقة ببساطة بشهادة موقعة بأن بناءً نُفِّذ بشكل صحيح، تضمن عملية بناء قابلة للتكرار أن بناء نفس كود المصدر بنفس التبعيات المُعلَنة سينتج دائمًا مخرج ثنائي متطابق بت-ببت، بغض النظر عمن يُنفذ البناء أو على أي بنية تحتية.

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

دراسة حالة: هجوم SolarWinds وتداعياته

يبقى هجوم SolarWinds عام 2020، حيث اخترق مهاجمون بنية بناء SolarWinds الداخلية وحقنوا كودًا خبيثًا مباشرة في عملية بناء برمجية Orion الخاصة بالشركة، واحدًا من أكثر هجمات سلسلة توريد البرمجيات أهمية ودراسة على نطاق واسع تحديدًا لأنه أظهر متجه هجوم كانت ممارسات مراجعة الأمان التقليدية مُجهَّزة بشكل رديء لاكتشافه: مراجعة مستودع كود مصدر SolarWinds الفعلي لم تكن لتكشف أي شيء مشبوه على الإطلاق.

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

الدفعة التنظيمية المتنامية

إلى جانب الممارسة الجيدة التنظيمية الفردية، أصبح أمان سلسلة توريد البرمجيات بشكل متزايد مسألة متطلب تنظيمي رسمي بدلاً من نظافة طوعية. فرض الأمر التنفيذي 14028 في الولايات المتحدة، الصادر استجابة مباشرة لهجوم SolarWinds، على الوكالات الفيدرالية والموردين الذين يبيعون لها تبني ممارسات أمان سلسلة توريد محددة تشمل توليد SBOM.

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

الخاتمة

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