التقييم الأمني واختبار الاختراق لتطبيقات الويب
باستخدام منهجيات OWASP WSTG وASVS، نحدّد الثغرات الأمنية في تطبيقات الويب ونقيّمها، بما في ذلك حقن SQL وXSS وعيوب المصادقة وإعدادات الأمان الخاطئة.
خدمات التقييم الأمني واختبار الاختراق لتطبيقات الويب
اختر الخدمة التي تناسب احتياج مؤسستكم
تغطية كاملة لـ OWASP Top 10 (2021)
تغطّي اختباراتنا جميع مخاطر OWASP الأمنية العشرة الكبرى
التحكم في الوصول المكسور
إخفاقات التشفير
الحقن
التصميم غير الآمن
سوء الإعداد الأمني
المكوّنات المصابة بالثغرات
إخفاقات المصادقة
إخفاقات سلامة البيانات
إخفاقات التسجيل
SSRF
لماذا يهمّ أمن تطبيقات الويب؟
تطبيقات الويب هي خط الدفاع الأول في مواجهة المهاجمين وتحتاج إلى اختبارات أمنية شاملة
تطبيق الويب متاح من الخارج ويعمل دائماً. وبالنسبة لمهاجم لديه هدف محدّد، فهو أول ما يجرّبه، لأنه لا يحتاج إلى وصول داخلي ولا إلى خداع موظّف.
يمكن لحقن SQL وXSS والمصادقة المكسورة كشف بيانات العملاء الحساسة والمعلومات المالية وأسرار العمل.
يتطلّب PCI-DSS وISO 27001 وغيرهما من اللوائح تقييمات أمنية منتظمة لتطبيقات الويب التي تتعامل مع بيانات حساسة.
يمكن للثغرات الأمنية أن تؤدّي إلى تعطّل الخدمة وخسائر مالية وضرر بالسمعة يؤثّر في عملكم.
منهجيات الويب المتخصّصة
نستفيد من أطر OWASP المعترَف بها عالمياً لتقييم أمن تطبيقات الويب
دليل شامل لاختبار أمن تطبيقات الويب يضمّ 91 فئة اختبار
لاختبار تطبيقات الويب الشاملمعيار التحقّق من أمن التطبيقات مع 286 ضابطاً
للتحقّق الأمنيأبرز عشرة مخاطر أمنية لتطبيقات الويب (2021)
لتحديد المخاطر الكبرىأبرز عشرة مخاطر أمنية لـ API (2023)
لأمن واجهات API في الويبما الذي نختبره؟
تغطية شاملة لكل جوانب أمن تطبيقات الويب بناءً على OWASP
- رسم خريطة النطاقات والنطاقات الفرعية
- تحديد بصمة التقنية والإصدارات
- اكتشاف المسارات والملفات المتروكة
- فحص محرّكات البحث والمستودعات العامة
- ترويسات الأمان وسياسة المحتوى
- الواجهات الإدارية المكشوفة
- ملفات الإعداد والنسخ الاحتياطي
- معالجة الأخطاء والصفحات الافتراضية
- إعداد TLS
- تعريف الأدوار ومستويات الوصول
- مسار التسجيل والتحقّق
- تعداد المستخدمين
- سياسة اسم المستخدم وكلمة المرور
- نموذج تسجيل الدخول وتحديد المحاولات
- استعادة كلمة المرور وتغييرها
- الدخول الموحَّد وOAuth
- التحقّق بالعامل الثاني
- تخزين بيانات الاعتماد
- الوصول الأفقي بين المستخدمين المتناظرين
- الوصول الرأسي إلى دور أعلى
- الإشارة المباشرة غير الآمنة إلى الكائنات
- التحكم في الوصول على طبقة API
- توليد الرمز وإمكانية التنبّؤ به
- سمات ملف تعريف الارتباط ونطاقه
- انتهاء الجلسة وتجديدها
- إبطال الجلسة عند الخروج وتغيير كلمة المرور
- حقن SQL وحقن NoSQL
- حقن الأوامر
- حقن القوالب من جهة الخادم
- اجتياز المسارات
- تزوير الطلبات من جهة الخادم
- إفشاء المعلومات في رسائل الأخطاء
- خوارزمية التجزئة وتمليح كلمات المرور
- تشفير البيانات الحساسة
- إعداد TLS والشهادات
- تخطّي خطوات في سير العمل
- إعادة إرسال الطلبات وحالات التسابق
- التلاعب بالسعر والخصم
- إساءة استغلال حدود العمل
- البرمجة عبر المواقع وDOM
- تزوير الطلبات عبر المواقع
- Clickjacking وسياسة الإطارات
- CORS وموارد النطاقات الأخرى
- واجهات REST وGraphQL
بأي مستوى من الوصول يُجرى الاختبار؟
تعطي المستويات الثلاثة نتائج مختلفة. ويعتمد الاختيار بينها على ما إذا كنتم تريدون محاكاة هجوم حقيقي أم الحصول على أوسع تغطية في الوقت المتاح.
نبدأ من حيث يبدأ المهاجم الخارجي. وهذه أقرب صورة إلى هجوم حقيقي، لكن قد لا تُبلَغ أجزاء من التطبيق أبداً ضمن الوقت المتاح.
تغطية أكبر في الوقت نفسه، لأن الجهد يذهب إلى الاختبار لا الاكتشاف. ومعظم التقييمات تجري عند هذا المستوى.
مناسب لعيوب المنطق والمسارات التي لا يمكن إيجادها من الخارج. وعادةً يسير جنباً إلى جنب مع مراجعة الكود.
نطاق التقييم وما نحتاجه منكم
تعتمد جودة النتيجة أكثر من أي شيء على جاهزية هذه الأمور القليلة.
قائمة النطاقات والنطاقات الفرعية، والبيئة التي يُجرى عليها الاختبار، وأدوار المستخدمين الداخلة في النطاق، وأي شيء يجب أن يبقى دون مساس.
حساب واحد على الأقل لكل دور، وحسابان في المستوى نفسه حتى يمكن اختبار التحكم في الوصول بين المتناظرين. وبدونها يبقى جزء كبير من التطبيق دون اختبار.
البيئة التي تطابق الإنتاج تعطي أدقّ نتيجة. وإذا تعيّن إجراء الاختبار على بيئة الإنتاج، فتُتَّفق الساعات والحدود مسبقاً.
حيث يقف WAF أو محدّد معدّل في المقدّمة، تُسمَح عناويننا بالمرور لجزء من الاختبار، بحيث يكون المقيس هو التطبيق نفسه لا المرشّح أمامه.
جهة اتصال مسمّاة في كلا الطرفين. وإذا ظهر شيء حرج في منتصف المهمة، فيُبلَّغ في اليوم نفسه بدلاً من حجزه للتقرير النهائي.
كيف تُحدَّد خطورة كل نتيجة
رقم لا منهجية وراءه لا يساعد أحداً على تقرير ما يُصلَح أولاً.
تُسجَّل كل نتيجة بـ CVSS v3.1، فتوجد لغة مشتركة مع مهندسيكم ومع الأدوات التي تستخدمونها أصلاً.
لا تحمل نقطة الضعف نفسها الوزن ذاته على صفحة تسجيل دخول وعلى شاشة داخلية. تُعدَّل الدرجة الأساسية بحسب قيمة البيانات ومدى إمكانية الوصول إلى المسار.
تأتي كل نتيجة مع خطوات تعيد إنتاجها. وما لا نستطيع إثباته لا يُبلَّغ عنه بوصفه نتيجة مؤكَّدة.
يقترح التقرير تسلسلاً: ما يُصلَح هذا الأسبوع، وما يمكن أن ينتظر دورة التطوير التالية.
عمليتنا
نهجنا المنظَّم لتقييم أمن تطبيقات الويب
نرسم البنية، ونعدّد نقاط النهاية خلف الواجهة وأمامها، ونحدّد التقنية وإصداراتها، ونبحث عن عمليات نشر أقدم لا تزال متاحة. وتحدّد هذه الخطوة أين يُصرَف الوقت المتبقّي.
نمضي في فئات OWASP WSTG على السطح المرسوم. وتغطّي الأدوات الأنماط المعروفة بسرعة؛ أما الفئات التي لا تستطيع الأداة الحكم عليها، وعلى رأسها التحكم في الوصول ومنطق العمل، فتُختبَر يدوياً بعدّة حسابات.
تُعاد كل نتيجة مرشّحة حتى تصبح مؤكَّدة، ونتحقّق مما إذا كان ضعفان صغيران يترابطان في ضعف أكبر. وما لا يمكن إثباته يُستبعَد بدلاً من الإبلاغ عنه مع تحفّظ.
يُقدَّم التقرير مع جلسة لاستعراضه، حتى يفهم المهندسون الذين سيؤدّون العمل كل نتيجة. وبعد الإصلاحات، تُعاد اختبار النتائج ويُحدَّث التقرير.
مخرجات المشروع
تقارير شاملة وقابلة للتنفيذ للفرق التقنية والإدارية
الملخّص التنفيذي
ما الذي اختُبر، وما الذي وُجد، وماذا يعني ذلك للعمل، بلغة يستطيع قارئ غير تقني التصرّف بناءً عليها. صفحتان إلى ثلاث.
التقرير التقني
كل نتيجة مع درجة CVSS v3.1، والخطوات التي تعيد إنتاجها، والطلبات والاستجابات المعنية، والمكوّن المتأثّر.
دليل المعالجة
إصلاح ملموس لكل نتيجة لا مجرّد إحالة إلى معيار، مع نموذج كود حيث يكون الإصلاح كوداً، وترتيب مقترَح للعمل.
إعادة اختبار مجانية
بعد الإصلاح، تُعاد اختبار كل نتيجة فإمّا يُؤكَّد إغلاقها أو تُعاد فتحها مع بيان ما لا يزال يعمل، ويُحدَّث التقرير.
الأسئلة الشائعة
نختبر جميع أنواع تطبيقات الويب، بما في ذلك تطبيقات الصفحة الواحدة (SPA)، وتطبيقات الويب التقدّمية (PWA)، والتطبيقات التقليدية المُقدَّمة من الخادم، وواجهات REST/GraphQL، وخدمات الويب. ويغطّي اختبارنا التطبيقات المبنية بأي حزمة تقنية، بما في ذلك React وAngular وVue وNode.js وPython وJava وPHP وغيرها.
يركّز تقييم الثغرات (VA) على تحديد الثغرات المحتملة وفهرستها عبر المسح والتحليل. ويمضي اختبار الاختراق (PT) أبعد بمحاولة استغلال الثغرات لإثبات أثرها الفعلي. وتجمع خدمة VA+PT لدينا بين النهجين من أجل تقييم أمني شامل.
يعتمد الجدول الزمني على تعقيد التطبيق. ويستغرق تقييم تطبيق ويب معتاد أسبوعاً إلى أسبوعين. وقد تستغرق التطبيقات المعقّدة ذات الميزات والأدوار والتكاملات الكثيرة ثلاثة إلى أربعة أسابيع. ونقدّم تحديد نطاق وتقديرات زمنية مفصّلة أثناء الاستشارة الأولية.
نتّبع دليل اختبار أمن الويب من OWASP (WSTG) بـ 91 فئة اختبار للاختبار الشامل، وOWASP ASVS بـ 286 ضابطاً للتحقّق، وOWASP Top 10 لتغطية المخاطر الحرجة. ويضمن نهجنا تقييماً منهجياً وشاملاً متوائماً مع المعايير العالمية.
صُمِّمت اختباراتنا بعناية لتقليل الأثر التشغيلي. ونحدّد نطاقاً وقواعد تنفيذ واضحة قبل الاختبار. وللأنظمة الحسّاسة، يمكن إجراء الاختبار في بيئات الاختبار أو خلال ساعات انخفاض حركة الطلبات. ونُبلِغكم فوراً إذا اكتُشفت أي ثغرات حرجة.
تتسلّمون: ملخّصاً تنفيذياً للإدارة، وتقريراً تقنياً بتفاصيل الثغرات ودرجات CVSS، وتوثيق إثبات المفهوم (PoC)، ودليل معالجة مع نماذج كود، ومصفوفة مخاطر مرتَّبة حسب الأثر على العمل، وربطاً بالامتثال لمعايير مثل PCI-DSS وISO 27001. إضافةً إلى جلسة استعراض للتقرير وإعادة اختبار مجانية.
يحاكي اختبار الصندوق الأسود مهاجماً خارجياً بلا معرفة مسبقة. ويتيح اختبار الصندوق الأبيض الوصول إلى الكود المصدري لتحليل أعمق. ويجمع الصندوق الرمادي بين النهجين. ولكلٍّ مزاياه — يُظهِر الأسود سيناريوهات الهجوم الواقعية بينما يوفّر الأبيض تغطية شاملة على مستوى الكود. ونوصي بالنهج الأفضل بناءً على احتياجاتكم.
تعتمد التكلفة على عدة عوامل: تعقيد التطبيق وحجمه، وعدد أدوار المستخدمين ومستويات الوصول، والحاجة إلى مراجعة الكود المصدري، ومتطلّبات الامتثال، ومستوى إعداد التقارير. تواصلوا مع فريقنا لاستشارة مجانية وعرض سعر دقيق مصمَّم وفق متطلّباتكم المحدّدة.
ليس لتقييم قياسي. تجري معظم المهام بأسلوب الصندوق الرمادي: حسابات اختبار لكل دور ونظرة عامة على البنية. ويصبح الكود المصدري مفيداً حين يكون الهدف عيوب المنطق أو المسارات التي لا يمكن الوصول إليها من الخارج، وفي تلك الحالة يجري التقييم عادةً جنباً إلى جنب مع مراجعة الكود.
يرشّح WAF أنماط الهجوم المعروفة؛ لكنه لا يُصلِح الضعف الكامن وراءها. كما لا يفعل شيئاً إزاء فئة المشكلات التي تبدو كحركة عادية، مثل وصول مستخدم إلى بيانات مستخدم آخر أو عيب في سير عمل. لذا يجري جزء من الاختبار بالسماح لعناويننا بالمرور عبر WAF، بحيث يكون المقيس هو التطبيق نفسه، ويتحقّق الجزء الآخر من مقدار ما يوقفه WAF فعلاً.
الماسح جزء من العمل لا كلّه. فهو يغطّي الأنماط المعروفة بسرعة، كما يُبلِغ عن نتائج يتبيّن أنها غير قابلة للاستغلال. والتحكم في الوصول بين مستخدمَين، ومنطق العمل، والسلاسل التي يتضافر فيها ضعفان صغيران في نتيجة جدية واحدة، كلها خارج ما يستطيع الماسح الحكم عليه. وكل نتيجة مُبلَّغ عنها هنا يُتحقَّق منها يدوياً.
بعد أي تغيير مهمّ في التطبيق، ومرة واحدة سنوياً على الأقل. ويذكر PCI DSS القاعدة نفسها للأنظمة الداخلة في نطاقه. وعملياً، تجني الفرق التي تُصدِر إصدارات متكرّرة فائدة أكبر من تقييم أصغر مرتبط بكل إصدار رئيسي مقارنةً باختبار كبير واحد في السنة.
تُعاد اختبار الإصلاحات. وتُؤكَّد كل نتيجة بوصفها مغلقة أو تُعاد فتحها مع بيان ما لا يزال يعمل، وتتسلّمون تقريراً محدَّثاً يمكنكم تسليمه لمدقّق أو عميل.
Related insights
What we have written in this area