مراجعة كود المصدر مقابل اختبار الاختراق لأمان تطبيقات الويب
وفقًا لإحصائيات أمان التطبيقات الصادرة عن WhiteHat لعام 2017 تقرير، 30% من إجمالي الانتهاكات المبلغ عنها تتعلق بهجمات على تطبيقات الويب. سبب وجيه يجعل الشركات تتساءل عن مدى أمان تطبيقاتها. لتقييم أمان تطبيقات الويبتلجأ الشركات إلى موفري خدمات التقييم الأمني. يقدم مقدمو الخدمة تقنيتين رئيسيتين: مراجعة كود المصدر و اختبار الاختراق (نشير في هذا المقال إلى اختبار اختراق الصندوق الأسود باعتباره الأكثر انتشارًا نوع من pentesting).
دعونا نستكشف الطريقتين لفهم ما إذا كانا يستحقان التنفيذ.
باختصار: مراجعة كود المصدر
تحليل أمان كود المصدر (مراجعة كود المصدر) هو فحص الكود المصدري للتطبيق للعثور على الأخطاء التي تم التغاضي عنها في مرحلة التطوير الأولية. يقوم أحد المختبرين بتشغيل محلل التعليمات البرمجية الذي يقوم بمسح رمز التطبيق سطرًا تلو الآخر. بمجرد أن يعثر المحلل، الذي تم نشره في بيئة اختبار، على نقاط الضعف، يقوم جهاز الاختراق بفحصها يدويًا لإزالة النتائج الإيجابية الخاطئة.
يختلف مقدار الوقت الذي يقضيه المختبر في مراجعة كود المصدر باختلاف لغة البرمجة وحجم التطبيق. على سبيل المثال، قد يستغرق تحليل 1000 سطر من التعليمات البرمجية من 0.5 إلى 2 ساعة.
تم اكتشاف نقاط الضعف
النقطة القوية في مراجعة كود المصدر هي القدرة على تحديد نقاط الضعف التالية:
- أخطاء التشفير. وتشمل هذه خوارزميات التشفير الضعيفة، بالإضافة إلى خوارزميات التشفير القوية ذات التنفيذ الضعيف (على سبيل المثال، تخزين المفاتيح غير الآمن).
- جميع حالات حقن SQL وثغرات XSS (البرمجة النصية عبر المواقع).
- تجاوز سعة المخزن المؤقت (يتم وضع المزيد من البيانات في المخزن المؤقت مما يمكنه التعامل معه).
- ظروف السباق (إجراء عمليتين أو أكثر في نفس الوقت).
علاوة على ذلك، إذا كان اختبار الاختراق يسمح باكتشاف صفحة ويب معرضة للخطر، فإن مراجعة التعليمات البرمجية المصدر تمكن القائمين على الاختبار من العثور على نقاط الضعف على مستوى الجذر (للكشف عن الأخطاء في وظيفة أو وحدة نمطية مستخدمة في عدة صفحات ويب). وهذا يوفر وقت البنستر وأموال العميل.
باختصار: اختبار الاختراق
اختبار الاختراق هو إجراء حيث أ penester يخترق تطبيق ويب للكشف عن نقاط الضعف في التطبيق. تستغرق العملية وقتًا أطول من مراجعة كود المصدر لأنها تتضمن عدة مراحل. أولاً، يقوم البنستر بإجراء استطلاع على التطبيق المستهدف من خلال مجموعة من اختبارات المستخدم وتشغيل ماسح ضوئي للويب للعثور على نقاط الدخول. وبعد ذلك، يقوم هو أو هي باستغلال الثغرات الأمنية محاولًا تصعيد الامتيازات إلى المستوى الإداري.
اعتمادًا على مدى تعقيد تطبيق الويب، قد يستغرق الإجراء من 20 إلى 400 ساعة.
نقاط قوة اختبار الاختراق
يمكن اكتشاف بعض الثغرات الأمنية من خلال اختبار الاختراق فقط:
- فهرسة محرك البحث. قد تكشف محركات البحث المحلية للتطبيق عن بيانات حساسة للمخترقين، مثل نسخ جواز السفر أو رخصة القيادة.
- نقاط الضعف الناجمة عن التكوين الخاطئ. هذه هي الحالات التي تتوفر فيها الخدمات والمستندات الداخلية عبر الإنترنت، واستخدام بيانات الاعتماد الافتراضية مثل “admin” و”user”.
- المصادقة ضعيفة على سبيل المثال، كلمة المرور الضعيفة أو اختبار CAPTCHA، إعادة استخدام كلمة المرور.
- الأخطاء المنطقية في الوصول القائم على الدور، عندما تكون معلومات معينة متاحة لمجموعة واسعة من المستخدمين.
علاوة على ذلك، فإن اختبار الاختراق مطلوب وفقًا للمعايير الأمنية. على سبيل المثال، يتضمن الامتثال لقانون قابلية نقل التأمين الصحي والمساءلة (HIPAA) المصادقة ذات العاملين، وتسجيل الخروج التلقائي والوصول في حالات الطوارئ إلى المعلومات الصحية الإلكترونية المحمية (EPHI).
الميزة الرئيسية لاختبار الاختراق هي أنه يعتمد على المخاطر. خلال مرحلة الاستطلاع، يتعرف المخترق على أعمال العميل من خلال تطبيق الويب. فهو يساعد على تحديد المخاطر ذات الأولوية العالية وبناء حالات اختبار خاصة بالأعمال. على سبيل المثال، إذا كان التطبيق المستهدف عبارة عن موقع ويب لمحرك بحث محلي، فسيعطي البنتستر الأولوية للثغرات الأمنية التي تؤدي إلى هجمات التنقيب عن البيانات على ثغرات XSS.
التحرير والسرد الفعال
تتحقق مراجعة كود المصدر من جودة كود تطبيق الويب. يكشف اختبار الاختراق بدوره عن المشكلات المتعلقة بمنطق تطبيق الويب. تعد مراجعة كود المصدر + اختبار الاختراق الذي أجراه العديد من المخترقين مزيجًا فعالاً يغطي معظم نقاط الضعف في تطبيقات الويب.
وفي حالة تطبيقات الويب الخاصة بالشركات، يكون الاستثمار في الدفاع السيبراني أكثر جدوى من معالجة الخروقات الأمنية. لذلك، مراجعة التعليمات البرمجية و تكاليف اختبار الاختراق دائما تؤتي ثمارها.