|
1 | 1 | ## LLM05:2025 التعامل غير السليم مع المخرجات (Improper Output Handling) |
2 | | - |
3 | 2 | ### الوصف |
4 | 3 |
|
5 | | -يشير التعامل غير السليم مع المخرجات إلى ضعف التحقق، أو التنقية، أو المعالجة لمخرجات نماذج اللغة الكبيرة (LLMs) قبل تمريرها إلى مكونات أو أنظمة أخرى.نظرًا لأن المحتوى الذي تنتجه النماذج يمكن التحكم فيه من خلال مدخلات التعليمات (Prompt Input)، فإن هذا السلوك يشبه منح المستخدمين وصولًا غير مباشر إلى وظائف إضافية. |
| 4 | +يشير التعامل غير السليم مع المخرجات إلى ضعف التحقق، أو التنقية، أو المعالجة لمخرجات نماذج اللغة الكبيرة (LLMs) قبل تمريرها إلى مكونات أو أنظمة أخرى. نظرًا لأن المحتوى الذي تنتجه النماذج يمكن التحكم فيه من خلال مدخلات التعليمات (Prompt Input)، فإن هذا السلوك يشبه منح المستخدمين وصولًا غير مباشر إلى وظائف إضافية. |
6 | 5 |
|
7 | 6 | يختلف التعامل غير السليم مع المخرجات عن الاعتماد المفرط (Overreliance)، إذ أن التعامل غير السليم يركز على مخرجات النموذج قبل تمريرها للأنظمة الأخرى، بينما يعالج الاعتماد المفرط القضايا الأوسع المرتبطة بالثقة الزائدة في دقة أو ملاءمة مخرجات النموذج. |
8 | 7 |
|
|
17 | 16 | - عدم تطبيق قيود على معدلات الاستخدام (Rate Limiting) أو استخدام آليات لاكتشاف السلوك غير الطبيعي (Anomaly Detection) أثناء تفاعل النموذج مع المستخدمين. |
18 | 17 |
|
19 | 18 |
|
20 | | -### أمثلة شائعة على الثغرات (Common Examples of Vulnerability) |
| 19 | +### أمثلة شائعة على الثغرات |
21 | 20 |
|
22 | 21 | 1. يتم إدخال مخرجات نموذج اللغة الكبير (LLM) مباشرةً في غلاف نظام (System Shell) أو دالة مماثلة مثل exec أو eval، مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد (Remote Code Execution). |
23 | 22 | 2. يُولّد النموذج تعليمات برمجية بلغة JavaScript أو Markdown ويتم إرجاعها إلى المستخدم، حيث يتم تفسير الشيفرة بواسطة المتصفح، مما يؤدي إلى هجوم XSS. |
24 | 23 | 3. تُنفذ استعلامات SQL التي ينتجها النموذج دون استخدام المعاملات المُخصصة (Proper Parameterization)، مما يؤدي إلى حدوث هجوم حقن SQL (SQL Injection). |
25 | 24 | 4. يتم استخدام مخرجات نموذج اللغة الكبير في إنشاء مسارات ملفات بدون تنقية مناسبة، مما قد يؤدي إلى ثغرات اجتياز المسار (Path Traversal). |
26 | | -5. يتم استخدام المحتوى الذي يولده نموذج اللغة الكبير في قوالب البريد الإلكتروني بدون تهرّب مناسب (Proper Escaping)، مما قد يؤدي إلى هجمات تصيّد (Phishing Attacks). |
| 25 | +5. يتم استخدام المحتوى الذي يولده نموذج اللغة الكبير في قوالب البريد الإلكتروني بدون ترميز مناسب (Proper Escaping)، مما قد يؤدي إلى هجمات تصيّد (Phishing Attacks). |
27 | 26 |
|
28 | 27 |
|
29 | 28 |
|
30 | | -### استراتيجيات الوقاية والتخفيف (Prevention and Mitigation Strategies) |
| 29 | +### استراتيجيات الوقاية والتخفيف |
31 | 30 |
|
32 | 31 | 1. عامِل النموذج كما تعامل أي مستخدم آخر، مع اتباع نهج عدم الثقة المطلق (Zero-Trust Approach)، وطبق التحقق المناسب من المدخلات على الاستجابات القادمة من النموذج إلى وظائف الخوادم الخلفية. |
33 | 32 | 2. اتبع إرشادات OWASP ASVS (معيار التحقق من أمان التطبيقات) لضمان فعالية التحقق وتنقية المدخلات. |
34 | 33 | 3. قم بترميز مخرجات النموذج قبل إرجاعها إلى المستخدمين للحد من تنفيذ الكود غير المرغوب فيه بواسطة JavaScript أو Markdown. يوفر OWASP ASVS إرشادات تفصيلية حول ترميز المخرجات. |
35 | | -4. نفّذ ترميزًا للمخرجات يتناسب مع السياق الذي ستُستخدم فيه مخرجات النموذج (مثل: ترميز HTML للمحتوى الويب، أو تهرّب SQL لاستعلامات قواعد البيانات). |
| 34 | +4. نفّذ ترميزًا للمخرجات يتناسب مع السياق الذي ستُستخدم فيه مخرجات النموذج (مثل: ترميز HTML للمحتوى الويب، أو ترميز SQL لاستعلامات قواعد البيانات). |
36 | 35 | 5. استخدم الاستعلامات المُعَلمَة (Parameterized Queries) أو البيانات المُجهزة مسبقًا (Prepared Statements) لجميع العمليات المتعلقة بقاعدة البيانات والتي تتضمن مخرجات النموذج. |
37 | 36 | 6. طبق سياسات أمن محتوى صارمة (Strict Content Security Policies - CSP) لتقليل مخاطر هجمات XSS الناتجة عن المحتوى الذي يولده النموذج. |
38 | 37 | 7. نفّذ أنظمة قوية لتسجيل ومراقبة الأحداث (Robust Logging and Monitoring Systems) لاكتشاف الأنماط غير الطبيعية في مخرجات النموذج والتي قد تشير إلى محاولات استغلال. |
39 | 38 |
|
40 | | -### سيناريوهات هجوم توضيحية (Example Attack Scenarios) |
| 39 | +### أمثلة على سيناريوهات الهجوم |
41 | 40 |
|
42 | 41 | #### السيناريو #1 |
43 | 42 | تستخدم تطبيق إضافة (Extension) مبنية على نموذج اللغة الكبير (LLM) لتوليد استجابات لميزة الدردشة. |
44 | 43 | تقدم هذه الإضافة أيضًا عددًا من الوظائف الإدارية المتاحة لنموذج لغة آخر يمتلك امتيازات إضافية. |
45 | 44 | يمرر نموذج اللغة العام استجابته مباشرة، دون التحقق السليم من المخرجات، إلى الإضافة، مما يتسبب في إيقاف الإضافة للصيانة. |
46 | 45 | #### السيناريو #2 |
47 | | - يستخدم مستخدم أداة تلخيص مواقع إلكترونية تعتمد على نموذج LLM لإنشاء ملخص لمقال. تتضمن صفحة الموقع حقن تعليمات (Prompt Injection) تطلب من النموذج التقاط محتوى حساس من الموقع أو من محادثة المستخدم. بعد ذلك، يمكن للنموذج ترميز البيانات الحساسة وإرسالها، دون تحقق أو تصفية، إلى خادم خاضع لسيطرة المهاجم. |
| 46 | + يستخدم مستخدم أداة تلخيص مواقع إلكترونية تعتمد على نموذج اللغة الكبير (LLM) لإنشاء ملخص لمقال. تتضمن صفحة الموقع حقن تعليمات (Prompt Injection) تطلب من النموذج التقاط محتوى حساس من الموقع أو من محادثة المستخدم. بعد ذلك، يمكن للنموذج ترميز البيانات الحساسة وإرسالها، دون تحقق أو تصفية، إلى خادم خاضع لسيطرة المهاجم. |
48 | 47 |
|
49 | 48 | #### السيناريو #3 |
50 | | -يسمح نموذج LLM للمستخدمين بإنشاء استعلامات SQL لقاعدة بيانات خلفية عبر ميزة شبيهة بالدردشة. يطلب مستخدم إنشاء استعلام لحذف جميع جداول قاعدة البيانات. إذا لم يتم فحص الاستعلام الذي أنشأه النموذج بشكل صحيح، فقد يتم حذف جميع جداول قاعدة البيانات. |
| 49 | +يسمح نموذج اللغة الكبير (LLM) للمستخدمين بإنشاء استعلامات SQL لقاعدة بيانات خلفية عبر ميزة شبيهة بالدردشة. يطلب مستخدم إنشاء استعلام لحذف جميع جداول قاعدة البيانات. إذا لم يتم فحص الاستعلام الذي أنشأه النموذج بشكل صحيح، فقد يتم حذف جميع جداول قاعدة البيانات. |
51 | 50 |
|
52 | 51 |
|
53 | 52 | #### السيناريو #4 |
54 | 53 | يستخدم تطبيق الويب نموذج اللغة الكبير (LLM) لتوليد محتوى بناءً على تعليمات نصية من المستخدمين دون تنقية للمخرجات. يمكن لمهاجم إرسال تعليمات مصممة خصيصًا، مما يؤدي إلى أن يقوم النموذج بإرجاع حمولة JavaScript غير مُنقّاة، مما يؤدي إلى هجوم XSS عند عرضها في متصفح الضحية. عدم التحقق الكافي من التعليمات سمح بحدوث هذا الهجوم. |
55 | 54 |
|
56 | 55 |
|
57 | 56 | #### السيناريو # 5 |
58 | | -يُستخدم نموذج LLM لإنشاء قوالب رسائل بريد إلكتروني ديناميكية لحملة تسويقية. يقوم مهاجم بالتلاعب بالنموذج لإدخال شفرة JavaScript ضارة ضمن محتوى البريد الإلكتروني. إذا لم يقم التطبيق بتنقية مخرجات النموذج بشكل صحيح، فقد يؤدي ذلك إلى هجمات XSS على المستلمين الذين يعرضون البريد الإلكتروني في عملاء بريد إلكتروني معرضين للخطر. |
| 57 | +يُستخدم نموذج اللغة الكبير (LLM) لإنشاء قوالب رسائل بريد إلكتروني ديناميكية لحملة تسويقية. يقوم مهاجم بالتلاعب بالنموذج لإدخال شفرة JavaScript ضارة ضمن محتوى البريد الإلكتروني. إذا لم يقم التطبيق بتنقية مخرجات النموذج بشكل صحيح، فقد يؤدي ذلك إلى هجمات XSS على المستلمين الذين يعرضون البريد الإلكتروني في عملاء بريد إلكتروني معرضين للخطر. |
59 | 58 |
|
60 | 59 |
|
61 | 60 | #### السيناريو #6 |
62 | | -تستخدم شركة برمجيات نموذج LLM لتوليد كود برمجي من مدخلات لغوية طبيعية بهدف تسريع مهام التطوير. رغم الفعالية، إلا أن هذا النهج يعرض الشركة لخطر تسريب معلومات حساسة، أو إنشاء طرق معالجة بيانات غير آمنة، أو إدخال ثغرات مثل حقن SQL. قد يقوم النموذج أيضًا بهلوسة توصيات بحزم برمجية غير موجودة، مما قد يؤدي إلى تحميل موارد مصابة ببرمجيات خبيثة. لذلك، من الضروري إجراء مراجعة دقيقة للشيفرة والتحقق من الحزم المقترحة أمرين بالغَي الأهمية لمنع الخروقات الأمنية، والوصول غير المصرح به، واختراق الأنظمة. |
| 61 | +تستخدم شركة برمجيات نموذج اللغة الكبير (LLM) لتوليد كود برمجي من مدخلات لغوية طبيعية بهدف تسريع مهام التطوير. رغم الفعالية، إلا أن هذا النهج يعرض الشركة لخطر تسريب معلومات حساسة، أو إنشاء طرق معالجة بيانات غير آمنة، أو إدخال ثغرات مثل حقن SQL. قد يقوم النموذج أيضًا بهلوسة توصيات بحزم برمجية غير موجودة، مما قد يؤدي إلى تحميل موارد مصابة ببرمجيات خبيثة. لذلك، من الضروري إجراء مراجعة دقيقة للشيفرة والتحقق من الحزم المقترحة أمرين بالغَي الأهمية لمنع الخروقات الأمنية، والوصول غير المصرح به، واختراق الأنظمة. |
63 | 62 |
|
64 | 63 |
|
65 | 64 |
|
|
0 commit comments