أساسيات الأمن وOWASP

OWASP Top 10 2025: A06-A10 وLLM Top 10

5 دقيقة للقراءة

إكمال تغطية OWASP بالثغرات الخمس المتبقية للويب بالإضافة إلى مخاطر LLM المحددة التي يتم اختبارها بشكل متزايد في أدوار أمان الذكاء الاصطناعي.

A06:2025 - التصميم غير الآمن

الترتيب: #6 (كان #4 في 2021)

عيوب في مرحلة التصميم لا يمكن إصلاحها بالتنفيذ المثالي.

عيوب التصميم مقابل أخطاء التنفيذ

الفئةمثالالإصلاح
التصميم غير الآمنلا تحديد معدل مُصممإعادة التصميم مع تحديد المعدل
خطأ التنفيذتجاوز محدد المعدلإصلاح الكود

سيناريو المقابلة

س: "صمم تدفق إعادة تعيين كلمة المرور. ما الاعتبارات الأمنية المهمة؟"

إجابة قوية:

  • توليد الرمز: عشوائي تشفيرياً، 32+ بايت
  • انتهاء صلاحية الرمز: قصير العمر (15-60 دقيقة)
  • استخدام واحد: إبطال بعد الاستخدام
  • تحديد المعدل: منع التعداد
  • لا معلومات مستخدم في URL: الرمز فقط
  • التسليم الآمن: البريد الإلكتروني، ليس SMS
  • قفل الحساب: بعد N محاولات فاشلة

A07:2025 - فشل المصادقة والتعريف

الترتيب: #7 (بدون تغيير)

نقاط ضعف في آليات المصادقة وإدارة الجلسات.

حالات الفشل الشائعة

الفشلالمخاطرالتخفيف
كلمات مرور ضعيفةحشو بيانات الاعتمادسياسات كلمات المرور، فحوصات الاختراق
MFA مفقوداستيلاء على الحسابطلب MFA للإجراءات الحساسة
تثبيت الجلسةاختطاف الجلسةتجديد الجلسة عند المصادقة
كشف بيانات الاعتماداختراق جماعيالتخزين الآمن، التدوير

مراجعة كود المقابلة

# اعثر على الثغرات
def login(username, password):
    user = db.query(f"SELECT * FROM users WHERE username='{username}'")
    if user and user.password == password:  # المشكلة 1: حقن SQL
        session['user_id'] = user.id        # المشكلة 2: مقارنة نص واضح
        return redirect('/dashboard')       # المشكلة 3: لا تجديد جلسة
    return "Invalid credentials"            # المشكلة 4: الخطأ العام جيد

A08:2025 - فشل سلامة البرمجيات والبيانات

الترتيب: #8

فشل في التحقق من سلامة الكود أو البيانات أو التكوينات.

سيناريوهات الهجوم

السيناريوالوصفالدفاع
تحديثات غير موقعةتحديث خبيث مدفوعتوقيع الكود، التحقق
إلغاء التسلسل غير الآمنRCE عبر حقن الكائنتجنب إلغاء تسلسل البيانات غير الموثوقة
التلاعب بـ CI/CDاختراق خط البناءالتزامات موقعة، أدوات غير قابلة للتغيير
# إلغاء تسلسل معرض للخطر
import pickle

def process_data(serialized):
    return pickle.loads(serialized)  # RCE إذا تحكم المهاجم بالمدخل

# بديل أكثر أماناً
import json

def process_data(serialized):
    return json.loads(serialized)  # بيانات فقط، لا تنفيذ كود

A09:2025 - فشل التسجيل والتنبيه الأمني

الترتيب: #9 (موسع من "التسجيل غير الكافي")

السجلات بدون تنبيه وإجراء توفر قيمة محدودة.

ما يجب تسجيله

الحدثالأولويةالاحتفاظ
محاولات تسجيل الدخول (نجاح/فشل)عالية90 يوم
فشل التحكم في الوصولعالية90 يوم
فشل التحقق من المدخلاتمتوسطة30 يوم
أخطاء النظاممتوسطة30 يوم

سؤال المقابلة

س: "ماذا ستسجل لـ API معاملات مالية؟"

الإجابة:

{
  "timestamp": "2026-01-05T10:30:00Z",
  "event_type": "TRANSACTION",
  "user_id": "hashed_user_123",
  "action": "TRANSFER",
  "amount": 1000.00,
  "source_ip": "192.168.1.1",
  "user_agent": "Mozilla/5.0...",
  "request_id": "uuid-xxx",
  "result": "SUCCESS",
  "latency_ms": 45
}

المفتاح: سجل بما يكفي للتحقيق لكن لا تسجل أبداً البيانات الحساسة (كلمات المرور، أرقام البطاقات الكاملة، PII).

A10:2025 - سوء التعامل مع الحالات الاستثنائية

الترتيب: #10 (جديد)

عندما لا تتعامل التطبيقات بشكل صحيح مع المواقف غير المتوقعة.

المشاكل الشائعة

المشكلةمثالالتأثير
استثناءات غير معالجةتتبع المكدس في الاستجابةكشف المعلومات
استنفاد المواردلا مهلة على العملياتDoS
حالات السباقثغرات TOCTOUتصعيد الصلاحيات
تصاميم الفشل المفتوحالسماح عند الخطأتجاوز الأمان
# فشل مفتوح (خطأ)
def check_authorization(user, resource):
    try:
        return authorization_service.check(user, resource)
    except Exception:
        return True  # خطر: فشل مفتوح

# فشل مغلق (صحيح)
def check_authorization(user, resource):
    try:
        return authorization_service.check(user, resource)
    except Exception as e:
        log.error(f"AuthZ check failed: {e}")
        return False  # الفشل المغلق آمن

OWASP LLM Top 10 2025

لأدوار أمان الذكاء الاصطناعي، اعرف الثغرات الخاصة بـ LLM:

الترتيبالثغرةالوصف
LLM01حقن الموجهموجهات خبيثة تتلاعب بسلوك LLM
LLM02كشف المعلومات الحساسةLLM يكشف بيانات التدريب أو الأسرار
LLM03سلسلة التوريدنماذج أو إضافات أو بيانات تدريب مخترقة
LLM05التعامل غير السليم مع المخرجاتXSS/حقن عبر مخرجات LLM
LLM06الصلاحيات المفرطةLLM بأذونات كثيرة جداً
LLM07تسريب موجه النظامكشف تعليمات النظام
LLM08نقاط ضعف المتجهات والتضمينهجمات تسميم RAG

سؤال المقابلة (دور أمان AI)

س: "كيف ستمنع هجمات حقن الموجه؟"

الإجابة:

  1. تنظيف وتصفية المدخلات
  2. ترميز المخرجات قبل العرض
  3. فصل الصلاحيات (LLM لا يمكنه تنفيذ الكود مباشرة)
  4. فصل الموجه/الإكمال
  5. تحديد المعدل والمراقبة
  6. الإنسان في الحلقة للإجراءات الحساسة

لأدوار أمان AI: LLM Top 10 الآن مادة مقابلة قياسية. توقع أسئلة مفصلة حول حقن الموجه وأمان RAG.

في الدرس التالي، سنغطي أساسيات التشفير لمقابلات الأمن. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 2: أساسيات الأمن وOWASP

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.