مراحل دورة حياة تطوير برمجيات SDLC الآمنة

نشرت: 2021-02-26

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

ما هو Secure SDLC؟

بمعنى أوسع ، فإن Secure SDLC هي عملية دمج اختبار الأمان والإجراءات الأخرى في دورة حياة تطوير البرامج الحالية. يمكن أن يشمل ذلك:

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

لماذا يعد Secure SDLC مهمًا؟

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

سبب آخر لذلك هو أنه ليس أسلوبًا فعالاً لتطوير البرامج دون التركيز على الأمان ثم اختباره وتصحيحه.

مراحل تأمين SDLC

يدور المفهوم الكامل لـ SDLC الآمن حول القضاء على الشر في مهده. تمنع العملية ترحيل العيوب إلى المرحلة التالية من دورة حياة تطوير البرامج. فيما يلي رسم تخطيطي للمراحل المتضمنة في Secure SDLC والتدابير الأمنية المطبقة في كل منها.

مرحلة متطلبات Secure SDLC

إلى جانب المتطلبات الوظيفية للبرنامج ، يتم وصف متطلبات الأمان أيضًا في بداية SDLC الآمن. توضح هذه المتطلبات بالتفصيل ما هو مطلوب من المطورين لجعل البرنامج آمنًا بطبيعته.

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

  • يجب أن يكون لجميع البوابات ونقاط الدخول إجراءات مصادقة في مكانها.
  • يجب أن يقوم النظام بتنفيذ المصادقة من خلال شاشة تسجيل دخول آمنة.
  • يجب تشفير جميع البيانات الشخصية في جميع الأوقات.
  • يجب استخدام أكثر من قناة مصادقة واحدة لنقل البيانات الحساسة.

مرحلة التخطيط لـ SDLC الآمن

مرحلة التخطيط هي الخطوة المحورية في Secure SDLC. يمكن أن يختلف التخطيط من حالة إلى أخرى ولكن فيما يلي بعض الأشياء الأساسية التي يجب الاهتمام بها:

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

مرحلة العمارة والتصميم لـ SDLC

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

الأشياء التي يجب الاهتمام بها خلال هذه المرحلة تشمل على سبيل المثال لا الحصر:

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

مرحلة تطوير SDLC

هذا هو "التطوير" الفعلي للبرنامج. بعد إعداد تخطيط آمن للتطبيق ، يتعين على المطورين كتابة الكود بطريقة تتماشى مع إرشادات الأمان. هذا يشمل:

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

يتم إجراء بعض الاختبارات أيضًا في المرحلة. يمكن أن يشمل ذلك أشياء مثل ضمان عدم إرسال البيانات الحساسة كنص عادي.

مرحلة تنفيذ SDLC

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

قبل تنفيذ الحل في الحياة الواقعية ، يتم إجراء تحليل الضعف واختبار الاختراق. تسمى إصدارات البرنامج التي يتم إجراء هذا الفحص عليها بإصدارات الاختبار. تشمل الأشياء الرئيسية التي يجب ملاحظتها حول هذا ما يلي:

  • تُستخدم أدوات مثل HP WebInspect و ZAP و Burp Suite و SOAP للتحقق من نقاط الضعف في البرنامج مقابل قواعد بيانات الضعف المختلفة.
  • هذه المرحلة بأكملها عبارة عن مزيج من الأتمتة والاختبار اليدوي.
  • يتم تنفيذ هذه العملية في بيئة مستقلة غير مرتبطة ببيئة التطوير لضمان سيناريوهات اختبار قريبة من الواقع.
  • يتم التخفيف من أي ثغرة أمنية يتم العثور عليها في هذه المرحلة قبل إصدار البرنامج.
  • يتم تحديد التهديدات الشائعة والنموذجية خلال هذه المرحلة ويتم اتخاذ الخطوات لمنعها.

خاتمة

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

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