الفصل ١١
١١الأمن في دورة حياة تطوير البرمجيات
«الثغرة التي تُصلح في التصميم تكلّف فكرة، والتي تُصلح في الإنتاج قد تكلّف الشركة».
صار كل استوديو إبداعي اليوم شركة برمجيات صغيرة: موقع للحملة، وتطبيق للعميل، وأدوات داخلية، وتكاملات مع منصات الذكاء الاصطناعي. ويطلب آيزو 27001:2022 أن يكون الأمن جزءاً من دورة حياة التطوير (الضوابط 8.25 إلى 8.34)، لا فحصاً أخيراً قبل الإطلاق.


نصّ هذا الشكل
الأمن · منذ البداية · المتطلبات · متطلبات الأمن والخصوصية · التصميم · نمذجة التهديدات · البرمجة · برمجة آمنة · SAST · الاختبار · DAST · اختبار اختراق · النشر · إعداد آمن · إدارة الأسرار · التشغيل · مراقبة · ترقيع · شكل ١٣
الأمن في كل مرحلة
- المتطلبات: تُكتب متطلبات الأمن إلى جانب متطلبات الوظيفة: من يصل؟ ما البيانات الحساسة؟ ما القوانين المنطبقة؟
- التصميم: نمذجة التهديدات ومبادئ التصميم الآمن: أقل امتياز، ودفاع متعدد الطبقات، وفشل آمن.
- البرمجة: معايير برمجة آمنة، ومراجعة الكود بين الزملاء، وعدم وضع الأسرار في الكود.
- الاختبار: تحليل ساكن (SAST) وديناميكي (DAST) وتحليل للمكونات (SCA)، واختبار اختراق للأنظمة الحرجة.
- النشر: إعدادات آمنة، وفصل بيئات التطوير والاختبار والإنتاج، وإدارة الأسرار.
- التشغيل: مراقبة وسجلات وتحديثات، وخطة استجابة جاهزة.
نمذجة التهديدات بنموذج STRIDE
نمذجة التهديدات جلسة قصيرة يرسم فيها الفريق النظام ويسأل: ما الذي يمكن أن يسوء؟ ويصنف نموذج STRIDE الإجابات في ست فئات تساعد على ألا ننسى شيئاً.


نصّ هذا الشكل
S · الانتحال · Spoofing · يهدد: الأصالة · T · العبث · Tampering · يهدد: السلامة · R · الإنكار · Repudiation · يهدد: عدم الإنكار · I · كشف المعلومات · Information Disclosure · يهدد: السرية · D · حجب الخدمة · Denial of Service · يهدد: التوافر · E · رفع الصلاحيات · Elevation of Privilege · يهدد: التفويض · لكل عنصر في مخطط النظام اسأل: أيّ الستة يمكن أن يصيبه؟ · شكل ١٤
| الفئة | السؤال | الخاصية المهددة |
|---|---|---|
| الانتحال | هل يتظاهر أحد بأنه غيره؟ | المصادقة |
| العبث | هل يُعدَّل شيء دون إذن؟ | السلامة |
| الإنكار | هل ينكر أحد فعلاً قام به؟ | عدم الإنكار |
| كشف المعلومات | هل تتسرب بيانات؟ | السرية |
| حجب الخدمة | هل يتعطل النظام؟ | التوافر |
| رفع الامتياز | هل يحصل أحد على صلاحيات أكثر؟ | التفويض |
البرمجة الآمنة
الضابط 8.28 جديد في إصدار 2022، ويطلب تطبيق مبادئ البرمجة الآمنة. وأكثر الأخطاء شيوعاً معروفة ومرتبة في قائمة OWASP لأخطر عشر ثغرات في تطبيقات الويب: كسر التحكم في الوصول، وإخفاقات التشفير، والحقن، والتصميم غير الآمن، وسوء الإعدادات، والمكونات القديمة، وضعف المصادقة، وغيرها.
- تحقق من كل مدخل: لا تثق بأي بيانات تصل من المستخدم أو من نظام آخر.
- لا أسرار في الكود: المفاتيح وكلمات المرور في خزنة أسرار، لا في المستودع.
- حدّث المكونات: كل مكتبة قديمة باب معروف للمهاجم.
- سجّل بحكمة: سجلات كافية للتحقيق، دون كلمات مرور أو بيانات شخصية.


نصّ هذا الشكل
المتطلبات · التصميم · البرمجة · الاختبار · الإنتاج · هنا الأرخص · شكل توضيحي للاتجاه لا لأرقام بعينها: انقل الأمن إلى بداية الدورة · شكل ١٥
تحديث ٢٠٢٦
أصبح جزء كبير من الكود يُكتب بمساعدة الذكاء الاصطناعي. والكود المولّد قد يبدو صحيحاً ويحمل ثغرات أو يقترح مكتبات غير موجودة يسجلها المهاجمون باسمها. عامله ككود زميل جديد: يُراجع ويُختبر ويُفحص قبل الدمج، ولا تلصق أسراراً أو كوداً سرياً في أداة غير معتمدة.
انقل الأمن إلى اليسار: كلما بدأ مبكراً كان أرخص وأقوى.
الدروس المستفادة
- ١الأمن متطلب يُكتب في البداية لا فحص يُجرى في النهاية.
- ٢نموذج STRIDE يمنح الفريق ست أسئلة لا تُنسى.
- ٣البرمجة الآمنة ضابط صريح في 2022.
- ٤الكود المولّد بالذكاء الاصطناعي يُراجع كأي كود آخر.
تلميح: استخدم ← → للتنقل بين الأقسام.

