كل ما تحتاج معرفته عن SAST & DAST

Security
نظرة على النوعين الرئيسيين من تقنيات اختبار الأمان المستخدمة في تطوير البرامج ، SAST & DAST
Ahmed Shibl
March 6, 2023, 6 p.m.
ahmedshipl
كل ما تحتاج معرفته عن SAST & DAST

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

ما هو SAST ؟

 (Static Application Security Testing) يحلل اختبار أمان التطبيق الثابت كود مصدر البرنامج لتحديد الثغرات الأمنية. تتضمن هذه الثغرات الأمنية SQLi وهجمات XML (XXE) ومخاطر أمان  OWASP top 10. 

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

 

ادوات اختبار SAST ؟

من اشهر الادوات المستخدمه Codacy و SonarQube يوجد الكثير من الادوات لل SAST و عليك استخدام الاداة المناسبه للغه البرمجه التي تم بناء التطبيق بها.

  • Codacy  هي اداه cloud-based  والتي تم تصميمها لمساعدة المطورين والمؤسسات على تحسين جودة كود المصدر الخاص بهم. وهي تدعم أكثر من 30 لغة برمجة ، بما في ذلك اللغات الشائعة مثل Java و Python و JavaScript و Ruby.
  • SonarQube هي عبارة عن نظام أساسي مفتوح المصدر يوفر تحليل الكود وإدارة جودة الكود والفحص المستمر للغات البرمجة المتعددة. يقوم بتحليل جودة الكود من خلال اكتشاف المشكلات والأخطاء ونقاط الضعف الأمنية. يدعم SonarQube أيضًا مجموعة متنوعة من المكونات الإضافية والإضافات التي يمكن استخدامها لتوسيع وظائفها. يوفر لوحة معلومات لإدارة جودة الكود وتحديد المشكلات في المشروع.  

 

Code Reviews != Code Security Reviews 

الكثير من المطورين يظنون ان مراجعه الكود الخاص بهم و انه يعمل من جهه المستخدم بشكل سليم في مرحله التنفيذ انه أمن و جاهز للاستخدام و لكن من وجهه نظر امنيه هذا التطبيق مصاب بالكثير من المشاكل الامنيه التي يجب اختبارها في مراحل التطوير المبكره و هنا يتم ضم فريق الامن السيبراني في مرحله التطوير SDLC للحصول علي تطبيق امن في مراحله المبكره ضد الكثير من الثغرات المتعارف عليها مثل OWASP Top 10 او SANS top 25

و هذا ما يسمي بالـ DevSecOps و يمكنك الاستعانه بكتاب OWASP Code Review Guide كمرجع للكثير من الثغرات في مرحله التطوير لمختلف لغات البرمجه.

 

ما هو DAST ؟  

(Dynamic Application Security Testing) اختبار امان التطبيق الديناميكي يقوم بتقييم أمان التطبيق في مرحله التشغيل.

يحاكي هذا النوع من الاختبار كمخترق لاتختراق التطبيق عن بعد. حيث يقوم المخترق بفحص التطبيق عن الثغرات الرائده و تبليغ عنها.

DAST هو اختبار Black Box. و الذي يحاكي منظور المخترق الخارجي كمستخدم عادي بدون خلفيه عن التطبيق.

 

ما هي الادوات المستخدمه في الـ DAST ؟

يوجد الكثير من الادوات التي تستخدم في هذا الاختبار لكن المعظم تجاري و موجه للمؤسسات. مثل OWASP ZAP و Acunetix و Burpsuite pro و غيرهم من الادوات المميزه في تحديد الثغرات المختلفه للتطبيق في مرحله التشغيل.

 

SAST vs DAST: ايهم تستخدم ؟

لتحقيق اقصي درجات الأمان للتطبيق الخاص بك ضع في اعتبارك دمج تقنيات الـ SAST و DAST كجزء من خطه CD/CI Pipelines للتطبيق. 

يجب ان يستخدم الـ DevSecOps كل من التقنيتين لدمج الأمان في مراحل التطوير للتطبيق. يمكن ايضا تسريع العملية عن طريق ان تكون بشكل آلي كامل عن طريق استخدام الادوات المناسبه في الـ SAST و DAST بدون التضحيه بأمان التطبيق في النهاية.

بعض التقنيات المختلفه ايضا مثل الـ (IAST, RASP, HAST) و اغلبيتهم يكمن في دمج الـ SAST و DAST لظروف مختلفه في مرحلة التطوير 

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


CyberSecurity Testing