أمن تطوير البرمجيات

الأمن، كجزء من عملية تطوير البرمجيات، هو عملية مستمرة تشمل الأشخاص والممارسات، وتضمن سرية التطبيق، والتكامل، والتوافر. البرمجيات الآمنة هي نتيجة لعمليات تطوير البرمجيات المدركة للأمان حيث يُضمن الأمان وبالتالي تُطور البرامج مع وضع الأمان في الاعتبار.[1][2]

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

الحل لأمن تطوير البرمجيات هو أكثر من مجرد التكنولوجيا.

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

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

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

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

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

إن معرفة أصحاب المصلحة بهذه الأمور وكيفية تنفيذها في البرامج أمر حيوي لأمن البرامج. وتشمل هذه التدابير ما يلي: