منظمة OWASP (Open Web Application Security Project) تصدر دوريًا قائمة بأخطر 10 ثغرات أمنية في تطبيقات الويب. هذه القائمة هي الحدّ الأدنى من الوعي الأمني الذي يجب أن يمتلكه كل مطوّر يكتب كودًا للإنتاج.
1. Broken Access Control — صلاحيات معطوبة
عندما يستطيع المستخدم الوصول إلى موارد ليست له. مثل: تغيير /api/orders/123 إلى /api/orders/124 ورؤية طلب شخص آخر.
الوقاية: تحقّق دائمًا من ملكية المورد على مستوى الخادم، ليس الواجهة.
2. Cryptographic Failures — أخطاء في التشفير
تخزين كلمات المرور كنص خام، استخدام MD5/SHA-1 لكلمات المرور، أو نقل بيانات حساسة بدون TLS.
الوقاية: استخدم bcrypt/argon2 لكلمات المرور، وفعّل HTTPS في كل مكان.
3. Injection — حقن الكود
SQL Injection, NoSQL Injection, Command Injection. عندما تُدمج مدخلات المستخدم مباشرة في الاستعلامات.
الوقاية: استخدم Prepared Statements أو ORM موثوق، ولا تثق أبدًا بمدخلات المستخدم.
4. Insecure Design — تصميم غير آمن
ثغرات تأتي من قرارات معمارية خاطئة قبل كتابة أي كود. مثل: عدم وضع حد لمحاولات تسجيل الدخول.
الوقاية: استخدم Threat Modeling في مرحلة التصميم، وراجع المعمارية أمنيًا قبل البدء.
5. Security Misconfiguration — إعدادات أمنية خاطئة
صفحات افتراضية، خدمات غير ضرورية، إعدادات سحابية مفتوحة للعموم (S3 buckets).
الوقاية: أتمتِ نشر بإعدادات صلبة (Hardened) عبر Infrastructure as Code.
6. Vulnerable & Outdated Components — مكوّنات قديمة
استخدام مكتبات فيها ثغرات معروفة (مثل Log4Shell). 90% من الكود في معظم التطبيقات هو dependencies.
الوقاية: استخدم أدوات SCA مثل Dependabot, Snyk, أو npm audit.
7. Identification & Authentication Failures — أخطاء المصادقة
كلمات مرور ضعيفة مسموح بها، session tokens قابلة للتخمين، عدم انتهاء الصلاحية.
الوقاية: فعّل MFA، استخدم session tokens آمنة وعشوائية، وحدّد صلاحيتها زمنيًا.
8. Software & Data Integrity Failures — انتهاك سلامة البيانات
تحديثات بدون توقيع رقمي، استيراد بيانات JSON موثوقة بدون تحقق، CDN غير محقق منه.
الوقاية: تحقّق من توقيع الحزم، استخدم Subresource Integrity للموارد الخارجية.
9. Security Logging & Monitoring Failures — ضعف المراقبة
عدم تسجيل محاولات الاختراق، عدم وجود تنبيهات. متوسط اكتشاف الاختراق: 200+ يومًا!
الوقاية: سجّل كل أحداث المصادقة والصلاحيات، وادمج مع نظام SIEM.
10. Server-Side Request Forgery (SSRF)
عندما يتمكن المهاجم من إجبار خادمك على إرسال طلبات لخدمات داخلية. خطير في البيئات السحابية لأنه قد يستخرج Metadata من السيرفر.
الوقاية: فلتر URLs، اعزل الخدمات الداخلية، واستخدم allowlist للوجهات المسموحة.
الخلاصة
الأمن ليس “ميزة” تُضاف في النهاية، بل قرارات تصميمية تبدأ من اليوم الأول. اقرأ القائمة الرسمية بالكامل، ودمج الفحوصات الأمنية في خط الـ CI/CD لمشروعك.


لا يوجد تعليق