قائمة ثغرات الـ API لـ OWASP TOP 10 محتواها والإجراءات الواجب اتخاذها (تحديث 2023)

Security
عند برمجة التطبيقات او المواقع هل تعرف ما هى المخاطر التى تواجهك ؟! اليك نبذة عن اهم التحديات التى يجب ان تكون على دراية بها
Mostafa Tamam
April 12, 2023, 9 p.m.
mostafa_tamam
قائمة ثغرات الـ API لـ  OWASP TOP 10 محتواها والإجراءات الواجب اتخاذها (تحديث 2023)

ما هو الـ API ؟

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

يأتي نمو API المتزايد مع العديد من التهديدات ، وهنا يأتي دور اختبار أمان الـ API, فمثل أي شيء آخر  ستكون واجهة برمجة التطبيقات عرضة لسوء الاستخدام والتهديدات والأختراقات  لهذا السبب، تقوم العديد من الشركات بتثبيت نوع من طرق الاختبار أو المختبرين للتأكد من عدم وجود ضعف في الكود.

أهمية اختبار اختراق الـ API ؟

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

ما هو اختبار اختراق الـ API ؟

اختبار اختراق API هى عملية اختبار أخلاقية لتقييم أمان تصميم الـ API, تتضمن اختبارات API محاولة استغلال المشكلات المحددة والإبلاغ عنها لتقوية واجهة برمجة التطبيقات لمنع الوصول غير المصرح به أو خرق البيانات كما اى عملية اختبار اختراق على تطبيقات الويب او الموبايل.

أهم التهديدات التى تواجة API ؟

لخلق المزيد من الوعي بتهديدات أمان واجهات برمجة التطبيقات التي تؤثر على المؤسسات الرقمية ، يسلط مشروع أمان تطبيقات الويب (OWASP) الضوء على أهم 10 تهديدات تؤثر على واجهات برمجة التطبيقات.

تم تحديث مشروع OWASP API Security لقائمة العشرة الأوائل لمعالجة بعض التغييرات في اتجاهات الهجمات التي ظهرت منذ الإصدار السابق.

أعلن إينون شكيدي، قائد مشروع OWASP API Security، أن "قائمة OWASP API Top 10 - الإصدار 2023 مختلفة عن الإصدار 2019. نتطلع إلى متابعة اتجاهات الأمان ذات الصلة بواجهات البرمجة التطبيقية التي تم تطويرها في السنوات الأخيرة, وهذة التغييرات وعلى مستوى عالٍ عند مقارنة العشرة الأوائل من عام 2019 إلى عام 2023، ترى:

  • تمت إزالة اثنين من المخاطر السابقة من القائمة
  • وبقي الثلاثة على حالهم تمامًا
  • تم تحديث أربعة
  • خمسة من 2023 جديدة

1- Broken Object Level Authorization

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

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

اقرأ ايضا : ثغرة BOLA - كيف تؤثر إدارة مصادقة البيانات على أمان الـ API

2- Broken Authentication

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

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

اقرأ ايضا :ثغرة كسر مصادقة المستخدم في تطبيقات الـ API - التحديات وتقنيات الحماية المتقدمة

3- Broken Object Property Level Authorization

تم دمج ثغرتى Mass Assignment و Excessive Data Exposure لتصبح (BOPLA) Broken Object Property Level Authorization , وتتضمن :-

Excessive Data Exposure هي ثغرة أمنية تحدث عندما يتم عرض معلومات حساسة للغاية على المستخدمين أو الأطراف الأخرى التي لا يجب أن تكون مؤهلة للوصول إلى هذه المعلومات. وتحدث هذه الثغرة عادة عندما يكون النظام الأساسي غير محمي بشكل كافٍ أو يفتقر إلى الأمان اللازم للتعامل مع المعلومات الحساسة.

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

أقرأ ايضا : ثغرة Excessive Data Exposure وتعريض البيانات للخطر - تقنيات الاختراق وسبل الوقاية

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

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

4- Unrestricted Resource Consumption

هي ثغرة أمنية تحدث عندما يتم استهلاك موارد الخادم او السيرفر بشكل زائد وغير متوقع بواسطة هجمات DDoS أو عمليات تكرار غير صحيحة للطلبات من العميل.

تؤدي هذه الثغرة إلى إحباط أو تعطيل الخدمات الأساسية للنظام، وقد تتسبب في تعطيل الخدمة بشكل كامل، مما يؤثر سلبًا على الأعمال والخدمات التي يقدمها النظام. يتم حل هذه المشكلة عادة باستخدام تقنية Rate Limiting، والتي تقوم بتحديد عدد محدد من الطلبات التي يمكن تلقيها خلال فترة زمنية محددة من قبل العملاء، ويتم رفض أي طلبات تزيد عن هذا الحد.

5- Broken Function Level Authorization

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

على سبيل المثال، يمكن للمستخدمين الوصول إلى صفحة تعديل بيانات المستخدمين أو صفحة تعديل معلومات الدفع حتى لو لم يكن لديهم الصلاحية الكاملة للوصول إلى هذه المعلومات. ويمكن للمهاجمين استغلال هذه الثغرة للوصول إلى المعلومات الحساسة أو تعديلها بشكل غير مشروع.

