DevOps / المتقدم: الموثوقية والثقة والحوكمة / الدرس 16
أمن سلسلة توريد البرمجيات
تحقق من مصدر الحزمة وثقة البناء ودليل الاعتماديات وإذن الإصدار كأجزاء مستقلة من السياسة.
في هذه الصفحة
أهداف الدرس
- ارسم الثقة عبر المصدر والبناء والحزم والمستهلك.
- افصل التوقيع والمصدر والجرد والإذن.
- خطط أقل امتياز واستجابة قائمة على الدليل.
رسم الطريق إلى المحتوى التنفيذي
تشمل السلسلة المصدر والاعتماديات والسكربتات والمنفذين والمخازن والتوقيع والمستهلكين. قد يستهدف المهاجم أي انتقال أو إضافة عمل بدلا من التطبيق. حدد من يعدل المدخل ومن ينشر ويرقي الناتج. افصل تنفيذ المساهمة غير الموثوقة عن الإصدار المميز. يحسن القفل التكرار ولا يثبت إذن أو سلامة كل اعتمادية. راجع التحديث والملكية والتنبيه بمسار يصحح سريعا دون تجاوز التحقق.
تمييز السلامة والمصدر والسياسة
تحدد البصمة البايتات، وقد يوثق التوقيع ادعاء بهوية موثوقة، ويصف المصدر كيفية الإنتاج. يحتاج المستهلك سياسة تقبل المصدر والباني والمسار والمعاملات وربط الحزمة المتوقعة. ليس توقيع مشروع آخر إذن نشر. يظهر السجل الأول الفحوص المستقلة، وليس مدققا تشفيريا أو سياسة منتج كاملة. تحقق من المواصفة والأداة المعتمدتين؛ تشير الدورة لمفاهيم SLSA1.2 دون ادعاء شهادة لبناء خيالي.
artifact_binding: exact-reviewed-digest
source: approved-repository-and-revision
builder: approved-isolated-release-workflow
identity: approved-issuer-and-subject
provenance: verified-and-policy-compatible
exception: explicit-owner-and-expiry-only
تهم الشروط جميعا. السجل قائمة مراجعة لا شهادة أو توقيع أو سياسة إنفاذ تنفيذية.
استخدام الجرد دون مبالغة
يصف SBOM المكونات بنطاق وصيغة. يفيد التحقيق والاستجابة وقد يغيب عنه إضافات وقت التشغيل وحزم النظام والتوليد عند نقص الجمع. اربطه بالحزمة الدقيقة لا الفرع. يعتمد المسح على التنبيهات والمطابقة والإعداد؛ فلا يعني غياب النتائج انعدام الخطر. رتب التعرض والاستغلال والوظيفة والإصلاح مع استثناءات بمالك وانتهاء. لا تخف فشل حاجز بحذف بند أو تجاهل دائم.
حماية الباني والمستهلك
استخدم تنفيذا مؤقتا أو معزولا ورموزا ضيقة وخطوات مراجعة ونشرا مضبوطا. قد ينتج منفذ مختنفذ ترقية لحزمة خبيثة من مصدر نظيف. احم هوية التوقيع والحمل وتحقق عند الاستهلاك لا النشر فقط. ترفض المحاكاة الثانية بانيا غير معتمد رغم علم توقيع اصطناعي موجب، ولا تتحقق من توقيع حقيقي. اجعل استثناء الطوارئ صريحا مؤقتا مدققا؛ فالتجاوز الدائم يزيل الخاصية المقصودة.
def allowed(evidence):
return (evidence["signature_valid"]
and evidence["builder"] == "approved-release"
and evidence["source_reviewed"])
print(allowed({"signature_valid": True, "builder": "untrusted-job", "source_reviewed": True}))
print(allowed({"signature_valid": True, "builder": "approved-release", "source_reviewed": True}))
False
True
لا يكفي علم توقيع اصطناعي موجب. يفشل الباني غير الموثوق وينجح المطابق، دون توقيع أو حزمة فعلية.
الاستعداد للاحتواء والاستبدال
عند اختراق اعتماد أو بان أو اعتمادية حدد الحزم والنشرات المتأثرة وقيد النشر واتبع التدوير والاستجابة المصرحين. احفظ دليلا آمنا دون نشر السر أو الحمولة. أعد البناء بمسار موثوق مراجع وافحص المصدر والسياسة وحاجة الأنظمة لتحقيق إضافي. لا يمحو استبدال حزمة وصولا محتملا أو آثارا خارجية. احفظ جردا واحتفاظا يجيبان التعرض. تنجح الضوابط بإيقاف الحزمة الخاطئة عند الحد الصحيح ودعم الاستعادة.
الأخطاء الشائعة وإصلاحها
يُقبل أي توقيع صحيح
- لماذا يحدث؟
- أغفل التحقق سياسة المصدر والباني.
- كيف تصلحه؟
- اربط التحقق بالهوية والمدخل والحزمة المعتمدة.
- كيف تتجنب تكراره؟
- اختبر رفض المشروع والباني الخاطئين.
يُعد SBOM إثبات أمن كامل
- لماذا يحدث؟
- أُهمل نطاق الجرد وقابلية الاستغلال.
- كيف تصلحه؟
- راجع النطاق ومكونات التشغيل والتنبيهات والتعرض.
- كيف تتجنب تكراره؟
- تتبع الجرد بالحزمة وحدّث الاستجابة.
يتسرب اعتماد المنفذ للسجلات
- لماذا يحدث؟
- نفذ السياق المميز خطوات غير موثوقة أو كاشفة.
- كيف تصلحه؟
- احتو ودوّر وحقق في الحزم والوصول.
- كيف تتجنب تكراره؟
- قلل الرموز وافصل نطاقات الثقة.
اختبر فهمك
1. تأتي حزمة موقعة من تفرع بمسار إصدار مختلف. هل ترقى؟
اعرض الحل المشروح
لا إلا إذا أجازت السياسة المصدر والباني صراحة. يجيب التوقيع جزءا من السؤال. افحص الربط والمصدر وارفض الاختلاف أو استخدم استثناء مؤقتا مراجعا مسؤولا.
2. يمس تنبيه اعتمادية مكونا في حزمة إصدار محددة. ما دليل الاستجابة؟
اعرض الحل المشروح
تحقق من انطباق التنبيه والوظيفة المتاحة وهويات الحزم والضوابط ومسار تحديث مختبر. سجل القرار وانتهاء الاستثناء. ليست الشدة تقييما كاملا ولا مسح نظيف بعد حذف دليل معالجة.
أهم ما تعلمته
- تشمل السلسلة المصدر والاعتماديات والسكربتات والمنفذين والمخازن والتوقيع والمستهلكين.
- يصف SBOM المكونات بنطاق وصيغة.
- عند اختراق اعتماد أو بان أو اعتمادية حدد الحزم والنشرات المتأثرة وقيد النشر واتبع التدوير والاستجابة المصرحين.