
إطار عمل لدمج أمن التطبيقات في هندسة البرمجيات (FIASSE) باستخدام نموذج هندسة البرمجيات القابل للتأمين (SSEM)
ملاحظة: هذا المستودع عمل مستمر. المساهمات مرحب بها!
باختصار: يرجى قراءة DOC. استكشف موقع FIASSE. قم بزيارة مناقشات GitHub للمساهمة.
يحتوي هذا المستودع على موارد ومواد لإطار عمل OWASP لدمج أمن التطبيقات في هندسة البرمجيات (FIASSE). يروّج FIASSE (يُنطق /feiz/ مثل 'phase') لـنهج قائم على المبادئ ومركّز على المطور لبناء برمجيات قابلة للتأمين — مع الإقرار بأن الأمن عملية ديناميكية ومستمرة مثل التطوير. يقدم نموذج هندسة البرمجيات القابلة للتأمين (SSEM) كـلغة تصميم مشتركة تستخدم مصطلحات هندسة برمجيات راسخة لدمج الأمن في بنية البرمجيات وتصميمها وهندستها. دمج الأمن في المبادئ التي تشكل الكود نفسه. يهدف الإطار إلى بناء تطبيقات مرنة تتحمل التهديدات بمرور الوقت.
توفير إرشادات عملية تمكّن المطورين من إنشاء برمجيات قابلة للتأمين دون الحاجة إلى خبرة أمنية عميقة، وتوجيه المتخصصين في الأمن لدمج خبراتهم الأمنية بفعالية في هندسة البرمجيات. يحقق FIASSE ذلك من خلال عدسة هندسة البرمجيات، مما يقلل العبء المعرفي ويعزز التعاون بين فرق التطوير والأمن.
بينما تركز المشاريع القائمة على الضمان مثل OWASP Top 10 على ما يجب تجنبه (قائمة حظر)، يوفر OWASP FIASSE مجموعة من السمات والممارسات الإيجابية التي يجب اتباعها (قائمة سماح). يستفيد هذا النهج من مهارات هندسة البرمجيات الحالية لبناء برمجيات قابلة للتأمين، بدلاً من مطالبة المطورين بتعلم تقنيات الاستغلال أو اعتماد عقلية تركز على الثغرات. التركيز على تمكين البرمجة الآمنة العملية من خلال مبادئ هندسية مألوفة.
من خلال التحديد الواضح للدور العملي للأمن داخل عملية التطوير، يضمن هذا الإطار التقاط قيمة الأعمال بفعالية. من خلال وضع التوقعات بهذه الطريقة، يقلل هذا بشكل كبير من احتمالية اكتشاف عيوب أمنية والحاجة إلى معالجتها لاحقًا.
/docsيعرّف هذا المستودع البرمجيات القابلة للتأمين على أنها أنظمة موثوقة ومرنة وقابلة للتكيف. يؤكد أن الأمن الحقيقي عملية مستمرة، وليس إنجازًا ثابتًا. يقدم نموذج هندسة البرمجيات القابلة للتأمين (SSEM)، الذي يؤطر الأمن كمجموعة متأصلة من الصفات للبرمجيات المهندسة جيدًا. للقيام بذلك، يعرض فئات السمات: قابلية الصيانة، والجديرة بالثقة، والموثوقية (التي تتضمن المرونة). يدعو FIASSE إلى دمج الممارسات الأمنية في سير عمل التطوير حيث يكون لها أكبر تأثير. ينتقل هذا من نهج "الأمن كفكرة لاحقة" أو نهج "الإزاحة لليسار" إلى نموذج استباقي وتعاوني. الفكرة هي أن مالكي المنتجات والمطورين والمتخصصين في الأمن يعملون معًا منذ المراحل الأولى للتصميم، خاصة من خلال أنشطة مثل تعريف المتطلبات الأمنية والنمذجة التعاونية للتهديدات ومعايير القبول. يضع هذا توقعات واضحة لأنشطة الكود والاختبار. يتم إعطاء مهندسي البرمجيات إرشادات حول موازنة المرونة والتحكم. كما يتم منحهم نموذجًا محددًا لاتخاذ القرارات الأمنية. في النهاية، يمكّن هذا جميع أصحاب المصلحة من المساهمة في بناء أنظمة أكثر متانة وموثوقية وقابلة للتأمين بطبيعتها.
يختلف FIASSE عن النهج الحالية بعدم مطالبة المطورين بأن يصبحوا خبراء أمن أو بتبني عقلية الخصم. يهدف هذا النهج إلى تقليل العبء المعرفي على المطورين مع ضمان أن يكون فريق الأمن واثقًا من أن مخاوفهم تتم معالجتها من خلال سمات محددة للكود وعمليات هندسة البرمجيات.
ينوي FIASSE أن يكون مفتوحًا وسهل الوصول وتعاونيًا.
المعالم الأولية لمشروع FIASSE:
سيتم تطوير معالم إضافية مع فريق المشروع. مدخلات المجتمع مرحب بها عبر مناقشات GitHub.
يكمل هذا المستودع موقع FIASSE.
مشروع OWASP FIASSE هو جزء من مؤسسة OWASP، وهي منظمة غير ربحية تركز على مهمة القضاء على البرمجيات غير الآمنة. توفر مؤسسة OWASP ثروة من الموارد والأطر التي تتماشى مع مبادئ FIASSE.
يركز هذا الإطار على هندسة البرمجيات القابلة للتأمين ويُكمَّل بمشاريع OWASP أخرى:
تستضيف OWASP أيضًا العديد من المشاريع التي توثق المتطلبات والميزات الأمنية، مثل OWASP Mobile Application Security. ودليل المطور من OWASP، وهو مورد شامل لمختلف موارد OWASP الأخرى.
مورد رائع آخر للمتطلبات المرجعية وممارسات الضمان هو OpenCRE الذي يجمع ويربط بين مختلف الأطر الأمنية.
يحدد إطار تطوير البرمجيات الآمنة (SSDF) من NIST أربع مراحل تمثل جوانب مختلفة لتنفيذ ممارسات تطوير البرمجيات الآمنة. يتماشى مع مبادئ FIASSE من خلال التأكيد على دمج الأمن في دورة حياة تطوير البرمجيات.
تحدد مدونة ممارسات أمن البرمجيات من NCSC النتائج المرجوة وبعض الاستراتيجيات الرئيسية. بينما يركز إطار عمل FIASSE على المبادئ والاستراتيجيات التالية من المستوى الأول لتحقيق نتائج قابلة للتأمين، الموجهة لفرق التطوير والضمان للمواءمة مع استراتيجيات الأعمال. يحدد SSEM السمات المستخدمة لإنتاج النتائج المرجوة، وتوفر منهجية FIASSE إرشادات عملية لتنفيذ هذه السمات في ممارسات هندسة البرمجيات.