يكشف الفحص الآلي الثغرات المعروفة بسرعة وكلفة قليلة، ويُظهر الاختبار ما يستطيع مهاجم فعله حقًا. إليك كيف تختار وتحدد النطاق وتشتري كلًّا منهما.
فحص الثغرات فحص آلي يبحث عن نقاط ضعف معروفة وأخطاء إعداد شائعة. أما اختبار الاختراق فمحاولة مأذون بها يقوم بها إنسان لاقتحام النظام، وهو يُظهر ما يستطيع المهاجم فعله حقًا. ومعظم المنتجات تحتاج إلى الاثنين في لحظتين مختلفتين: الفحص كثيرًا وبكلفة قليلة بوصفه نظافة دورية، والاختبار حين ترتفع المخاطر، كما قبل الإطلاق.
يبيع بعض المزوّدين فحصًا آليًا باسم اختبار اختراق، فمن المفيد أن تعرف الفرق قبل أن تشتري أيًّا منهما.
ماذا يفعل فحص الثغرات
تقارن أداة الفحص ما تراه بقاعدة بيانات للمشكلات المعروفة. ومعظمها منشور في سجلات CVE، وهي سجلات عامة لعيوب في إصدارات برمجيات محددة، وتُقيَّم بمقياس CVSS، وهو مقياس شائع للخطورة. وتجري الأداة كذلك فحوصًا لأخطاء مألوفة، كترويسة أمان مفقودة أو بروتوكول قديم أو صفحة افتراضية تُركت مكشوفة. والروتين الجيد يستخدم أنواعًا عدة:
- **فحص الشبكة** ينظر في الخوادم والمنافذ المفتوحة.
- **فحص تطبيقات الويب** يتجول في موقع يعمل ويختبر نماذجه ومعاملاته.
- **فحص الاعتمادات** يقرأ ملف القفل ويبلّغ عن المكتبات التي لها ثغرات منشورة.
- **فحص السحابة والحاويات** يقارن الإعدادات والصور بالممارسات الجيدة المعروفة.
يعمل الفحص إما دون تسجيل دخول، كما يرى الغريب، أو بتسجيل دخول بحساب اختبار فيصل إلى الصفحات التي خلف شاشة الدخول. وقوته في الاتساع والسرعة والتكرار: تشغيله من جديد مع كل إصدار قليل الكلفة. أما حدّه فغياب الحكم البشري. تبلّغ الأداة بما يطابق نمطًا معروفًا، ولا تعرف هل يهم هذا الاكتشاف في منتجك.
ماذا يفعل اختبار الاختراق
يجري [اختبار الاختراق](/glossary/penetration-testing) مختص ماهر بإذن كتابي، ضمن نطاق ووقت متفق عليهما. يرسم المختبِر خريطة التطبيق، ويحاول كسره، ويربط نقاط الضعف الصغيرة لتصبح أكبر، ثم يكتب ما نجح مع الأدلة. والأدوات تساعد، لكن القيمة في الحكم البشري: يسأل المختبِر ماذا يجب أن يمنع المنتج، ثم يحاول فعل ذلك بالضبط. وتشرح [صفحة اختبار الاختراق](/services/cybersecurity/penetration-testing) لدينا الطريقة وأساليب الصندوق الأسود والرمادي والأبيض.
ما الذي يكشفه كل منهما وما الذي يفوته
| المشكلة | فحص الثغرات | اختبار الاختراق |
|---|---|---|
| مكتبة أو خادم قديم له ثغرة منشورة | يكتشفها بثبات | يكتشفها، لكنها هدر لوقت المختبِر |
| ترويسات مفقودة، وإعدادات TLS ضعيفة، وصفحات افتراضية مكشوفة | يكتشفها | يكتشفها ويتحقق هل تهم |
| مستخدم مسجّل يقرأ سجل مستخدم آخر بتغيير رقم المعرّف | نادرًا، لأنه لا يعرف من يحق له رؤية ماذا | يكتشفه باستخدام حسابين |
| خصم أو حصة أو خطوة موافقة يمكن إساءة استخدامها | يفوّتها | يكتشفها في كثير من الأحيان |
| نقاط ضعف صغيرة تجتمع لتصنع ثغرة خطيرة | يعرض كل واحدة منفردة، إن عرضها | يربط بينها ويُظهر النتيجة |
| مسار ضعيف لإعادة تعيين كلمة المرور أو تسجيل الدخول | يفوّته غالبًا | يختبر المسار كله يدويًا |
| شيفرة لا يصل إليها أحد | يفوّتها | يفوّتها ما لم يصل إليها المختبِر |
لكل منهما نقاط عمياء. فالفحص ينتج إنذارات كاذبة، أي نتائج تبدو حقيقية وليست كذلك، وقد تفوته مشكلات حقيقية فلا يلاحظها. والاختبار لقطة لإصدار واحد في تاريخ واحد وبقدر الوقت الذي دفعت ثمنه.
أيهما يناسب حالتك
اختر بحسب السؤال الذي تطرحه، لا بحسب السعر.
| الحالة | ابدأ بـ | السبب |
|---|---|---|
| كل إصدار | فحوص آلية في خط النشر | كلفتها قليلة وهي قابلة للتكرار، وتلتقط المشكلات المعروفة قبل أن يضطر إنسان إلى ذلك |
| إطلاق منتج فيه حسابات أو مدفوعات أو بيانات شخصية | فحص ثم اختبار اختراق | أصلح ما تجده الأداة أولًا، ليذهب وقت المختبِر إلى المنطق والتحكم في الوصول |
| غيّرت تسجيل الدخول أو الأدوار أو مسارات الدفع | اختبار مركّز للجزء المتغيّر | الخطأ الواحد هناك يسبب أكبر ضرر |
| ورثت قاعدة شيفرة | فحص مع [مراجعة الشيفرة الآمنة](/services/cybersecurity/secure-code-review) | لا يصح أن تفترض أن أحدًا فحصها، والمراجعة ترى شيفرة لا يصل إليها المختبِرون |
| عقد أو عميل يطلب دليلًا | اسأل عما يُطلب بالضبط | الصياغة هي الحاسمة، فتأكد من الجهة التي تضع المتطلب |
الترتيب مهم. افحص أولًا، وأصلح النتائج الواضحة، ثم اختبر. فدفع أجر مختبِر ليعيد اكتشاف مكتبة قديمة إهدار لساعات الأولى بها عيوب لا تراها أي أداة.
كيف يختلف النطاق والتقرير
| الجانب | فحص الثغرات | اختبار الاختراق |
|---|---|---|
| يُحدَّد النطاق بـ | عناوين أو نطاقات أو مستودعات أو حسابات سحابية تُدخل في الأداة | ميزات وأدوار ومسارات، يُتفق عليها كتابةً ضمن قواعد الاشتباك |
| الجهد | إعداد لمرة واحدة ثم تكرار بكلفة قليلة | أيام أو أسابيع من وقت إنسان بحسب النطاق |
| التقرير | قائمة طويلة مرتبة بالخطورة، فيها مكرر وإنذارات كاذبة | نتائج أقل، كلٌّ منها مؤكد، مع خطوات إعادة الإنتاج والأثر والإصلاح، وملخص لأصحاب القرار |
| إعادة التحقق | شغّله مرة أخرى | إعادة اختبار متفق عليها لكل نتيجة |
يحتاج تقرير الفحص إلى فرز. اسأل عن كل نتيجة ثلاثة أسئلة: هل المكوّن المعني مستخدم فعلًا، وهل يستطيع المهاجم الوصول إليه، وماذا سيكسب؟ أصلح ما كانت أجوبته الثلاثة نعم. وسجّل الباقي إنذارات كاذبة أو مخاطر مقبولة مع السبب، حتى لا يعود التنبيه نفسه كل أسبوع. ودرجة CVSS تصف الثغرة عمومًا، أما سياقك أنت فيحدد مدى استعجالها.
ويحتاج تقرير الاختبار إلى فرز أقل، لأن المختبِر تحقق من كل نتيجة، ويجب أن يذكر ما لم يُختبر.
كيف تستعد
في الفحص ابدأ بجرد لما تملكه، فالنطاقات المنسية وخوادم الاختبار وواجهات API القديمة هي المكان الذي تختبئ فيه المفاجآت. ثم قرّر أربعة أمور:
- **الأهداف.** افحص ما تملكه أو ما أُذن لك بفحصه فقط، وراجع قواعد مزوّد الاستضافة.
- **زاوية النظر.** كغريب، أو بتسجيل دخول، أو بالاثنين.
- **التوقيت.** يرسل فاحص الويب نماذج ويولّد حملًا، فاستخدم نسخة تجريبية أو ساعات هادئة بمعدل طلبات لطيف.
- **المسؤولية.** من يتسلم النتائج، ومن يقرر أي نتيجة إنذار كاذب.
ويحتاج اختبار الاختراق إلى أكثر من ذلك: نطاقًا ثابتًا، وبيئة تجريبية تطابق الإنتاج، وحسابات اختبار لكل دور، وجهة اتصال محددة. وفي [صفحة اختبار الاختراق](/services/cybersecurity/penetration-testing) القائمة الكاملة. وفي الحالتين أصلح المشكلات المعروفة أولًا، وأخبر فريق الاستضافة وفريق المراقبة بموعد العمل، حتى لا يظنه أحد هجومًا حقيقيًا.
ماذا تسأل المزوّد
- **ما حجم العمل اليدوي؟** اسأل عما يفعله المختبِر بيده غير تشغيل الأدوات. فالفحص الذي يحمل غلافًا جميلًا يبقى فحصًا.
- **ما داخل النطاق وما خارجه؟** توقّع أن يكون مكتوبًا قبل عرض السعر.
- **هل أستطيع رؤية نموذج تقرير مجهول الهوية؟** ابحث عن خطوات إعادة الإنتاج والأثر ونصيحة الإصلاح، لا عن مخرجات أداة فحص فقط.
- **كيف تعالجون الإنذارات الكاذبة** قبل أن يصلني التقرير؟
- **أي منهجية توجّه العمل؟** مرجعا تطبيقات الويب الشائعان هما دليل OWASP لاختبار أمان الويب ومعيار التحقق من أمان التطبيقات. أما [قائمة OWASP Top 10](/glossary/owasp-top-10) فقائمة توعية وليست خطة اختبار.
- **ماذا يحدث إن وجدتم ثغرة حرجة في منتصف الاختبار؟** ينبغي أن تعلم بها في اليوم نفسه.
- **هل تشمل الخدمة إعادة الاختبار، ولأي مدة؟**
- **كيف تُعالَج بيانات الدخول والبيانات والنتائج، وكيف تُحذف؟**
احذر أي مزوّد يعد بإيجاد كل الثغرات، أو يقدّم سعرًا دون أن يسأل عن النطاق، أو يسمّي الفحص الآلي اختبار اختراق.
أين تقع مراجعة الشيفرة وسياسة الإفصاح
تقرأ [مراجعة الشيفرة الآمنة](/services/cybersecurity/secure-code-review) الشيفرة المصدرية، فترى المسارات التي لا يصل إليها المختبِر وأخطاء المنطق التي لا تتعرف عليها الأدوات. لكنها لا ترى طريقة نشر التطبيق، وهذا ما يخدمه الاختبار.
والمصدر الآخر للنتائج أشخاص من خارج فريقك. فالباحثون والعملاء يلاحظون أحيانًا خللًا بالمصادفة، ويحتاجون إلى جهة يبلّغونها. وتخبرهم سياسة الإفصاح إلى أين يرسلون وماذا يتوقعون. و[سياسة الإفصاح لدينا](/security) منشورة للجميع. ومهما كان المصدر، ينبغي أن تصل كل نتيجة إلى مكان واحد: مهمة لها مسؤول.
وفي المنتجات التي نبنيها نجمع هذه الطبقات: مراجعة للتهديدات في البداية، واختبارًا قبل كل إصدار، ومراجعة أمنية قبل الإطلاق تسلّمك قائمة إصلاحات مرتبة حسب الأولوية. وتفصّل صفحة [خدمة الأمن السيبراني](/services/cybersecurity) ذلك.