Unsafe Consumption of APIs

الاستهلاك غير الآمن لواجهات برمجة التطبيقات


what is:

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

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

كيف تحدث هذه المخاطر؟

عندما تستخدم واجهة برمجة التطبيقات من طرف ثالث، يمكن أن يكون هناك العديد من المخاطر المحتملة:

  1. عدم التحقق من البيانات المدخلة:

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

  2. استغلال الثغرات في واجهات برمجة التطبيقات:

    • يمكن أن تحتوي APIs على ثغرات أمنية، مثل عدم التحقق من هوية المستخدم أو عدم وجود مستويات كافية من الأمان، مما يسهل على المهاجمين استغلالها.

  3. إعادة التوجيه إلى مواقع غير موثوقة:

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


Example:

  • إدخال عنوان غير صحيح

    • الوضع: لديك تطبيق يقوم بالتحقق من العناوين المدخلة من قبل المستخدمين باستخدام API خارجي.

    • الإجراء: المستخدم يدخل عنوانه، ولكن بدلاً من إدخال عنوان صحيح، يدخل المهاجم عنوانًا ضارًا مثل http://malicious-site.com أو حتى أمر برمجي مثل drop table.

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

    مثال 2: إعادة التوجيه إلى مواقع ضارة

    • الوضع: تستخدم API للاتصال بموقع آخر للحصول على بيانات إضافية.

    • الإجراء: يمكن أن يقوم المهاجم بإدخال عنوان URL ضار في استدعاء API.

    • النتيجة: عندما يحاول التطبيق إعادة توجيه المستخدم إلى ذلك الموقع، يمكن أن يتم توجيههم إلى موقع مليء بالبرمجيات الضارة أو المحتوى الضار.


Prevention:

  • التحقق من البيانات:

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

  • تقييم أمان الجهات الخارجية:

    • قبل استخدام أي واجهة برمجة تطبيقات من طرف ثالث، قم بإجراء تقييم شامل لأمان هذه الخدمة. هل تتبع ممارسات أمان جيدة؟ هل لديهم سياسة حماية للبيانات؟

  • مراقبة البيانات:

    • يجب أن تكون لديك آليات لمراقبة البيانات المستلمة من واجهات برمجة التطبيقات والتأكد من عدم وجود بيانات غير متوقعة أو ضارة.

  • التشفير:

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


scenarios:

Last updated