أفضل الممارسات لأمان تطبيقات الويب لعام 2022 للشركات الصغيرة والمتوسطة
نشرت: 2022-04-23عندما يتعلق الأمر بأمان مكدس المؤسسة ، فإن التطبيقات البرمجية هي الحلقة الأضعف. في تقرير حالة أمان التطبيقات لعام 2020 ، تقول شركة Forrester إن غالبية الهجمات الخارجية تحدث إما عن طريق استغلال ثغرة أمنية في البرنامج (42٪) أو من خلال تطبيق ويب (35٪).
يتعرض المطورون لضغوط لإصدار الميزات في أقرب وقت ممكن حيث تصبح التطبيقات أكثر تعقيدًا وتقلص الجداول الزمنية للتطوير. لتحقيق وظائف تطبيق مميزة وجذابة ، يعتمد المطورون بشكل متزايد على مكتبات الطرف الثالث.
هذا التحول نحو مكونات مفتوحة المصدر يجعل ممارسات الأمان أكثر تعقيدًا للشركات. تعمل الأطر الجديدة مثل الحاويات وواجهات برمجة التطبيقات على زيادة تعقيد أمان التطبيق.
مع الضغط على المطورين لإصدار ميزات جديدة باستمرار ، تواجه المؤسسات خطرًا حقيقيًا للغاية يتمثل في فشل الأمان في مواكبة التطورات. يمكن تحقيق الأمان من خلال دمج أفضل ممارسات أمان التطبيقات في دورة حياة تطوير البرامج وتنفيذها.
جدول المحتويات
لماذا يعد اختبار أمان الويب مهمًا؟
الهدف من اختبار أمان الويب هو اختبار تطبيقات الويب وتكويناتها لاكتشاف نقاط الضعف الأمنية. تعتبر هجمات طبقة التطبيقات (أي استهداف التطبيقات المستندة إلى HTTP) هي الأهداف الأساسية.
من الشائع إرسال أنواع مختلفة من المدخلات إلى تطبيق ويب لإثارة أخطاء وجعله يتصرف بشكل غير متوقع. في هذه ما يسمى "الاختبارات السلبية" ، يتم فحص النظام لمعرفة السلوك غير المقصود.
من المهم أيضًا ملاحظة أن اختبار أمان الويب لا يتعلق فقط باختبار ميزات الأمان التي يتم تنفيذها في التطبيق (على سبيل المثال ، المصادقة والترخيص).
من الضروري أيضًا اختبار أن الميزات الأخرى (مثل منطق الأعمال والتحقق من صحة المدخلات والمخرجات) يتم تنفيذها بطريقة آمنة. الهدف هو الوصول الآمن إلى وظائف تطبيقات الويب.
كيف يقلل اختبار أمان التطبيقات من مخاطر مؤسستك؟
غالبية هجمات تطبيقات الويب
- تقنية حقن SQL
- البرمجة النصية عبر المواقع (XSS)
- تنفيذ الأوامر عن بعد
- مسار اجتياز
نتائج الهجوم
- المحتوى المقيد
- الحسابات التي تم اختراقها
- تثبيت البرامج الضارة
- فقدت الإيرادات
- العملاء يفقدون الثقة
- الإضرار بالسمعة
- وكذلك أكثر من ذلك بكثير
تتعرض بيئة الويب اليوم لمجموعة كبيرة من المشكلات. بالإضافة إلى معرفة كيفية استغلال أحد التطبيقات ، فإن معرفة النتائج المحتملة للهجوم سيساعد شركتك على معالجة نقاط الضعف بشكل استباقي واختبارها بدقة.
يمكن تطبيق ضوابط التخفيف خلال المراحل الأولى من SDLC بعد تحديد السبب الجذري للثغرات الأمنية. بالإضافة إلى ذلك ، يمكن أن يستفيد اختبار أمان تطبيقات الويب من معرفة كيفية عمل هذه الهجمات لاستهداف نقاط الاهتمام المعروفة.
لإدارة مخاطر شركتك ، يجب أن تفهم تأثير الهجوم ، حيث يمكن استخدامه لقياس مدى خطورة الثغرة الأمنية.
نتيجة لاختبار الأمان ، يمكن أن يساعدك تحديد مدى خطورة المشكلات المكتشفة في تحديد أولويات جهود الإصلاح بكفاءة وفعالية. قلل مخاطر شركتك إلى الحد الأدنى من خلال البدء بالمسائل ذات الخطورة الحرجة والانتقال إلى القضايا ذات التأثير الأقل.
يمكن أن يساعد تقييم التأثير المحتمل لكل تطبيق في مكتبة تطبيقات شركتك قبل تحديد مشكلة في تحديد أولويات اختبار أمان التطبيق.
عندما يحتوي اختبار أمان الويب على قائمة ثابتة من التطبيقات رفيعة المستوى ، يمكننا جدولة الاختبار لاستهداف التطبيقات الهامة لشركتك أولاً حتى يمكن تقليل المخاطر التي يتعرض لها عملك.
ما الميزات التي يجب مراجعتها أثناء اختبار أمان تطبيقات الويب؟
يجب فحص العديد من الميزات أثناء اختبار الأمان لتطبيقات الويب ، لكن القائمة ليست شاملة. قد تتعرض مؤسستك لمخاطر جسيمة من خلال التنفيذ غير المناسب لكل منها.
أفضل 10 ممارسات لأمان تطبيقات الويب
فيما يلي أفضل عشر ممارسات لأمان التطبيقات يجب أن تنفذها مؤسستك بالفعل.
# 1 تتبع أصولك
إذا كنت لا تعرف ما لديك ، فلا يمكنك حمايته.
لأي وظائف أو تطبيقات تستخدم خوادم معينة؟ في أي تطبيقات الويب تستخدم مكونات مفتوحة المصدر؟
هل تعتقد أنه ليس من المهم تتبع الأصول الخاصة بك؟ من المهم جدًا تذكر البرنامج الذي يتم تشغيله داخل كل تطبيق - فقط اسأل Equifax ، التي تم تغريمها 700 مليون دولار لفشلها في حماية بيانات أكثر من 145 مليون عميل.
تعرضت إحدى بوابات الويب الخاصة بعملاء وكالة التصنيف الائتماني للاختراق بعد أن لم يتم تصحيح مكون مفتوح المصدر ، Apache Struts. تقول الشركة إنها لم تكن على علم بأن بوابة العملاء استخدمت مكون المصدر المفتوح المعرض للخطر.

