قائمة OWASP لأشهر عشر مخاطر
من أين نعرف أين ننظر؟ من قائمة تجمع خبرة الصناعة في أخطر عشر فئات. ⏱ نحو 35 دقيقة.
- تعرّف منظمة
OWASPوقائمتها العشرية. - تميّز الفئات الكبرى وأمثلتها.
- تستخدم القائمة قائمةَ فحص عند التصميم والمراجعة والاختبار.
- تصنّف ثغرة إلى فئتها وتذكر دفاعها.
١مرجع الصناعة: OWASP Top 10
بدل أن يكتشف كل مطوّر الثغرات بنفسه، جمعت منظمة OWASP (مشروع أمان تطبيقات الويب المفتوح) خبرة الصناعة في قائمة بأخطر عشر فئات من مخاطر تطبيقات الويب، تُحدَّث كل بضع سنوات بناءً على بيانات حقيقية من آلاف التطبيقات.
القائمة ليست قانونًا، بل قائمة مرجعية: قبل إطلاق أي تطبيق، تمرّ على فئاتها العشر وتسأل: هل حميت تطبيقي من كل منها؟ أغلب الاختراقات الحقيقية تقع في واحدة من هذه الفئات.
٢الفئات العشر الكبرى
هذه الفئات بترتيب خطورتها في أحدث إصدار معتمد (2021)، مع أين يعالجها هذا المقرر:
| # | الفئة | باختصار | في المقرر |
|---|---|---|---|
| A01 | تعطّل التحكم بالوصول | مستخدم يصل لما لا يحق له (IDOR) | الدرس 11 |
| A02 | الإخفاقات التشفيرية | بيانات حساسة بلا تشفير أو بتشفير ضعيف | الوحدة 10 |
| A03 | الحقن | مدخل المستخدم يُنفَّذ أمرًا (SQL، XSS) | الدروس 7–10 |
| A04 | التصميم غير الآمن | ثغرة في التصميم لا في الكود | الدرس 5 |
| A05 | الإعداد الأمني الخاطئ | إعدادات افتراضية، رسائل خطأ مكشوفة | الدرس 6 |
| A06 | مكوّنات قديمة ومعيبة | مكتبة فيها ثغرة معروفة | الدرس 6 |
| A07 | إخفاقات المصادقة والهوية | كلمات مرور ضعيفة، جلسات غير آمنة | الدروس 11، 25 |
| A08 | إخفاقات سلامة البيانات | الثقة بتحديثات أو بيانات غير موقّعة | الدرس 24 |
| A09 | نقص التسجيل والمراقبة | الهجوم يقع ولا أحد يعلم | الدرس 14 |
| A10 | تزوير الطلب من الخادم (SSRF) | إجبار الخادم على طلب داخلي | الدرس 20 |
لا تحفظ الرموز؛ احفظ الفكرة: لكل فئة سبب ودفاع. والمقرر يأخذك في الأهم منها عمليًّا.
٣كيف تُستخدم القائمة
القائمة أداة عمل، تُستخدم في ثلاثة مواضع:
| الموضع | كيف |
|---|---|
| عند التصميم | راجع كل فئة واسأل: هل تصميمي معرّض لها؟ (نمذجة التهديدات، الدرس 5) |
| عند المراجعة | اجعلها قائمة فحص لمراجعة الكود قبل الدمج |
| عند الاختبار | حوّل كل فئة إلى حالات اختبار سلبية: جرّب أن تخترق تطبيقك |
ناتج التعلم الثاني من الخطة ينص على معالجة ثلاث ثغرات على الأقل. مشروع نهاية المقرر (الدرس 28) هو تدقيق تطبيق على هذه القائمة وإصلاح ثغراته.
توقّع وتحقّق
ما OWASP Top 10؟
حقن SQL و XSS يقعان في فئة:
«مستخدم يصل لبيانات غيره» فئة:
أفضل استخدام للقائمة:
الخلاصة
OWASP Top 10قائمة مرجعية بأخطر فئات مخاطر الويب، تُحدَّث دوريًّا.- التفكير بالفئات يحميك من ثغرات لم تسمع بها لأنها تشترك في السبب.
- الفئات الكبرى: التحكم بالوصول، والتشفير، والحقن، والتصميم غير الآمن، والإعداد الخاطئ…
- استخدمها قائمة فحص عند التصميم والمراجعة والاختبار، لا للحفظ.
تحدٍّ تصميمي: تصنيف الثغرات على OWASP
متوسطراجع فريقك متجر «رفيق» ووجد أربع مشكلات. صنّف كل مشكلة إلى فئتها من OWASP Top 10، واذكر دفاعًا مختصرًا لكل منها.
- لكل مشكلة: الفئة ثم دفاع في سطر واحد.
- المشكلات: (أ) حقل بحث يُدرج نصه مباشرة في استعلام SQL. (ب) أي مستخدم يرى طلب غيره بتغيير الرقم. (ج) كلمات المرور مخزّنة نصًّا صريحًا. (د) رسائل الخطأ تكشف مسار الملفات ونسخة الخادم.
- (أ) الفئة الحقن
- (أ) الدفاع بالاستعلامات المعلَّمة
- (ب) فئة التحكم بالوصول
- (ج) فئة التشفير
- (ج) الدفاع بالتجزئة
- (د) فئة الإعداد الخاطئ
💡 تلميح 1
💡 تلميح 2
(A01).💡 تلميح 3
(A02)، ودفاعها التجزئة بـ bcrypt.نموذج واحد من إجابات كثيرة صحيحة.
- (أ) حقل البحث في SQL — الفئة ثم الدفاع
- الحقن
(A03): استخدام الاستعلامات المعلَّمة بدل دمج النص في الاستعلام. - (ب) رؤية طلب الغير — الفئة ثم الدفاع
- تعطّل التحكم بالوصول
(A01): التحقق أن الطلب يخص المستخدم قبل عرضه، والرد 404 لغيره. - (ج) كلمات مرور نصية — الفئة ثم الدفاع
- الإخفاقات التشفيرية
(A02): تجزئة كلمات المرور بدالة بطيئة مثل bcrypt، لا تخزينها نصًّا. - (د) رسائل خطأ مكشوفة — الفئة ثم الدفاع
- الإعداد الأمني الخاطئ
(A05): إخفاء تفاصيل الأخطاء عن المستخدم وتسجيلها داخليًّا فقط.