

ما هو الـ API ؟
الـ Application Programming Interface او API قد يتساءل البعض ، ماذا يعني ذلك؟ إنه ببساطة الواجهة التى تستخدمها العديد من تطبيقات الويب والموبايل والتطبيقات, وهو المسؤول الأول عن نقل المعلومات بين الأنظمة فهو يتيج للتطبيقات المختلفة التواصل مع بعضها البعض, يتم استخدام API من قبل المبرمجين وتطبيقات الأجهزة المحمولة وتطبيقات الويب والعديد من الصناعات فالشخص العادي يتعامل مع API دون أن يكون على علم به لذلك دعنا نتعرف علية.
إقرأ المزيد على موضوع.كوم: https://mawdoo3.com/%D8%B4%D8%B9%D8%B1_%D8%AD%D8%B3%D8%A7%D9%86_%D8%A8%D9%86_%D8%AB%D8%A7%D8%A8%D8%AA
إقرأ المزيد على موضوع.كوم: https://mawdoo3.com/%D8%B4%D8%B9%D8%B1_%D8%AD%D8%B3%D8%A7%D9%86_%D8%A8%D9%86_%D8%AB%D8%A7%D8%A8%D8%AA
إقرأ المزيد على موضوع.كوم: https://mawdoo3.com/%D8%B4%D8%B9%D8%B1_%D8%AD%D8%B3%D8%A7%D9%86_%D8%A8%D9%86_%D8%AB%D8%A7%D8%A8%D8%AA
إقرأ المزيد على موضوع.كوم: https://mawdoo3.com/%D8%B4%D8%B9%D8%B1_%D8%AD%D8%B3%D8%A7%D9%86_%D8%A8%D9%86_%D8%AB%D8%A7%D8%A8%D8%AA
يأتي نمو API المتزايد مع العديد من التهديدات ، وهنا يأتي دور اختبار أمان الـ API, فمثل أي شيء آخر ستكون واجهة برمجة التطبيقات عرضة لسوء الاستخدام والتهديدات والأختراقات لهذا السبب، تقوم العديد من الشركات بتثبيت نوع من طرق الاختبار أو المختبرين للتأكد من عدم وجود ضعف في الكود.
أهمية اختبار اختراق الـ API ؟
أصبح نقل البيانات جزءًا لا يتجزأ من الاتصال الرقمي. تتعامل تطبيقات الويب الحديثة وتطبيقات الهاتف المحمول مع تبادل كميات كبيرة من البيانات المهمة ، على سبيل المثال ، السجلات الطبية ، والهويات الشخصية ، والسجلات المصرفية ، ويمكن لهذه التطبيقات جذب انتباه المتسللين, من السهل الوصول إلى واجهات برمجة التطبيقات غير الآمنة للمتسللين ، لذلك يجب استخدام واجهة برمجة التطبيقات المؤمنة والمختبرة لتجنب الكشف عن المعلومات الحساسة.
ما هو اختبار اختراق الـ API ؟
اختبار اختراق API هى عملية اختبار أخلاقية لتقييم أمان تصميم الـ API, تتضمن اختبارات API محاولة استغلال المشكلات المحددة والإبلاغ عنها لتقوية واجهة برمجة التطبيقات لمنع الوصول غير المصرح به أو خرق البيانات كما اى عملية اختبار اختراق على تطبيقات الويب او الموبايل.
أهم التهديدات التى تواجة API ؟
لخلق المزيد من الوعي بتهديدات أمان واجهات برمجة التطبيقات التي تؤثر على المؤسسات الرقمية ، يسلط مشروع أمان تطبيقات الويب (OWASP) الضوء على أهم 10 تهديدات تؤثر على واجهات برمجة التطبيقات ، والتي تتضمن:
1- Broken Object Level Authorization
نظرًا لأن واجهات برمجة التطبيقات تتيح الوصول إلى الـ Objects ، إذا لم يتم التحقق من مدخلات المستخدم ،سوف تؤدى الى نتائج خطيرة, تشير هذه الثغرة إلى وجود خلل في آلية التحقق من صلاحيات المستخدمين للوصول إلى الـ Objects داخل التطبيق، حيث يتم السماح للمستخدمين بالوصول إلى موارد وحسابات اخرى لا يحق لهم الوصول إليها.
على سبيل المثال، يمكن استغلال هذه الثغرة بالتعديل على الطلبات سيؤدى هذا الى الوصول إلى المعلومات أو الوظائف التي لا يحق له الوصول إليها.
اقرأ ايضا : ثغرة BOLA - كيف تؤثر إدارة مصادقة البيانات على أمان الـ API
2- Broken User Authentication
هي ثغرة أمنية شائعة تحدث في تطبيقات الويب، وتتعلق بطريقة التحقق من صحة هوية المستخدم وصلاحياته في الوصول إلى موارد التطبيق. تحدث هذه الثغرة عندما يتمكن المهاجم من اختراق نظام التحقق من صحة هوية المستخدم أو اكتشاف أسماء المستخدمين وكلمات المرور الخاصة بهم، وبالتالي يمكن للمهاجم الوصول إلى الحسابات والبيانات الحساسة.
على سبيل المثال، إذا كانت تطبيقات الويب تستخدم معرف المستخدم وكلمة المرور لتحقق من هوية المستخدم، يمكن للمهاجم استغلال ثغرات الأمان في عملية التحقق هذه للوصول إلى حسابات المستخدمين. فعلى سبيل المثال، يمكن للمهاجم الاستفادة من ضعف في إعدادات تحديث كلمة المرور واختراق الحساب الخاص بالمستخدم.
اقرأ ايضا :ثغرة كسر مصادقة المستخدم في تطبيقات الـ API - التحديات وتقنيات الحماية المتقدمة
3- Excessive Data Exposure
هي ثغرة أمنية تحدث عندما يتم عرض معلومات حساسة للغاية على المستخدمين أو الأطراف الأخرى التي لا يجب أن تكون مؤهلة للوصول إلى هذه المعلومات. وتحدث هذه الثغرة عادة عندما يكون النظام الأساسي غير محمي بشكل كافٍ أو يفتقر إلى الأمان اللازم للتعامل مع المعلومات الحساسة.
في العديد من الحالات، يتم عرض المعلومات الحساسة بدون أي تحقق من صحة الحساب أو دخول المستخدم إلى النظام، مما يسهل على المهاجمين الوصول إلى المعلومات الحساسة واستخدامها لأغراض غير مشروعة. ومن بين الأمثلة الشائعة على Excessive Data Exposure هي عرض معلومات بطاقات الائتمان أو معلومات الحساب المصرفي أو المعلومات الطبية بشكل عام، والتي يمكن أن تتسبب في أضرار خطيرة للأفراد المتأثرين.
4- Lack of Resources & Rate Limiting
هي ثغرة أمنية تحدث عندما يتم استهلاك موارد الخادم او السيرفر بشكل زائد وغير متوقع بواسطة هجمات DDoS أو عمليات تكرار غير صحيحة للطلبات من العميل.
تؤدي هذه الثغرة إلى إحباط أو تعطيل الخدمات الأساسية للنظام، وقد تتسبب في تعطيل الخدمة بشكل كامل، مما يؤثر سلبًا على الأعمال والخدمات التي يقدمها النظام. يتم حل هذه المشكلة عادة باستخدام تقنية Rate Limiting، والتي تقوم بتحديد عدد محدد من الطلبات التي يمكن تلقيها خلال فترة زمنية محددة من قبل العملاء، ويتم رفض أي طلبات تزيد عن هذا الحد.
5- Broken Function Level Authorization
هي ثغرة أمنية تحدث عندما يتم تطوير نظام برمجي لا يقوم بالتحقق من صحة صلاحية المستخدمين للوصول إلى الوظائف الحساسة في النظام. ويعني هذا أن المستخدمين قادرون على تنفيذ وظائف وعمليات في النظام التي قد لا يكون لديهم الصلاحية الكاملة للوصول إليها.
على سبيل المثال، يمكن للمستخدمين الوصول إلى صفحة تعديل بيانات المستخدمين أو صفحة تعديل معلومات الدفع حتى لو لم يكن لديهم الصلاحية الكاملة للوصول إلى هذه المعلومات. ويمكن للمهاجمين استغلال هذه الثغرة للوصول إلى المعلومات الحساسة أو تعديلها بشكل غير مشروع.
6- Mass Assignment
هي ثغرة أمنية تحدث عندما يسمح النظام البرمجي بتعيين قيم لخصائص أو متغيرات دون تحقق من صحة البيانات المدخلة، مما يسمح للمهاجمين بتعديل البيانات بشكل غير مشروع. وتعني هذه الثغرة أن المهاجمين قادرون على تحديث بعض الخصائص أو المتغيرات في النظام بدلاً من الخصائص التي يتمكنون من الوصول إليها بشكل طبيعي.
على سبيل المثال، إذا كانت هناك صفحة لتعديل بيانات المستخدم، يمكن للمهاجمين تعديل الحقول التي لا يجب عليهم الوصول إليها مثل الصلاحيات أو البريد الإلكتروني، عن طريق إرسال قيم مضللة إلى النظام
7- Security Misconfiguration
هي عبارة عن خطأ في إعدادات الأمان للتطبيق أو الخادم الذي يستضيف التطبيق. وتتضمن هذه الثغرة عدم تطبيق أفضل الممارسات في الأمان وعدم إعداد النظام الأمني بشكل صحيح، مما يتيح للمهاجمين استغلال هذه الثغرة والوصول إلى المعلومات الحساسة أو التحكم في النظام.
من بين الأمثلة الشائعة لـ Security Misconfiguration هي عدم تحديث البرمجيات الخاصة بالنظام الأساسي والبرمجيات الإضافية، وعدم إزالة أي إعدادات أمان افتراضية، وتمكين الخدمات غير المستخدمة، وعدم تطبيق الإجراءات الأمنية اللازمة لحماية البيانات المهمة، وعدم تعيين كلمات مرور قوية وتغييرها بانتظام، وغيرها.
8- Injection
هي ثغرة أمنية شائعة في تطبيقات الويب، وتحدث عندما يتم إدخال بيانات غير صحيحة أو غير مفهومة إلى مدخلات التطبيق، وتتم معالجتها على أنها أمر قابل للتنفيذ من قبل قاعدة البيانات أو النظام الأساسي للتطبيق، مما يتيح للمهاجمين تنفيذ أوامر خبيثة داخل التطبيق.
تشمل أمثلة الثغرات التي يمكن استغلالها بواسطة Injection ثغرات SQL و LDAP و XML و XPath وغيرها. في ثغرة SQL Injection، يقوم المهاجمون بإدخال عبارات SQL خبيثة في مدخلات الطلبات التي ترسلها إلى قاعدة البيانات، مما يتيح لهم الوصول إلى بيانات حساسة أو تعديلها أو حذفها. وفي ثغرة LDAP Injection، يقوم المهاجمون بإدخال أسماء مستخدمين أو كلمات مرور خبيثة في مدخلات الطلبات التي تتعامل مع خوادم LDAP، مما يتيح لهم الوصول إلى معلومات LDAP أو التحكم فيها.
9- Improper Assets Management
هي ثغرة أمنية تحدث عندما لا يتم إدارة الموارد بشكل صحيح في تطبيق الويب، وهذا يمكن أن يؤدي إلى تعرض الموارد الحساسة أو الخصوصية للخطر، وبالتالي تعريض النظام بأكمله للهجوم.
تشمل أمثلة على Improper Assets Management عدم حماية الملفات والمعلومات الحساسة بشكل صحيح، وعدم إدارة الصلاحيات بشكل كافٍ، وعدم تحديد مستويات الحماية المناسبة للموارد المختلفة وغيرها.
10- Insufficient Logging & Monitoring
هي ثغرة أمنية تحدث عندما لا يتم تسجيل ومراقبة الأحداث الهامة في تطبيق الويب بشكل كافٍ، وهذا يمكن أن يؤدي إلى عدم الكشف عن الهجمات أو الأنشطة غير المصرح بها في الوقت المناسب، مما يزيد من خطر نجاح الهجمات وتعريض النظام للخطر.
تشمل أمثلة على Insufficient Logging & Monitoring عدم تسجيل الأحداث الهامة مثل محاولات الوصول غير المصرح بها أو التحقق من الهوية غير الصحيحة، وعدم مراقبة الأنشطة الحساسة مثل التعامل مع المعلومات الحساسة أو إجراءات الإدارة الحساسة، وعدم تنفيذ إجراءات التحقق الدورية للنظام والتحقق من سجلات الأحداث للكشف عن الأنشطة غير المصرح بها.
ما هو السبيل الى حماية الـ API ؟
لحسن الحظ سوف نناقش هذة الثغرات كلا على حدة فى سلسلة جديدة ونقوم بشرح كل طرق الحماية بالتفصيل وفهم تفاصيل كل ثغرة بشكل اوضح ولكن نعرض عليك اﻷن بعض الأساليب والتقنيات لتجنب هذة الثغرات داخل موسستك وتتضمن :
1- استخدم ادوات اختبار اختراق الآلية
من الممكن استخدام بعض التقنيات والأدوات الألية التى توفر عليك الجهد والوقت لأكتشاف هذة الثغرات واعطائك تحليل بيانى لكل ثغرة وتطبيق افضل الممارسات داخل الـ API ومن اهم هذة البرامج هو BLST Security, تساعد خوارزمية BLST المرتكزة على التطبيق في تحديد الأنماط والهجمات في الوقت المناسب ، مما يسمح للمؤسسات بتعديل العمليات والاستجابة للمتطلبات المتغيرة.
يعتبر Postman ايضا من افضل الحلول لأختبار الـ API الخاص بك، فيمكن لكل فريق تنظيم وتجميع وإعادة استخدام ومشاركة طلبات وأمثلة الـ API ، مما يتيح التعاون والاختبار الآلي وتسلسل الطلبات، يمكن للمستخدمين جدولة اختبارات API الآلية للتشغيل بشكل متكرر كل خمس دقائق ، والإبلاغ عن المشكلات المحتملة عبر التنبيهات.
2- تشفير البيانات
يجب تشفير البيانات والمعلومات الحساسة المحمية بشكل كبير, هذا لمنع مهاجمي الويب والمتسللين من الوصول إلى هذه المعلومات. يجب تشفير جميع البيانات التي تديرها واجهة برمجة التطبيقات في ِREST وأثناء النقل باستخدام Transport Layer Security سيتيح هذا حماية البيانات الموجودة على واجهة برمجة التطبيقات.
3- تحديد الثغرات الأمنية من خلال الاختبارات المخصصة
لضمان حماية الـ Endpoint داخل الـ API الخاصة بك بنجاح، يجب عليك فهم الجزء الذي يعاني من مشكلات أمنية. ولتحديد هذه المشكلات بشكل سهل، يجب عليك مراقبة الواجهة البرمجية بشكل عام. يمكن أن تكون هذه المشكلات طفيفة أو معقدة، خاصةً إذا كان لديك عدد كبير من واجهات البرمجة التطبيقية. فهم النقائص في الواجهة البرمجية يساعد خلال عملية التطوير والاختبار.
4- استخدم Rate Limiting
يمكنك ضبط حدود التكرار ووضع Limit لمنع هجمات DoS على النظام وحماية حركات المرور الزائدة عن المعدل الطبيعى. يمكن لهذا الحل المساعدة في توازن توفر وإمكانية الوصول إلى واجهات برمجة التطبيقات بين مختلف المستخدمين. بمجرد السيطرة على التوفر، يمكن ضمان أداء وأمان النظام.
الخاتمة
أصبح اختبار اختراق الـ API أحد أهم عوامل الأمان حيث يتم موازاة النمو الهائل في هجمات واجهة برمجة التطبيقات ، ويمكن إجراء جميع اختبارات اختراق واجهة برمجة التطبيقات بطريقتين رئيسيتين أحدهما اختبار الاختراق اليدوي والآخر هو اختبار الاختراق التلقائي وسوف نقوم بالشرح بشكل مفصل عن كل ثغرة من خلال هذة السلسة, نأمل أن تقدم هذه المقالة نظرة ثاقبة حول هذه الأساليب والمزيد من المعلومات, لا تتردد إذا كان لديك أي أسئلة يرجى التواصل معنا فى التعليقات.
ونختم بقول شاعر رسول الله ﷺ حسّان بن ثابت
وَأَحسَنُ مِنكَ لَم تَرَ قَطُّ عَيني & وَأَجمَلُ مِنكَ لَم تَلِدِ النِساءُ
خُلِقتَ مُبَرَّءً مِن كُلِّ عَيبٍ & كَأَنَّكَ قَد خُلِقتَ كَما تَشاءُ