الثغرات الأمنية أو ما يُعرف بـ Security vulnerabilities:
المقصود بها تلك الأخطاء التي تظهر من غير قصد في الأكواد البرمجية للمواقع والتطبيقات والأنظمة، ومثل هذه الثغرات يتم سدّها عند اكتشافها من خلال التحديثات التي تُجرى بشكل دوري لبعض البرامج والأنظمة.
بشكل عام تُعتبر الثغرة، نقطة ضعف في دفاعات نظامك، حيث أن لكل نظام إجراءات أمنية مُتعددة تُبقي المُتسللين في الخارج والبيانات الهامّة في الداخل. من خلال الثغرات الأمنية، يمكن للمهاجم أن يجد طريقه إلى أنظمتك وشبكتك. يمكن التفكير بالتدابير الأمنية داخل النظام كالسياج الذي يلتف حول فناء منزلك، ونقاط الضعف هي الشقوق والفتحات في هذا السياج.
حسب أحد المصادر، فقد تمّ تصنيف الثغرات الأمنية عموماً إلى ثلاثة أنواع:
الثغرات الأمنية سهلة الاختراق:
وهي من أكثر أنواع الثغرات الأمنية شيوعاً. تُعتبر التقنيات الدفاعية مثل التشفير (Encryption) والمصادقة (Authentication) والترخيص (Authorization)، عند تنفيذها بشكل صحيح، ضرورية لأمن التطبيق. ولكن عندما يتم إساءة استخدامها أو تنفيذها بطريقة غير صحيحة أو عندما يتم تجاهلها فإنها تصبح ثغرات أمنية للنظام.
تشير ثلاثة من هذه الثغرات الأمنية إلى وجود ضعف أو نقص في البيت الداخلي للنظام وهي:
- Missing Authentication
- Missing Authorization
- Missing Encryption
وثلاث ثغرات أمنية أخرى لها علاقة بالاستخدام الخاطئ أو غير الحكيم لتقنيات الدفاع في النظام، وهي:
- Incorrect Authorization (التفويض غير الصحيح)
- Incorrect Permission Assignment (التعيين الخاطئ للأُذونات)
- Improper Restriction of Excess Authentication Attempts (القيود غير المناسبة لمحاولات المُصادقة الزائدة)
الثغرات الأمنية الخطرة والتي تستهدف إدارة الموارد:
تتضمن إدارة الموارد إنشاء موارد النظام واستخدامها ونقلها وتدميرها مثل الذاكرة. من أبرز الأمثلة على الثغرات الأمنية من هذا النوع هي:
- Buffer Overflow
- Path Traversal
الثغرات الأمنية المتعلقة بالتفاعل غير الآمن بين المكونات:
فئة "التفاعل غير الآمن بين المكونات" هي الأقل شيوعاً. ولكنها تحتوي أيضًا على قائمة الثغرات الأمنية الأكثر طلبًا، مثل:
- SQL Injection
- Cross-Site Scripting
- Open Redirect