ما اختبار أمان التطبيقات الديناميكي (DAST)؟

الصور التوضيحية للتقنيات السحابية والهاتف المحمول وبصمة الإصبع وعلامة الاختيار

تاريخ النشر: 8 إبريل 2024
المساهمون: آني بادمان، أمبر فورست

ما اختبار أمان التطبيقات الديناميكي؟

اختبار أمان التطبيقات الديناميكي (DAST) هو طريقة اختبار للأمن الإلكتروني تُستخدم لتحديد نقاط الضعف والتكوينات الخاطئة في تطبيقات الويب وواجهات برمجة التطبيقات وتطبيقات الأجهزة المحمولة مؤخرًا. 

بالمقارنة مع الأنواع الأخرى من اختبارات أمان التطبيقات (AppSec)، يتميز اختبار أمان التطبيقات الديناميكي بالنهج الذي يتبعه من الخارج إلى الداخل. وبينما تتطلب الأدوات الأخرى مصدر الرمز والوصول الداخلي إلى التطبيق لتقييم الثغرات الأمنية، يختبر اختبار أمان التطبيقات الديناميكي التطبيقات في بيئة وقت التشغيل الخاصة بها من الخارج باستخدام محاكاة للهجمات لتقليد الجهات المُهدِّدة. ولهذا السبب، يُطلق على اختبار أمان التطبيقات الديناميكي أحيانًا اختبارًا من الخارج إلى الداخل أو اختبار الصندوق الأسود—وهو طريقة اختبار تُفحص فيها الأنظمة من دون وصول المختبِر إلى الأعمال الداخلية أو التحقيق فيها أو حتى معرفتها.

ما سبب أهمية اختبار أمان التطبيقات الديناميكي؟

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

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

يساعد اختبار أمان التطبيقات الديناميكي على تحقيق ذلك من خلال أتمتة عملية اختبار الأمان. ويعمل عن طريق محاكاة تصرفات المخترقين الحقيقيين، حيث يعمل من الخارج للكشف عن نقاط الضعف المحتملة في تشغيل التطبيقات. يُمكِّن اختبار أمان التطبيقات الديناميكي المطورين من اختبار التعليمات البرمجية الخاصة بهم ومعرفة كيفية تأثيرها في أمان التطبيق بشكل عام قبل بدء تشغيله، ويتفوق في تحديد مشكلات الأمان، مثل أخطاء المصادقة ونقاط الضعف في التعليمات البرمجية، والتي غالبًا ما تفوتها طرق الاختبار الأخرى مثل تحليل تكوين البرامج (SCA).

تندمج أيضًا أدوات اختبار أمان التطبيقات الديناميكي الحديث (انظر أدناه) بسلاسة مع عمليات التطوير ومسارات CI/CD لتقديم واجهات لجميع مراحل التطوير، بما في ذلك الوقت المبكر من سير عمل تطوير التطبيق. 

تُعد عمليات دمج البناء والنشر أحد الأسباب التي تدفع فرق عمليات التطوير إلى استخدام اختبار أمان التطبيقات الديناميكي في أغلب الأحيان في بيئات عمليات التطوير/ التطوير والأمن والعمليات كجزء من نهج "التحول إلى اليسار" الذي يتم فيه الاختبار في وقت مبكر من دورة حياة تطوير البرامج (SDLC) من أجل معالجة أكثر فعالية من حيث التكلفة وأقل استهلاكًا للوقت. تتضمن مبادئ عمليات التطوير الأخرى التي تطورها أدوات اختبار أمان التطبيقات الديناميكي: إعطاء الأولوية للأتمتة والتعاون والملاحظات المستمرة حتى يتمكن المطورون وفرق الأمان من الحفاظ على نشاطهم وإنتاجيتهم من دون الإضرار بمستوى الأمان.

كيف يعمل اختبار أمان التطبيقات الديناميكي؟ 

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

بشكل عام، يتضمن اختبار أمان التطبيقات الديناميكي الخطوات الخمس الآتية:

الفحص

كخطوة أولى، تحاكي ماسحات اختبار أمان التطبيقات الديناميكي تفاعلات المستخدم مع التطبيق وقت تشغيله عن طريق إرسال طلبات HTTP مختلفة. ويحدد هذا التعيين جميع الصفحات والروابط والوظائف (لتطبيقات الويب ذات الصفحة الواحدة) ونقاط الدخول كما هو معرّف في اختبار واجهة برمجة التطبيقات عبر وثائق واجهة برمجة التطبيقات. 

التحليل

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

محاكاة الهجوم

تبدأ أيضًا أدوات اختبار أمان التطبيقات الديناميكي في تقليد الهجمات الشائعة مثل حقن SQL والبرمجة النصية عبر المواقع (XSS) وتزوير الطلبات عبر المواقع (CSRF) لتحديد الثغرات الأمنية، مثل التكوينات الخاطئة وكشف البيانات ومشكلات المصادقة، التي قد تستغلها الجهات المُهدِّدة.

إعداد التقارير

بعد التحليل ومحاكاة الهجمات، تنتج أدوات اختبار أمان التطبيقات الديناميكي تقارير تعرض فيها الثغرات الأمنية المحددة وشدتها وسيناريوهات الهجوم المحتملة لتوجيه المطورين وفرق الأمن. ضع في حسبانك أن حلول اختبار أمان التطبيقات الديناميكي تركز فقط على تحديد المشكلات الأمنية وترك أي معالجة لفرق التطوير.

