OWASP API Security Top 10 RC

صورة
يهدف هذا المشروع إلى عدد متزايد باستمرار من المؤسسات التي تنفذ واجهات برمجة التطبيقات التي قد تكون حساسة كجزء من حلول برامجها. تستخدم واجهات برمجة التطبيقات للمهام الداخلية وللتفاعل مع خدمات الجهات الخارجية. لسوء الحظ ، لا تجتاز العديد من واجهات برمجة التطبيقات اختبارات أمان صارمة من شأنها أن تجعلها في مأمن من الهجمات ، مما يوسع نطاق التهديدات لتطبيق الويب.

تم تصميم مشروع أمان OWASP API Security Top 10 لتسليط الضوء على المخاطر المحتملة في واجهات برمجة التطبيقات غير الآمنة واقتراح تدابير للتخفيف من هذه المخاطر.

OWASP


تتم الإشارة إلى مشروع OWASP من خلال العديد من المعايير والأدوات والمؤسسات ، بما في ذلك MITER و PCI DSS و DISA و FTC وغيرها الكثير. منهجيات OWASP هي منهجية معترف بها لتقييم نقاط الضعف في تطبيقات الويب في جميع أنحاء العالم. تعكس مشاريع OWASP أهم التهديدات التي تواجه تطبيقات الويب والجوال ، واجهات برمجة التطبيقات ، وتصف طرق الاختبار والمنهجيات.

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

API الحديثة


هذه الوثيقة في حالة الإفراج عن المرشح ؛ ومن المقرر تقديم عرض رسمي للربع الثاني من عام 2020. يركز API Security على الاستراتيجيات والحلول لفهم وتخفيف الثغرات الأمنية الفريدة ومخاطر أمان واجهات برمجة التطبيقات (APIs).

ما أصبح الشرط المسبق لإنشاء هذه الورقة:

  • أصبحت الأجهزة العميلة أكثر تنوعًا وتعقيدًا.
  • ينتقل المنطق من الواجهة الخلفية إلى الواجهة الأمامية (مع بعض نقاط الضعف).
  • أقل طبقات من التجريد.
  • "يتكلم" العميل والخادم (وقاعدة البيانات) بنفس لغة JSON.
  • يتم استخدام الخادم بشكل أكبر كبديل للبيانات.
  • مكون التقديم هو العميل وليس الخادم.
  • يستهلك العملاء البيانات الخام.
  • تكشف واجهات برمجة التطبيقات عن التطبيق الأساسي للتطبيق.
  • عادة ما يتم الحفاظ على حالة المستخدم ومراقبتها من قبل العميل.
  • يرسل كل طلب HTTP معلمات إضافية (معرفات الكائنات ،
  • مرشحات).

يكاد يكون من المستحيل تخيل تطبيق ويب حديث دون استخدام API.



OWASP API Security Top 10


A1 إذن غير صحيح على مستوى الكائن


غالبًا ما تكشف واجهات برمجة التطبيقات نقاط النهاية المسؤولة عن المعرفات ، مما يفتح فرصًا كبيرة للهجمات على مستوى التحكم في الوصول. يجب تنفيذ اختبارات تخويل مستوى الكائن في كل وظيفة تقبل إدخال المستخدم.

A2 مصادقة غير صالحة


غالبًا ما يتم تطبيق آليات المصادقة بشكل غير صحيح ، مما يسمح للمهاجمين بخرق الرموز المميزة للمصادقة أو استغلال الأخطاء في التنفيذ من أجل انتحال شخصية مستخدم آخر بشكل مؤقت أو دائم. التهاون في قدرة النظام على تحديد العميل / المستخدم يضر بأمان واجهة برمجة التطبيقات بأكملها.

A3 إصدار معلومات زائدة عن الحاجة


في محاولة للتوحيد القياسي ، يمكن للمطورين الكشف عن جميع معلمات الكائن ، دون مراعاة أهمية كل منهم ، على أمل أن يقوم العميل بتصفية البيانات قبل عرضها للمستخدم.