6- Unrestricted Access to Sensitive Business Flows

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

لا يكون التأثير ذا اثر بالغ ومع ذلك، يمكن أن يضر استغلال هذا التهديد الأعمال بطرق مختلفة، مثل منع المستخدمين الشرعيين من شراء منتج.

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

7- Server Side Request Forgery

ثغرة SSRF (Server-Side Request Forgery) هي ثغرة أمنية تمكن المهاجم من توجيه طلبات إلى خوادم داخلية أو خوادم أخرى عبر التطبيق المستهدف. ببساطة، المهاجم يستغل هذه الثغرة للوصول إلى مصادر داخلية أو خارجية يمكن أن يكون لديه القدرة على إجراء طلبات نحوها على نيابة التطبيق المصاب. هذا يمكن أن يؤدي إلى تعريض معلومات حساسة أو استغلال الخوادم الداخلية أو الخارجية بأسلوب ضار. تأثير هذه الثغرة الأمنية هو أن المهاجم سيكون قادرًا على الاستفادة من الخادم الهدف لتنفيذ ومعالجة الطلبات التي يقدمها بشكل كبير.

8- Security Misconfiguration

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

من بين الأمثلة الشائعة لـ Security Misconfiguration هي عدم تحديث البرمجيات الخاصة بالنظام الأساسي والبرمجيات الإضافية، وعدم إزالة أي إعدادات أمان افتراضية، وتمكين الخدمات غير المستخدمة، وعدم تطبيق الإجراءات الأمنية اللازمة لحماية البيانات المهمة، وعدم تعيين كلمات مرور قوية وتغييرها بانتظام، وغيرها.

9- Improper Assets Management

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

تشمل أمثلة على Improper Assets Management عدم حماية الملفات والمعلومات الحساسة بشكل صحيح، وعدم إدارة الصلاحيات بشكل كافٍ، وعدم تحديد مستويات الحماية المناسبة للموارد المختلفة وغيرها.


10- Unsafe Consumption of APIs

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

ما هو السبيل الى حماية الـ API ؟

لحسن الحظ سوف نناقش هذة الثغرات كلا على حدة فى سلسلة جديدة ونقوم بشرح كل طرق الحماية بالتفصيل وفهم تفاصيل كل ثغرة بشكل اوضح ولكن نعرض عليك اﻷن بعض الأساليب والتقنيات لتجنب هذة الثغرات داخل موسستك وتتضمن :

1- استخدم ادوات اختبار اختراق الآلية

من الممكن استخدام بعض التقنيات والأدوات الألية التى توفر عليك الجهد والوقت لأكتشاف هذة الثغرات واعطائك تحليل بيانى لكل ثغرة وتطبيق افضل الممارسات داخل الـ API ومن اهم هذة البرامج هو BLST Security, تساعد خوارزمية BLST المرتكزة على التطبيق في تحديد الأنماط والهجمات في الوقت المناسب ، مما يسمح للمؤسسات بتعديل العمليات والاستجابة للمتطلبات المتغيرة.

يعتبر Postman ايضا من افضل الحلول لأختبار الـ API الخاص بك، فيمكن لكل فريق تنظيم وتجميع وإعادة استخدام ومشاركة طلبات وأمثلة الـ API ، مما يتيح التعاون والاختبار الآلي وتسلسل الطلبات، يمكن للمستخدمين جدولة اختبارات API الآلية للتشغيل بشكل متكرر كل خمس دقائق ، والإبلاغ عن المشكلات المحتملة عبر التنبيهات.

2- تشفير البيانات

يجب تشفير البيانات والمعلومات الحساسة المحمية بشكل كبير, هذا لمنع مهاجمي الويب والمتسللين من الوصول إلى هذه المعلومات. يجب تشفير جميع البيانات التي تديرها واجهة برمجة التطبيقات في ِREST وأثناء النقل باستخدام Transport Layer Security سيتيح هذا حماية البيانات الموجودة على واجهة برمجة التطبيقات.

3- تحديد الثغرات الأمنية من خلال الاختبارات المخصصة

لضمان حماية الـ Endpoint داخل الـ API الخاصة بك بنجاح، يجب عليك فهم الجزء الذي يعاني من مشكلات أمنية. ولتحديد هذه المشكلات بشكل سهل، يجب عليك مراقبة الواجهة البرمجية بشكل عام. يمكن أن تكون هذه المشكلات طفيفة أو معقدة، خاصةً إذا كان لديك عدد كبير من واجهات البرمجة التطبيقية. فهم النقائص في الواجهة البرمجية يساعد خلال عملية التطوير والاختبار.

4- استخدم Rate Limiting

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

الخاتمة

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

ونختم بقول شاعر رسول الله حسّان بن ثابت laugh

وَأَحسَنُ مِنكَ لَم تَرَ قَطُّ عَيني &  وَأَجمَلُ مِنكَ لَم تَلِدِ النِساءُ
خُلِقتَ مُبَرَّءً مِن كُلِّ عَيبٍ & كَأَنَّكَ قَد خُلِقتَ كَما تَشاءُ


owasp API TOP 10 Security Rust soap Penetration tester Root-X Mostafa Tamam