كلما بدأت في تتبع أصولك مبكرًا ، قل الصداع والكوارث التي ستواجهها لاحقًا. عندما تقوم المنظمات بتوسيع نطاق تطورها ، يمكن أن تبدو هذه العملية وكأنها مهمة عبثية.
يجب عليك أيضًا تصنيف الأصول الخاصة بك ، مع ملاحظة تلك التي تعتبر بالغة الأهمية لوظائف عملك وتلك الأقل أهمية. بعد ذلك ، يمكنك تقييم التهديدات ومعالجتها لاحقًا.
# 2 قم بإجراء تقييم للتهديد
إذا قمت بإعداد قائمة بما تحتاج إلى حمايته ، فيمكنك بعد ذلك تحديد التهديدات التي تواجهها وكيف يمكن التخفيف منها.
كيف سيتمكن المتسللون من اقتحام تطبيقك؟ ما هي الإجراءات الأمنية الموجودة لديك؟ ما هي الأدوات الإضافية المطلوبة؟
يجب عليك الإجابة على هذه الأسئلة وغيرها كجزء من تقييم التهديد الخاص بك.
ومع ذلك ، يجب أن تكون واقعيًا أيضًا بشأن مستوى الأمان الذي يمكنك الاستمتاع به. بغض النظر عن مدى أمان نظامك ، فلا يزال بإمكانك اختراقه. علاوة على ذلك ، يجب أن تكون صادقًا بشأن التدابير التي يمكن لفريقك الحفاظ عليها بمرور الوقت.
يمكنك المخاطرة بتجاهل معايير وممارسات الأمان الخاصة بك عن طريق الضغط من أجل الكثير. تعامل مع الأمن بجدية ولا تتعجل فيه.
استخدم الصيغة التالية لتقييم المخاطر الخاصة بك:
المخاطرة = احتمالية الهجوم × تأثير الهجوم.
يمكن أيضًا اعتبار المخاطر على أنها احتمال حدوث شيء مقابل شدة العواقب.
على الرغم من أنه سيكون كارثيًا إذا سقط الحوت من السماء وسحقك ، فمن غير المرجح أن يحدث ذلك.
من ناحية أخرى ، من المحتمل جدًا أن تسبب لدغة البعوض أثناء التنزه ضررًا كبيرًا يتجاوز عدد قليل من النتوءات المسببة للحكة.
# 3 ابق على قمة الترقيع
تثبيت أحدث التصحيحات على أنظمة التشغيل الخاصة بك؟ هل تستخدم برنامج طرف ثالث؟ من المحتمل أن تكون متخلفًا عن الركب ، مما يعني أنك مكشوف.
من أهم الخطوات التي يجب عليك اتخاذها لضمان أمان برنامجك هو تحديث البرنامج ، إما من بائع تجاري أو من مجتمع مفتوح المصدر.
عند اكتشاف ثغرة أمنية وإبلاغ أصحاب المنتج أو المشروع بها بشكل مسؤول ، يتم نشرها على مواقع الاستشارات الأمنية وقواعد البيانات مثل قاعدة بيانات الثغرات الأمنية WhiteSource.
إذا أمكن ، يجب إنشاء الإصلاح وإصداره قبل النشر ، مما يوفر للمستخدمين فرصة لتأمين برامجهم.
ومع ذلك ، إذا لم تقم بتطبيق التصحيح عند توفره ، فلن تستفيد من تحسين الأمان.
إذا كنت قلقًا من أن التحديث إلى أحدث إصدار يمكن أن يفسد منتجك ، يمكن أن تساعدك الأدوات الآلية كثيرًا. في أي يوم من أيام الأسبوع ، يجب أن تعطي الأولوية للتحديث والتصحيح كجزء من أفضل ممارسات أمان التطبيق.
# 4 إدارة الحاويات الخاصة بك
في السنوات الأخيرة ، نمت شعبية الحاويات مع اعتماد المزيد من المؤسسات لهذه التقنية نظرًا لمرونتها ، مما يبسط عملية تطوير المكونات واختبارها ونشرها عبر بيئات مختلفة طوال دورة حياة تطوير البرامج (SDLC).
من المقبول عمومًا أن الحاويات تقدم مزايا أمنية تمنحها ميزة. بالإضافة إلى ذلك ، نظرًا لبيئة نظام التشغيل المستقلة الخاصة بهم ، يتم تقسيمها حسب التصميم ، وبالتالي تقليل مستوى المخاطر.
ومع ذلك ، لا تزال الحاويات عرضة للاستغلال مثل هجوم الاختراق ، حيث تم كسر العزلة. قد تحتوي الحاويات أيضًا على ثغرة أمنية في الكود المخزن بداخلها.
بالنسبة لأمان خط أنابيب CI / CD ، يجب عليك البحث عن نقاط الضعف من البداية إلى النهاية ، بما في ذلك السجلات الخاصة بك.
بالإضافة إلى عمليات الفحص هذه ، تتضمن أفضل الممارسات لأمان التطبيق في العمل مع الحاويات أيضًا مهامًا مهمة مثل توقيع الصور الخاصة بك باستخدام أدوات مثل Docker Content Trust إذا كنت تستخدم Docker Hub أو توقيع الوصول المشترك إذا كان فريقك يستخدم Microsoft Azure .
# 5 إعطاء الأولوية لعمليات الإصلاح الخاصة بك
كان هناك عدد متزايد من نقاط الضعف في السنوات الأخيرة ، ولا يظهر هذا الاتجاه أي علامات على التباطؤ في أي وقت قريب.
وبالتالي ، فإن المطورين مشغولون بالعلاج. بالنسبة للفرق التي تأمل في الحفاظ على أمان تطبيقاتها مع الحفاظ على سلامتها ، يعد تحديد الأولويات أمرًا ضروريًا.
يتم إجراء تقييمات التهديد بناءً على شدة الضعف (تصنيف CVSS) ، ومدى أهمية التطبيق المتأثر ، وعدد من العوامل الأخرى.
أنت بحاجة إلى معرفة ما إذا كانت ثغرة المصدر المفتوح تؤثر فعليًا على كود الملكية الخاص بك عندما يتعلق الأمر بالثغرات الأمنية مفتوحة المصدر.
غير فعال وليست مخاطرة عالية حتى لو كان تصنيف CVSS للمكون الضعيف أمرًا بالغ الأهمية إذا لم يتلق مكالمات من منتجك.
الاستراتيجيات الذكية هي تلك التي تعطي الأولوية للتهديدات الأكثر إلحاحًا أولاً ، بناءً على العوامل الموجودة ، وتترك التهديدات منخفضة المخاطر لوقت لاحق.
# 6 تشفير وتشفير وتشفير
تضمن OWASP Top 10 تشفير البيانات في حالة التخزين والعبور لسنوات ، مما يجعلها مطلبًا لأي قائمة بأفضل ممارسات أمان التطبيقات.
يمكن لهجمات الرجل في الوسط وغيرها من أشكال التسلل كشف البيانات الحساسة عندما تفشل في تأمين حركة المرور الخاصة بك بشكل صحيح.
عندما تقوم بتخزين كلمات المرور ومعرفات المستخدم بنص عادي ، على سبيل المثال ، فإنك تعرض عملائك للخطر.
تأكد من استخدام SSL مع شهادة محدثة كجزء من قائمة التحقق الأساسية للتشفير. لا تدع نفسك تتخلف عن الركب الآن لأن HTTPS هو المعيار. يوصى أيضًا باستخدام التجزئة.
بالإضافة إلى ذلك ، يجب ألا تقوم أبدًا "بتدوير عملتك المشفرة" كما يقولون. ضع في اعتبارك منتجات الأمان التي يدعمها فريق متخصص لديه الخبرة للقيام بالمهمة بشكل صحيح.
# 7 إدارة الامتيازات
لا يتعين عليك منح حق الوصول إلى كل شيء للجميع في مؤسستك. لا يمكن الوصول إلى التطبيقات والبيانات إلا من قبل أولئك الذين يحتاجون إليها من خلال اتباع أفضل ممارسات أمان الشبكة وأفضل ممارسات أمان التطبيقات.
هناك سببان لهذا. أول شيء عليك القيام به هو منع المتسلل من استخدام بيانات اعتماد التسويق للوصول إلى نظام يحتوي على بيانات أخرى أكثر حساسية ، مثل المالية أو القانونية.
تعتبر التهديدات الداخلية مصدر قلق أيضًا ، سواء كانت غير مقصودة - مثل فقدان جهاز كمبيوتر محمول أو إرسال مرفق خاطئ إلى بريد إلكتروني - أو ضارة.
مبدأ الامتياز الأقل في تزويد الموظفين بالبيانات التي يحتاجونها فقط عندما يتعلق الأمر بالوصول إلى البيانات يمكن أن يقلل من تعرضك مقارنة بعدم وجود ضوابط في المكان.
# 8 احتضان الأتمتة لإدارة نقاط الضعف الخاصة بك
أصبح أمان تطبيقاتهم مهمًا بشكل متزايد للمطورين في السنوات القليلة الماضية ، خاصة عندما يتعلق الأمر بمهام مثل إدارة الثغرات الأمنية.
لمعالجة التحول الأمني إلى اليسار ، تختبر فرق المطورين في وقت مبكر وفي كثير من الأحيان ، وتدفع أكبر عدد من الفحوصات الأمنية في وقت مبكر من عملية التطوير عندما يكون إصلاح الثغرات أسهل وأرخص.
لإدارة عملية الاختبار غير العملية بسبب الكم الهائل من الثغرات الأمنية ، يحتاج المطورون إلى أدوات آلية.
للعثور على الثغرات الأمنية المحتملة في التعليمات البرمجية الخاصة بك ، يمكن استخدام اختبار أمان التطبيق الثابت (SAST) واختبار أمان التطبيق الديناميكي (DAST) أثناء التطوير.
يتم إغلاق الثغرات الأمنية باستخدام SASTs و DASTs ، ولكن كود الملكية يشكل جزءًا صغيرًا نسبيًا من الكود الإجمالي الخاص بك.
في أكثر من 92٪ من جميع التطبيقات الحديثة ، تشكل المكونات مفتوحة المصدر 60-80٪ من قاعدة التعليمات البرمجية الخاصة بك. يجب أن تعطي قائمة التحقق من أمان التطبيق الأولوية لتأمين المكونات مفتوحة المصدر.
باستخدام أدوات تحليل تكوين البرامج ، يمكن للفرق إجراء فحوصات وتقارير أمنية مؤتمتة في جميع أنحاء SDLC ، وتحديد كل مكون مفتوح المصدر في بيئتهم والإشارة إلى أي منها لديه ثغرة أمنية معروفة تشكل خطرًا أمنيًا على تطبيقاتك.
يمكنك إدارة نقاط الضعف لديك بشكل أفضل عن طريق تحويل الاختبار الآلي الخاص بك لقضايا الأمان مفتوحة المصدر إلى اليسار.
# 9 اختبار الاختراق
ستكون قائمة أفضل ممارسات أمان التطبيقات غير مكتملة بدون ذكر اختبار القلم ، على الرغم من أن الأدوات الآلية تساعد في التعرف على الغالبية العظمى من مشكلات الأمان.
يتيح لك الاختبار باستخدام القلم والورق ضغط تطبيقك وحثه للعثور على نقاط الضعف. إذا حاول أحد المتسللين المصممين اقتحام تطبيقك ، فإن مختبري القلم الجيدين يعرفون بالضبط الخطوات التي يحتاجون إلى اتخاذها.
يمكن التعاقد مع شركات القرصنة أو يمكن للعاملين لحسابهم الخاص المشاركة في برامج مكافأة الأخطاء مثل BugCrowd و HackerOne. يجب أن ترعى شركتك مكافأة خطأ إذا لم تقم بذلك بالفعل.
إذا قمت بتوظيف مختبري أقلام ، فمن الأفضل أن تدفع لهم بدلًا من التعامل مع عواقب خرق حقيقي.
# 10 كن حذرا مع الرموز
على الرغم من حقيقة أن هذا من السهل تأمينه ، فإن العديد من المطورين لا يؤمنون الرموز المميزة الخاصة بهم بشكل صحيح لأطراف ثالثة.
من خلال البحث في مواقع الويب الشهيرة للمطورين ، يمكنك بسهولة العثور على الرموز المميزة غير الآمنة عبر الإنترنت. بدلاً من تخزين تفاصيل الرمز المميز في مكان آخر ، يقوم المطورون ببساطة بتضمينها في مستودعاتهم مفتوحة المصدر.
تتمثل أفضل الممارسات الأساسية لأمان التطبيق في تأمين الرموز المميزة للجهات الخارجية بشكل صحيح. يجب ألا تترك الرموز المميزة التي اشتريتها ملقاة في الكود الخاص بك ليأخذها أي شخص.
أفضل ممارسات أمان التطبيق كممارسات أساسية
يجب دمج كل من أفضل الممارسات الموضحة هنا في عملية التطوير المستمر لمؤسستك. تتعرض تطبيقات وبيانات شركتك للخطر إذا لم تقلل المخاطر. اتبع هذه الخطوات لتقليل المخاطر.
يعد تجنب الأخطاء التي من المحتمل أن يرتكبها الآخرون طريقة واحدة للبقاء في طليعة المتسللين ، لذلك من الصعب استهداف الهجمات. لن يكون هناك أبدًا محيط أو تطبيق تدبير أمني مقاوم تمامًا للاختراق.
ومع ذلك ، فإن اتباع أفضل الممارسات الأساسية هذه يمكن أن يقطع شوطًا طويلاً نحو جعل تطبيقك لا يستحق عناء المتسللين.







