تخطَّ إلى المحتوى

🔐 شرح أمن API وقواعد البيانات

مقدمة في أمن التطبيقات

الدرس 1 من 29· ⏱ 3 دقائق قراءة· 🗓 آخر تحديث: ٢٧ يوليو ٢٠٢٦

ما هو أمن التطبيقات؟

أمن التطبيقات (Application Security) هو ممارسة حماية التطبيقات من التهديدات الأمنية عبر اكتشاف وإصلاح الثغرات في التصميم والبناء والتشغيل. يهدف إلى منع الوصول غير المصرح به للبيانات أو التلاعب بها.

لماذا الأمن مهم؟

  • حماية بيانات المستخدمين: تسرب البيانات قد يؤدي لمسؤولية قانونية وفقدان الثقة.
  • الامتثال للمعايير: مثل GDPR و PCI-DSS و HIPAA.
  • التكلفة: إصلاح الثغرة بعد الإطلاق أغلى بـ 30 مرة من إصلاحها أثناء التطوير.
  • السمعة: اختراق واحد قد يدمر سمعة شركة.

ثالوث CIA

C - Confidentiality (السرية): لا يمكن لأحد غير المصرح له قراءة البيانات
I - Integrity (السلامة): لا يمكن تعديل البيانات دون إذن
A - Availability (التوفر): النظام متاح عند الحاجة

أي ثغرة تنتهك واحدا أو أكثر من هذه المبادئ.

OWASP Top 10

OWASP Top 10 هي قائمة بأهم 10 ثغرات في تطبيقات الويب، يصدرها مشروع OWASP غير الربحي. الإصدار كان 2021 لسنوات طويلة، لكن OWASP أصدرت نسخة جديدة كليًا — 2025 — أُعلنت في مؤتمر OWASP Global AppSec بواشنطن (نوفمبر 2025) واعتُمدت رسميًا في يناير 2026. القائمة الحالية:

  1. Broken Access Control: ثغرات الصلاحيات (لا يزال المركز الأول)
  2. Security Misconfiguration: إعدادات أمنية خاطئة (قفز من المركز 5 إلى 2)
  3. Software Supply Chain Failures: فئة جديدة كليًا — أمن التبعيات وأدوات البناء وسلسلة النشر (كانت جزءًا من "Vulnerable Components" فقط)
  4. Cryptographic Failures: أخطاء التشفير
  5. Injection: حقن الأكواد (SQL، NoSQL، OS)
  6. Insecure Design: تصميم غير آمن
  7. Authentication Failures: أخطاء المصادقة
  8. Software or Data Integrity Failures: سلامة البيانات والبرمجيات
  9. Security Logging and Alerting Failures: ضعف التسجيل والتنبيهات
  10. Mishandling of Exceptional Conditions: فئة جديدة كليًا — معالجة الأخطاء والحالات الاستثنائية بشكل غير آمن

💡 SSRF لم يعد بندًا مستقلًا في نسخة 2025 من القائمة العامة — أُدمج ضمن Broken Access Control. لكنه لا يزال بندًا مستقلًا ومهمًا في قائمة OWASP API Security Top 10 (2023) المتخصصة بالـ APIs، والتي هذا المسار مبني عليها أساسًا (راجع درس التهديدات) — القائمتان منفصلتان ولا تتحدثان بالضرورة بنفس الوتيرة.

// مثال: ثغرة Broken Access Control
// سيئ - لا يتحقق من صلاحية المستخدم
app.get('/api/users/:id', (req, res) => {
  const user = db.findUser(req.params.id);
  res.json(user);
});

// جيد - يتحقق من هوية المستخدم
app.get('/api/users/:id', authenticate, (req, res) => {
  if (req.user.id !== req.params.id && !req.user.isAdmin) {
    return res.status(403).json({ error: 'غير مصرح' });
  }
  const user = db.findUser(req.params.id);
  res.json(user);
});

العقلية الأمنية

  • لا تثق بأي مدخل: افترض أن كل بيانات تدخل التطبيق خبيثة.
  • الدفاع في العمق (Defense in Depth): لا تعتمد على طبقة حماية واحدة.
  • المبدأ الأقل صلاحية (Least Privilege): امنح أقل صلاحية ممكنة لكل مكون.
  • الفشل الآمن (Fail Secure): عند حدوث خطأ، افترض الرفض لا السماح.

⚠️ الأمن ليس ميزة إضافية - هو متطلب أساسي في كل تطبيق. تجاهله قد يكلفك عملك وسمعتك.

🎯 التالي: تهديدات API الشائعة

شرح مقدمة في أمن التطبيقات — أمن API وقواعد البيانات بالعربي
مقدمة في أمن التطبيقاتأمن API وقواعد البيانات بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