ScholarGate
المساعد

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

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

اعثر على موضوع باستخدام PaperMindقريبًاFind papers & topics
Tools & resources
تنزيل الشرائح
Learn & explore
فيديوقريبًا

Definition

تطوير البرمجيات الآمن هو الانضباط الذي يدمج أنشطة وضوابط الأمان طوال دورة حياة تطوير البرمجيات لتقليل عدد وشدة الثغرات الأمنية في البرمجيات المسلّمة.

Scope

يغطي هذا الموضوع الممارسات والعمليات التي تنتج برمجيات آمنة: نمذجة التهديدات، مبادئ التصميم الآمن، معايير الترميز الآمن، التحليل الثابت والديناميكي، التمويه (fuzzing)، اختبار الأمان، مراجعة الكود، ودورة حياة التطوير الآمن وDevSecOps. ويتناول أمان سلسلة التوريد والتبعيات. ويستثني الدراسة الهجومية للاستغلال وتحليل البرمجيات الخبيثة بعد الإصدار، والتي يتم تناولها في مواضيع شقيقة.

Core questions

  • كيف يتم تصميم الأمان في البرمجيات منذ البداية بدلاً من إضافته لاحقًا؟
  • ما هي نمذجة التهديدات وكيف توجه التصميم الآمن؟
  • كيف يكتشف التحليل الثابت والتحليل الديناميكي والتمويه (fuzzing) الثغرات الأمنية قبل الإصدار؟
  • كيف يتم تضمين أنشطة التطوير الآمن في مسارات التكامل المستمر/النشر المستمر (CI/CD) الحديثة (DevSecOps)؟
  • كيف تتم إدارة المخاطر من التبعيات الخارجية وسلسلة توريد البرمجيات؟

Key concepts

  • نمذجة التهديدات
  • مبادئ التصميم الآمن
  • معايير الترميز الآمن
  • اختبار أمان التطبيقات الثابت (SAST)
  • التحليل الديناميكي (DAST)
  • التمويه (fuzzing)
  • مراجعة الكود
  • دورة حياة التطوير الآمن
  • أمان سلسلة التوريد

Key theories

دورة حياة تطوير الأمان
عملية منظمة تدمج بوابات الأمان في كل مرحلة من مراحل التطوير — المتطلبات، التصميم (نمذجة التهديدات)، التنفيذ (الترميز الآمن، التحليل)، التحقق (الاختبار، التمويه)، والإصدار — مما يقلل بشكل ملموس من الثغرات الأمنية في البرمجيات المشحونة.
التحول إلى اليسار والضمان الآلي
يعد العثور على العيوب وإصلاحها مبكرًا ('التحول إلى اليسار') أرخص بكثير مما لو تم بعد النشر؛ يوفر التحليل الثابت/الديناميكي الآلي والتمويه المدمج في التكامل المستمر ضمانًا قابلاً للتطوير والتكرار.

Mechanisms

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

Clinical relevance

يحدد التطوير الآمن مستوى الأمان الأساسي لجميع البرمجيات التي يستخدمها الناس تقريبًا. أدى اعتماد مايكروسوفت لدورة حياة التطوير الآمن (SDL) بعد عام 2002 إلى تقليل الثغرات الأمنية في منتجاتها بشكل ملحوظ، ويكتشف التمويه المستمر (OSS-Fuzz من جوجل) آلاف الأخطاء في الكود مفتوح المصدر واسع الاستخدام، وأصبحت ممارسات سلسلة التوريد ملحة بعد هجمات مثل SolarWinds وLog4Shell. تشكل هذه الممارسات التوقعات التنظيمية ومتطلبات الشراء.

Evidence & guidelines

تشمل الأطر Microsoft SDL، وOWASP SAMM وASVS، وBSIMM (قياس للبرامج الحقيقية)، وإطار عمل تطوير البرمجيات الآمن (SSDF, SP 800-218) التابع للمعهد الوطني للمعايير والتقنية (NIST). تتطلب التوجيهات التنفيذية الأمريكية الآن شهادة SSDF لموردي البرمجيات الحكوميين، وتدعم معايير قائمة مكونات البرمجيات (SBOM) شفافية سلسلة التوريد.

History

نشأ التطوير الآمن من الإدراك في أواخر التسعينيات وأوائل العقد الأول من القرن الحادي والعشرين بأن ترقيع البرمجيات المشحونة لم يكن قابلاً للتطوير. أنتجت مبادرة الحوسبة الموثوقة من مايكروسوفت عام 2002 دورة حياة تطوير الأمان، وقام كتاب ماكجرو 'أمان البرمجيات' (2006) بتقنين 'بناء الأمان'. في العقد الثاني من القرن الحادي والعشرين، تم دمج هذه الممارسات في سير عمل Agile وDevOps (DevSecOps)، وبعد حوادث سلسلة التوريد الكبرى، تم توسيعها لتشمل التبعيات وسلامة البناء.

Key figures

  • Gary McGraw
  • Michael Howard
  • Steve Lipner
  • Ross Anderson

Related topics

Seminal works

  • howard2006
  • mcgraw2006
  • anderson2020

Frequently asked questions

ما هي نمذجة التهديدات؟
نمذجة التهديدات هي تحليل منظم، يتم إجراؤه أثناء التصميم، لما قد يستهدفه المهاجم وكيف. تقوم الفرق برسم مخطط للنظام، وتعداد التهديدات (غالبًا باستخدام قائمة تحقق مثل STRIDE)، وتحديد الإجراءات التخفيفية قبل كتابة الكود، بحيث يتم بناء الأمان في البنية.
لماذا لا يكفي تشغيل ماسح ضوئي للأمان؟
تكتشف الماسحات الضوئية الآلية العديد من الأنماط المعروفة ولكنها تفوت عيوب التصميم، وأخطاء منطق الأعمال، والمشكلات الجديدة، وتنتج إيجابيات خاطئة. تجمع البرامج الفعالة بين التحليل الآلي ونمذجة التهديدات والمراجعة اليدوية والاختبار عبر دورة الحياة بأكملها.

Methods for this concept

Related concepts