يعتبر فهم سلسلة توريد كل منتج نقطة هامة في عالم الأعمال المعاصر. ينطبق ما سبق على البرمجيات أيضاً. تقوم بعض المؤسسات بإسناد بعض مراحل تطوير البرمجيات إلى جهات خارجية بدلاً من كتابة البرامج من البداية. يمكن للمبرمجين تسريع التطوير وتوفير تكاليف التصنيع من خلال اعتماد مكتبات سابقة الإنشاء ومكونات مفتوحة المصدر ، مما يتيح لهم طرح المنتجات في السوق بشكل أسرع.
نتيجة لذلك ، فإن الشركات تأخذ بعين الاعتبار تلك البرامج التي يتم تطويرها خارج جدرانها وشبكاتها في إجراءاتها الأمنية. إذن ، ما الأشخاص والإجراءات والتقنيات التي تدخل في البرنامج الذي يتم تطويره؟
ما هي سلسلة توريد البرمجيات ؟
سلسلة توريد البرامج هي أي شيء يدخل أو يكون له تأثير على التعليمات البرمجية الخاصة بالبرامج أثناء انتقالها من التطوير إلى النشر. يتضمن ذلك كل ما يدخل في البرنامج، مثل الكود والمكونات الأخرى ، بالإضافة إلى مصدرها ، مثل repository أو الحزمة.
من قام بكتابة الكود؟ كيف تم فحصها بحثًا عن مخاطر الأمان ، ونقاط الضعف المعروفة ، والإصدارات المدعومة ، ومعلومات الترخيص؟ يجب على المؤسسة أن تعرف كل ما يتعلق ببرامجها خلال كل مراحل دورة حياة هذه البرامج.
تمتد سلسلة التوريد لتشمل ما هو أبعد من البرنامج ذاته. يتضمن ذلك عمليات البناء والـ packaging والبرامج التي تشغل البنية التحتية التي يعمل عليها التطبيق. تحتوي سلسلة توريد البرامج أيضًا على أي معلومات تحتاج إلى معرفتها حول البرنامج الذي تشغله لتقييم أي مخاطر مرتبطة به.
الاهتمام بكل حلقات السلسلة
وفقاً لـ hackread.com فإن المؤسسات تحتاج إلى طرق فعالة للعناية ببرامجها. نتحدث هنا عن عدد كبير من سطور التعليمات البرمجية وأعباء الامتثال لمعايير الأمان وفرق عديدة من المبرمجين. فيما يلي بعض الاستراتيجيات للقيام بذلك.
الحوكمة Governance
تقوم الشركات الآن بكسر الحدود ودمج مهام العمل عبر الفرق والأفراد. كما أن دمج التطوير والعمليات عبر الـ DevOps ،سيؤدي لتحسين الاتصال بين الأقسام وتحقيق أداء أفضل.
ومع ذلك ، في هذا المناخ سريع التغير ، من المهم أكثر من أي وقت مضى منع تسرب البيانات. يجب على الشركات فحص وتنفيذ عمليات حوكمة البيانات لتأمين بياناتها. حتى أن بعض الشركات استخدمت DevSecOps لتسليط الضوء على أن الأمان عنصر جوهري من عناصر التعاون الجيد.
Software Bill of Materials
قائمة مواد البرمجيات (SBOM) عبارة عن سجل يتكون من قائمة تشتمل على مكونات البرنامج. تشتمل غالبية البرامج في الوقت الحاضر على مجموعة متنوعة معقدة من البرامج الخارجية ، سواء منها التجارية أو مفتوحة المصدر. من الضروري الاحتفاظ بقائمة محدثة لجميع تلك المكونات.
SBOM عبارة عن مجموعة من المعلومات الخاصة بالبرنامج. تعد أسماء المكونات وتفاصيل الترخيص وأرقام الإصدارات والموردين كلها أجزاء مهمة من هذه المعلومات. تساعد هذه المعلومات في تقليل المخاطر التي يتعرض لها كل من الشركة المصنعة والمستهلك ، مما يسمح للآخرين بفهم ما هو موجود في برنامجهم والتصرف بشكل مناسب.
الهجمات على سلسلة التوريد
وفقاً لشركة مايكروسوفت فإن هجمات سلسلة التوريد تمثل نوعاً ناشئاً من التهديدات التي تستهدف مطوري البرامج والموردين. الهدف هو الوصول إلى أكواد المصدر ،أو التلاعب بعملية تحويل تلك الأكواد إلى برامج build processes ، أو من خلال آلية تحديث البرامج عن طريق السيطرة على التطبيقات المشروعة و استغلالها لتوزيع البرامج الضارة.
يبحث المهاجمون عن نقاط الضعف و الثغرات في بروتوكولات الشبكة والبنى التحتية للخوادم غير المحمية وممارسات التشفير غير الآمنة. ويقومون باختراق وتغيير رموز المصدرsource code وإخفاء البرامج الضارة في عمليات إنشاء أو تحديث البرامج.
بما أن البرامج تم إنشاؤها وإصدارها بواسطة بائعين موثوق بهم ، فإن هذه التطبيقات والتحديثات موقعة ومعتمدة. في هجمات سلسلة توريد البرامج ، من المحتمل ألا يكون البائعون على دراية بأن تطبيقاتهم أو تحديثاتهم مصابة بشفرات ضارة عندما يتم إصدارها للجمهور. ثم يتم تشغيل الشفرة الضارة بنفس الثقة والأذونات مثل التطبيق.
للأسف فإن عدد الضحايا المحتملين لهذه الهجمات كبير، بالنظر إلى شعبية بعض التطبيقات. حدثت حالة تم فيها استغلال تطبيق مجاني لضغط الملفات ونشره للعملاء في بلد يعتبر فيه ذلك التطبيق مفضلاً للمستخدمين.
و من أنواع هجمات سلاسل التوريد:
- اختراق أدوات بناء البرامج أو البنية التحتية الخاصة بتطبيق تحديثاتها (مثال: SolarWinds)
- تزييف أو سرقة شهادات رقمية من شركات موثوقة لاستخدامها في إعطاء صفة شرعية على البرامج الضارة لخداع أنظمة الحماية.
- اختراق و التلاعب بشيفرة المصدر source code التي تأتي متضمنة في التجهيزات hardware.
حماية سلسلة توريد البرمجيات
يركز المتسللون جهودهم على مكونات مفتوحة المصدر للوصول إلى سلاسل التوريد. بتجنب هذه الاعتداءات سيتم تجنب الخسارة المالية والتشغيلية وخسائر السمعة ، والتي قد تكون لها عواقب بعيدة المدى على قطاعات بأكملها.
من المهم أيضاً السماح للتطبيقات المصرح بها للعمل في الشركة مع استخدام برامج خاصة للكشف عن النشاطات المشبوهة للبرامج في الوقت الحقيقي للتمكن من عزلها و معالجتها لإلقاء الأمور تحت السيطرة.
العثور على نقطة ضعف هو نصف المعركة. ويجب على المطورين تحديث أي برنامج يستخدم الـ code بعد معرفة ثغرة أمنية معينة. هذا يستلزم مستوى عالياً من الرؤية عبر سلسلة توريد البرامج.
فإذا اكتشف المطورون والمعنيين مكونات خطيرة ، فلا يمكن استخدامها في بيئة الـ production. يجب تحديد المكونات ذات المشكلات ويجب إنشاء نظام لتتبعها ومنعها من الدخول مرة أخرى في دورة حياة تطوير البرامج.
يؤدي ترك code قديم وعفا عليه الزمن في مكانه إلى تعريض سلسلة التوريد للتهديدات. ولذلك فمن الضروري تبديله لآخر حديث لاستكمال المشروع البرمجي بأمان.
وكما نعلم فإن البرامج تتطور باستمرار لتلبي تطلعات العملاء. إن هذا التطور يسلتزم من المبرمجين الموازنة بين السرعة و الدقة لمنع حدوث الأخطاء. على الرغم من أن الـ Agile كان موجوداً هنا على مدار العشرين عاماً الماضية ، إلا أن الاختبار المستمر للبرامج ومراقبة الأداء تعتبر ضرورية وضرورية أكثر من أي وقت مضى.