كيف تبدأ برنامج أمن التطبيقات مع أواسب – أعلى عشرة مخاطر
في السابق، لم يتم تصميم أواسب – أعلى عشرة مخاطر أبدًا ليكون أساسًا لبرامج أمن التطبيقات. ومع ذلك، من الضروري أن تبدأ من مكانٍ ما، العديد من المؤسسات التي بدأت للتوّ في رحلة أمان التطبيقات الخاصة بها. تُعد أواسب – أعلى عشرة مخاطر لعام 2021 بداية جيّدة كخط أساس لقوائم المراجعة وما إلى ذلك، ولكنها ليست كافية في حد ذاتها.
المرحلة الأولى: تحديد الثغرات والأهداف الخاصة ببرنامج أمن التطبيقات
تحاول العديد من برامج أمن التطبيقات (AppSec) الجري قبل أن تتمكن من الزحف أو المشي. هذه الجهود محكوم عليها بالفشل. نحن نشجّع بشدّة مدراء أمن المعلومات CISOs وكبار مختصّي أمن التطبيقات على استخدام نموذج أواسب لنضج وضمان البرامج SAMM لتحديد نقاط الضعف ومجالات التحسين على مدى فترة تتراوح ما بين 1-3 سنوات. تتمثّل الخطوة الأولى في تقييم وضعك الحالي، وتحديد الثغرات في الحوكمة والتصميم والتنفيذ والتحقق والعمليات التي تحتاج إلى حلّها على الفور مقابل تلك التي يمكن أن تنتظر، وتحديد أولويات تنفيذ أو تحسين الخمسة عشر لنموذج أواسب لنضج وضمان البرامج (SAMM). يمكن أن يساعدك نموذج أواسب (SAMM) في بناء وقياس التحسينات في البرنامج لضمان الجهود.
المرحلة الثانية: التخطيط لمفهوم الطريق المُمهد في دورة حياة تطوير البرمجيات بطريقة آمنة
تقليديًا، الحفاظ على ما يسمى "أحادي القرن"، مفهوم الطريق المُمهد هو أسهل طريقة لتحقيق أكبر قدر من التأثير وتوسيع نطاق موارد أمن التطبيقات مع سرعة فرق التطوير، والتي تزيد كل عام فقط.
يعتبر مفهوم الطريق المُمهد أسهل طريقة وأيضًا الطريقة الأكثر أمانًا، ويجب أن تتضمّن ثقافة الشراكة العميقة بين فريق التطوير والفريق الأمني، ويُفضّل أن يكونا نفس الفريق. يهدف الطريق المُمهد إلى التحسين المُستمر للبدائل الغير آمنة وقياسها واكتشافها واستبدالها من خلال وجود مكتبة على مستوى المؤسسة من البدائل المؤمّنة، مع أدوات للمساعدة في معرفة أين يمكن إجراء التحسينات من خلال اعتماد الطريق المُمهد. يسمح ذلك لأدوات التطوير الحالية بالإبلاغ عن البنيات الغير آمنة ومساعدة فرق التطوير على التصحيح الذاتي بعيدًا عن البدائل الغير آمنة.
قد يبدو أن الطريق المُمهد يتطلّب الكثير من الوقت، ولكن يجب أن يتم بناؤه تدريجيًا مع مرور الوقت. هناك أشكال أخرى من برامج أمن التطبيقات، لاسيما دورة حياة التطوير الآمن أجايل مايكروسوفت Microsoft Agile. ليست بالضرورة أن تناسب منهجيّة برنامج أمن التطبيقات كل الأعمال.
المرحلة الثالثة: تنفيذ مفهوم الطريق الممهد مع فرق التطوير الخاصة بك
يتم بناء منهجيّة الطريق المُمهد بالموافقة والمشاركة المباشرة من قبل فرق التطوير والعمليات ذات الصِلة. يجب مواءمة منهجيّة الطريق المُمهد بشكل استراتيجي مع الأعمال والمساعدة في تقديم تطبيقات أكثر أمانًا بشكل أسرع. يجب أن يكون تطوير الطريق المُمهد تمرينًا شاملًا يُغطي النظام البيئي للمؤسسة أو التطبيق بالكامل، وليس أداة مساعدة لكل تطبيق، كما كان في الزمن السابق.
المرحلة الرابعة: ترحيل جميع التطبيقات الحالية والقادمة إلى منهجية الطريق الممهد
أضِف أدوات اكتشاف منهجيّة الطريق المُمهد أثناء تطويرها وقم بتقديم معلومات لفرق التطوير لتحسين أمان تطبيقاتهم من خلال كيفية اعتمادهم المباشر لعناصر مفهوم الطريق المُمهد. وبمجرد اعتماد جانب من جوانب مفهوم الطريق المُمهد، يجب على المؤسسات تنفيذ فحوصات تكامل مستمرة لفحص الشفرة الحالية وعمليات تسجيل الوصول التي تستخدم بدائل محظورة وتحذّر أو تمنع إنشاؤها أو الوصول لها. هذا يمنع الخيارات الغير آمنة من التسلل إلى الشفرة بمرور الوقت، مما يمنع الأعباء التقنية والتطبيق الغير الآمن المُعيب. يجب أن ترتبط هذه التحذيرات بالبديل الآمن، حتى يتم إعطاء فرق التطوير الإجابة الصحيحة على الفور. يمكنهم إعادة بناء واعتماد مكوّن الطريق المُمهد بسرعة.
المرحلة الخامسة: اختبار مفهوم الطريق المُمهد إن كان قد خفّف من المشاكل الموجودة في أواسب – أعلى عشرة مخاطر
يجب أن تعالج مكونات الطريق المُمهد المشاكل الكبيرة في أواسب – أعلى عشرة مخاطر، على سبيل المثال، كيفية اكتشاف أو إصلاح المكونات الضعيفة تلقائيًا، أو مكوّن بيئة تطوير متكاملة IDE لتحليل النص البرمجي الثابت لاكتشاف الحقن أو حتى مكتبة معروفة بأنها آمنة ضد الحقن، مثل مكتبة React أو Vue. كلما زاد عدد هذه البدائل الآمنة التي يتم توفيرها للفرق، كان ذلك أفضل. تتمثّل إحدى المهام الحيوية لفريق "أمان التطبيقات" في التأكد من أن أمان هذه المكونات يتم تقييمه وتحسينه باستمرار. وبمجرد تحسينها، يجب أن يُشير شكل من أشكال مسار الاتصال مع مستخدمي المكوّن إلى أنه يجب إجراء ترقية، ويُفضّل أن يكون ذلك تلقائيًا، وإن لم يكن الأمر كذلك، يجب على الأقل تسليط الضوء على اللوحة الرئيسية للتحكم أو ما شابه ذلك.
المرحلة السادسة: قم ببناء برنامجك في بيئة برمجية آمنة
يجب ألا يقتصر اعتمادك على أواسب- اعلى عشرة مخاطر فقط. فهو يغطي فقط 10 فئات من المخاطر. نحن نشجع المؤسسات بشدة على اعتماد معيار التحقق من أمن التطبيقات وإضافة مكونات منهجية الطرق الممهدة واختبارات المستوى 1 و2 و3 تدريجيًا، اعتمادًا على مستوى مخاطر التطبيقات المطورة.
الذهاب إلى أبعد من ذلك
جميع برامج حماية التطبيقات الرائعة تتجاوز الحد الأدنى، فيجب على الجميع الاستمرار إذا أردنا أن نتغلّب على الثغرات الأمنية للتطبيقات.
-
تكامل المفاهيم. يجب أن تحتوي برامج أمن التطبيقات المتطورة على بعض المفاهيم الخاصة بهندسة الأمن، سواء كانت بنية سحابية رسمية أو بنية أمان مؤسسية أو نمذجة للتهديدات
-
الأتمتة والقياس. تحاول برامج أمن التطبيقات المتطوّرة أتمتة أكبر قدر ممكن من مخرجاتها، باستخدام البرامج النصيّة لمحاكاة خطوات اختبار الاختراق المعقدة، وأدوات تحليل النص البرمجي الثابت المتاح لفرق التطوير، ومساعدة فرق التطوير في بناء وحدة أمن التطبيقات واختبارات التكامل، وغيرها..
-
الثقافة. تحاول برامج أمن التطبيقات المتطوّرة بناء تصميم غير آمن والقضاء على الديّن التقني للنص البرمجي الحالي من خلال كونها جزءًا من فريق التطوير وليس عملًا جانبيًا. فرق أمن التطبيقات ترى فرق التطوير على أنها "نحن" و "هم" محكوم عليهم بالفشل.
-
التحسين المستمر. تتطلّع البرمجة الآمنة للتطبيقات المتطوّرة إلى التحسين المستمر. إذا كان هناك شيء لا يتحسّن أو يتطوّر، فتوقّف عنه أو إذا كان هناك شيء غير قابل للتطوير، اعمل على تحسينه. إذا لم يتم استخدام شيء من قِبل فرق التطوير ولم يكن له تأثير أو تأثير محدود، فافعل شيئًا مُختلفًا. لمجرد أننا أجرينا اختبارات مثل الفحوصات المكتبية منذ السبعينات لا يعني أنها فكرة جيّدة. قم بالقياس والتقييم ثم البناء أو التحسين المستمر