معالجة النتائج الإيجابية الخاطئة

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

أنواع أدوات اختبار أمان التطبيقات الديناميكي

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

اختبار أمان التطبيقات الديناميكي القديم 

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

اختبار أمان التطبيقات الديناميكي الحديث

تتمتع أدوات اختبار أمان التطبيقات الديناميكي الحديث بدرجة أعلى من الأتمتة وتقدم مراجعة أكثر شمولية للثغرات الأمنية في تطبيقات الويب. 

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

إيجابيات اختبار أمان التطبيقات الديناميكي وسلبياته

غالبًا ما يكون اختبار أمان التطبيقات الديناميكي جزءًا مهمًا من اختبار أمان تطبيقات الويب. تشتمل بعض مميزاته الفريدة على ما يأتي:

  • تعدد الاستخدامات. يمكن للمستخدمين نشر اختبار أمان التطبيقات الديناميكي في مراحل مختلفة من دورة حياة تطوير البرامج—حيث يمكن لاختبار أمان التطبيقات الديناميكي أن يختبر تطبيقات الويب في حالة تشغيلها والتطبيقات التي نُشرت بالفعل من دون تعديلات، ما يسهل تقييم الأنظمة القديمة.
  • الأتمتة تندمج أدوات اختبار أمان التطبيقات الديناميكي بسهولة في عمليات التطوير ومسارات CI/CD، ما يمكّنها من إجراء اختبارات الأمان المؤتمتة في وقت مبكر من عملية التطوير وتقليل تكلفة المعالجة بشكل كبير. 
  • اللغة المحايدة. نظرًا إلى عمل اختبار أمان التطبيقات الديناميكي من الخارج إلى الداخل، فإنه لا يعتمد على لغة البرمجة المستخدمة في التطبيق ويمكنه العمل في العديد من إطارات العمل المختلفة. يختبر اختبار أمان التطبيقات الديناميكي كلاً من واجهات الويب وواجهات برمجة التطبيقات بشكل فعال، ويحاكي كيفية عثور المهاجمين على الثغرات الأمنية. 
  • تقليل عدد النتائج الإيجابية الخاطئة. يؤدي اختبار أمان التطبيقات الديناميكي عادة إلى ظهور عدد أقل من النتائج الإيجابية والسلبية الخاطئة عند القيام بمحاكاة إجراءات المستخدم، وذلك مقارنة بالطرق الأخرى، مثل اختبار أمان التطبيقات الثابت.
  • اختبار واقعي وقابل للتكرار. نظرًا إلى محاكاة اختبار أمان التطبيقات الديناميكي لسلوك المهاجم الحقيقي، فإنه يُعد حلاً عمليًا لتحديد الثغرات الأمنية التي قد تستغلها الجهات المُهدِّدة. ويوفر أيضًا اختبار أمان التطبيقات الديناميكي ميزة الاختبار القابل للتكرار، ما يسمح بتقييم الثغرات الأمنية بشكل مستمر مع تطور التطبيقات.
  • الاكتشاف الشامل للثغرات الأمنية. يمكن لاختبار أمان التطبيقات الديناميكي الكشف عن مجموعة واسعة من الثغرات الأمنية، بما في ذلك حقن SQL و XSS والتكوينات الخاطئة.
  • اتساق معايير الصناعات. تستخدم الشركات اختبار أمان التطبيقات الديناميكي غالبًا للالتزام بمعايير الصناعة والمساعدة على إعداد التقارير التنظيمية، مثل الامتثال لمعايير PCI. تستخدم العديد من الشركات قائمة أفضل 10 من OWASP كمعيار امتثال لمخاطر أمان التطبيقات.

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

قد تشمل القيود الأخرى لاختبار أمان التطبيقات الديناميكي ما يلي:

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

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

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

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

حلول ذات صلة
IBM Security® MaaS360

يمكنك إدارة القوى العاملة المتنقلة لديك وحمايتها باستخدام إدارة نقاط النهاية الموحدة المستندة إلى الذكاء الاصطناعي (UEM).

استكشف IBM Security® MaaS360
حلول أمن البيانات

حقق أفضل حماية للبيانات عبر السحابات الهجينة وبسِّط متطلبات الامتثال. 

استكشف حلول الأمن من IBM
حلول أمان التطبيقات

يمكنك إنشاء التطبيقات ونشرها وتكرارها بأمان في كل مكان عن طريق تحويل عمليات التطوير إلى التطوير والأمن والعمليات، بما في ذلك الأشخاص والعمليات والأدوات.

استكشف خدمات أمن التطبيقات
اتخِذ الخطوة التالية

مع تحوّل نماذج العمل المرنة إلى القاعدة الجديدة، يجب أن يحافظ الموظفون على إنتاجيتهم عند العمل من أي مكان وعلى أي جهاز بطريقة آمنة. بدءًا من إدارة نقاط النهاية ووصولاً إلى توفير الأمان للتقنيات الأصلية، يقدم IBM Security® MaaS360 حلاً شاملاً لإدارة نقاط النهاية الموحدة (UEM). 

استكشِف MaaS360 احجز عرضًا توضيحيًا مباشرًا