A4 عدم وجود قيود على الموارد والطلبات


في كثير من الأحيان ، لا تفرض واجهات برمجة التطبيقات أي قيود على حجم أو كمية الموارد التي يطلبها المستخدم. يمكن أن يؤدي هذا ليس فقط إلى تدهور الأداء وحتى DoS ، ولكن أيضًا إلى هجمات المصادقة - على سبيل المثال bruteforce.

A5 إذن غير صحيح من الوظائف


غالباً ما تؤدي سياسات الوصول المعقدة ذات التسلسلات الهرمية والمجموعات والأدوار المختلفة ، بالإضافة إلى الفصل المعتم بين الوظائف الإدارية والوظائف العادية ، إلى وجود ثغرات أمنية في التخويل. من خلال استغلال نقاط الضعف هذه ، يتمكن المهاجمون من الوصول إلى موارد المستخدمين الآخرين ، أو إلى وظيفة المسؤول.

A6 إعادة تعيين المعلمة


يؤدي ربط البيانات المستلمة من العميل (على سبيل المثال ، في JSON) إلى نماذج البيانات دون التصفية عادةً إلى إعادة تعيين المعلمات. يمكن للمهاجمين أو استكشاف واجهة برمجة التطبيقات أو قراءة الوثائق أو مجرد التخمين إضافة معلمات "إضافية" إلى الطلبات ، وتغيير الكائنات التي لا يمكنهم الوصول إليها.

أخطاء إعدادات الأمان A7


غالبًا ما تكون الأخطاء في إعدادات الأمان ناتجة عن الإعدادات الافتراضية ، و "العكازات" ، والتخزين في السحاب ، والتكوين غير الصحيح لرؤوس HTTP ، وطرق HTTP غير الضرورية ، وإعدادات CORS الواسعة للغاية ، وإخراج الأخطاء الممكّن.

حقن A8


نقاط الضعف في حقن مثل SQL ، NoSQL ، حقن رمز / الأمر ، الخ يحدث عندما يتم إرسال بيانات غير موثوق بها إلى المعالج كجزء من طلب أو أمر. يمكن للبيانات المضمنة من قبل المهاجم "خداع" المعالج وستقوم بتنفيذ أمر تعسفي أو تلقي البيانات دون الحصول على إذن مناسب.

A9 إدارة الموارد غير صحيحة


غالبًا ما توفر واجهات برمجة التطبيقات ميزات أكثر من تطبيقات الويب التقليدية ، لذلك من المهم بشكل خاص أن تكون الوثائق كاملة ومحدثة. تلعب واجهات برمجة التطبيقات المثبتة والمكوّنة بشكل صحيح دورًا مهمًا في الحماية من المشكلات ، مثل الوصول المفتوح إلى الإصدارات القديمة من واجهة برمجة التطبيقات ووظيفة تصحيح الأخطاء.

A10 عدم كفاية التسجيل والرصد


يسمح عدم كفاية التسجيل والمراقبة ، إلى جانب ضعف أو عدم التكامل في عمليات الاستجابة ، للمهاجمين بتطوير هجماتهم أو اكتساب موطئ قدم في الشبكة أو التقاط أهداف جديدة أو تنزيل البيانات أو إتلافها. تشير معظم التحقيقات المتعلقة بالقرصنة إلى أن متوسط ​​وقت الكشف يتجاوز 200 يوم ، ويتم اكتشاف حقيقة القرصنة من قبل مقاولين خارجيين ، بدلاً من أنظمة المراقبة الداخلية.

OWASP API Security Top 10 2019


الفصل OWASP روسيا : روسيا OWASP
دردشة OWASP روسيا: https://t.me/OWASP_Russia
قناة OWASP Russia: https://t.me/OWASP_RU

Source: https://habr.com/ru/post/ar470395/


All Articles