حساب IBM الخاص بي تسجيل الدخول اشترك

تحسين واجهات برمجة التطبيقات باستخدام أفضل ممارسات أمان واجهة برمجة التطبيقات

6 نوفمبر 2023

قراءة لمدة 5 دقائق

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

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

شرح أمن واجهة برمجة التطبيقات

يشير أمن واجهة برمجة التطبيقات إلى مجموعة الممارسات والمنتجات التي تستخدمها المنظمة لمنع الهجمات الضارة على واجهات برمجة التطبيقات وإساءة استخدامها. ونظرًا لتعقيد الأنظمة البنائية لواجهة برمجة التطبيقات، ونمو منصات (إنترنت الأشياء (IOT) والحجم الهائل من واجهات برمجة التطبيقات التي تستخدمها المنظمات (ما يقرب من 20000 في المتوسط) (الرابط موجود خارج ibm.com))، أصبح التعامل مع أمن واجهة برمجة التطبيقات أمرًا صعبًا وضروريًا بشكل متزايد.

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

  • الهجمات القائمة على المصادقة: حيث يحاول المخترقون تخمين أو سرقة كلمات مرور المستخدم أو استغلال عمليات المصادقة الضعيفة للوصول إلى خوادم واجهة برمجة التطبيقات.
  • هجمات الوسيط: حيث تقوم جهة سيئة بسرقة البيانات أو تعديلها (على سبيل المثال، بيانات اعتماد تسجيل الدخول أو معلومات الدفع) من خلال اعتراض الطلبات و/أو الردود بين واجهة برمجة التطبيقات.
  • حقن الرموز البرمجية / هجمات الحقن: حيث يقوم المخترق بإرسال نص برمجي ضار (لإدراج معلومات خاطئة أو حذف أو كشف بيانات أو تعطيل وظائف التطبيق) من خلال طلب واجهة برمجة التطبيقات، مستغلاً نقاط الضعف في مترجمي واجهة برمجة التطبيقات الذين يقومون بقراءة البيانات وترجمتها.
  • هجمات حجب الخدمة (DoS): ترسل هذه الهجمات عشرات من طلبات واجهة برمجة التطبيقات لتعطيل الخادم أو إبطائه. وغالبًا ما تأتي هجمات حجب الخدمة (DoS) من عدة مهاجمين في وقت واحد فيما يسمى هجوم موزع لحجب الخدمة (DDoS).
  • هجمات التفويض على مستوى الكائن المعطّل (BOLA): تحدث عندما يتلاعب المجرمومن الإلكترونيون بمعرّفات الكائنات في نقاط نهاية واجهة برمجة التطبيقات لتحقيق وصول غير المصرح به إلى بيانات المستخدم. تظهر هذه المشكلة عندما تتيح نقطة نهاية واجهة برمجة التطبيقات للمستخدم إمكانية الوصول إلى السجلات التي لا ينبغي له عادةً الوصول إليها. تعد هجمات التفويض على مستوى الكائن المعطّل (BOLA) شائعة بشكل خاص، لأن تنفيذ عمليات التحقق الصحيحة من التفويض على مستوى الكائن قد يكون صعبًا ويستغرق وقتًا طويلاً.

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

أفضل ممارسات أمن واجهة برمجة التطبيقات

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

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

  1. بوابات واجهة برمجة التطبيقات. يُعد تثبيت بوابات واجهة برمجة التطبيقات إحدى أسهل الطرق لتقييد الوصول إلى واجهة برمجة التطبيقات. حيث تنشئ البوابات نقطة دخول واحدة لجميع طلبات واجهة برمجة التطبيقات، وتعمل كطبقة أمان من خلال تطبيق سياسات الأمان، مما يساعد في توحيد تفاعلات واجهة برمجة التطبيقات وتقديم ميزات مثل تحويل الطلب/الاستجابة والتخزين المؤقت والتسجيل.
  2. مصادقة وتفويض قويان. يضمن استخدام بروتوكولات المصادقة المتوافقة مع معايير الصناعة - مثل OAuth 2.0 ومفاتيح واجهة برمجة التطبيقات وJWT وOpenID Connect وغير ذلك الكثير - عدم وصول أحد إلى واجهات برمجة تطبيقات المؤسسة سوى المستخدمين المعتمدين. بالإضافة إلى ذلك، يمنع تنفيذ عناصر التحكم في الوصول المستندة إلى الدور المستخدمين من الوصول إلى الموارد غير المصرح لهم باستخدامها.
  3. بروتوكولات التشفير. يساعد اتصال SSL أو بروتوكولات تشفير TLS —مثل HTTP Secure (HTTPS) — الفرق على تأمين الاتصال بين واجهة برمجة التطبيقات وتطبيقات العميل. يقوم HTTPS بتشفير جميع عمليات نقل بيانات الشبكة، مما يمنع الوصول غير المصرح به والتلاعب. يمكن أن يؤدي تشفير البيانات غير النشطة، مثل كلمات المرور المخزّنة، إلى زيادة حماية البيانات الحساسة أثناء تخزينها.
  4. جدران حماية تطبيقات الويب (WAFs). توفر جدران حماية تطبيقات الويب (WAFs) طبقة إضافية من الحماية لواجهات برمجة تطبيقات المؤسسات، خاصة من هجمات تطبيقات الويب الشائعة مثل هجمات الحقن والبرمجة النصية عبر المواقع (XSS) وتزوير الطلبات عبر المواقع (CSRF). يمكن لبرنامج أمن جدار حماية تطبيقات الويب (WAF) تحليل طلبات واجهة برمجة التطبيقات الواردة وحظر حركة المرور الضارة قبل وصولها إلى الخادم.
  5. التحقق من صحة البيانات. بنفس الطريقة التي يقوم بها الأشخاص بفحص المكالمات الهاتفية وتجنب فتح المرفقات من مرسلين غير معروفين، يجب على المؤسسات فحص كل ما تقبله خوادمها ورفض أي عمليات نقل بيانات أو محتوى كبيرة (بما في ذلك تلك الواردة من المستهلكين). يمكن أن يكون استخدام التحقق من صحة مخطط XML أو JSON وتأكيد المعلمات مفيدًا أيضًا في منع الهجمات.
  6. تقييد المعدل. هذا يحمي الموارد من هجمات القوة الغاشمة وهجمات حجب الخدمات (DoS) من خلال تقييد عدد الطلبات التي يمكن لمستخدم أو عنوان IP أن يقدمها في فترة زمنية معينة. تضمن قيود المعدل معالجة الطلبات بسرعة، وأنه لا يمكن لأي مستخدم أن يغرق النظام بطلبات ضارة.
  7. اختبار الأمن. يتطلب اختبار الأمن من المطورين إرسال طلبات قياسية باستخدام عميل API لتقييم جودة استجابات النظام وصحتها. إن إجراء اختبارات أمن واجهة برمجة التطبيقات المنتظمة - على سبيل المثال، اختبارات الاختراق واختبارات الحقن واختبارات مصادقة المستخدم واختبارات التلاعب بالمعلمات والمزيد - لتحديد الثغرات الأمنية ومعالجتها يساعد الفرق في إصلاح الثغرات الأمنية قبل أن يستغلها المهاجمون.
  8. مراقبة واجهة برمجة التطبيقات وتصحيحها. كما هو الحال مع أي تطبيق أو نظام برمجي، تعد المراقبة والصيانة المنتظمة جزءًا لا يتجزأ من الحفاظ على أمن واجهة برمجة التطبيقات. راقب عن كثب أي نشاط غير عادي للشبكة وقم بتحديث واجهات برمجة التطبيقات بأحدث تصحيحات الأمان وإصلاحات الأخطاء والميزات الجديدة. ويجب أن تتضمن المراقبة أيضًا الوعي والاستعداد لنقاط الضعف الشائعة في واجهة برمجة التطبيقات، مثل تلك المدرجة في قائمة أفضل 10 مشاريع أمن تطبيقات الويب المفتوحة (OWASP).
  9. التدقيق والتسجيل. يسمح الاحتفاظ بسجلات تدقيق شاملة ومحدّثة — ومراجعتها بشكل متكرر —للمؤسسات بتتبع جميع عمليات الوصول إلى بيانات المستخدم واستخدامها، وتسجيل كل طلب من طلبات واجهة برمجة التطبيقات. قد يكون البقاء على اطلاع على نشاط واجهة برمجة التطبيقات أمرًا صعبًا، ولكن تنفيذ إجراءات التدقيق والتسجيل يمكن أن يوفر الوقت عندما تحتاج الفرق إلى تتبع خطواتها بعد خرق للبيانات أو حدوث خلل في الامتثال. ونظرًا لأنها توفر سجلًا للسلوك الطبيعي للشبكة، يمكن لسجلات التدقيق أن تسهل أيضًا اكتشاف الحالات الشاذة.
  10. الحصص وتخفيف الضغط. مثل تقييد المعدل، يقيد تخفيف الضغط عدد الطلبات التي يتلقاها نظامك. ومع ذلك، بدلاً من العمل على مستوى المستخدم أو العميل، يعمل تخفيف الضغط على مستوى الخادم/الشبكة. تعمل قيود تخفيف الضغط والحصص على حماية النطاق الترددي للنظام الخلفي لواجهة برمجة التطبيقات عن طريق تقييد واجهة برمجة التطبيقات بعدد معين من المكالمات أو الرسائل في الثانية. بغض النظر عن الحصص، من المهم تقييم حجم مكالمات النظام بمرور الوقت، حيث يمكن أن تشير زيادة الحجم إلى إساءة الاستخدام و / أو أخطاء البرمجة.
  11. الإصدار والتوثيق. يأتي كل إصدار جديد من برنامج واجهة برمجة التطبيقات مزودًا بتحديثات الأمان وإصلاحات الأخطاء التي تدعم الثغرات الأمنية في الإصدارات السابقة. وبدون ممارسات التوثيق المناسبة، يمكن للمستخدمين نشر إصدار قديم أو ضعيف من واجهة برمجة التطبيقات عن طريق الخطأ. وينبغي أن تكون الوثائق شاملة ومتسقة، بما في ذلك معلمات الإدخال المعلنة بوضوح، والاستجابات المتوقعة، والمتطلبات الأمنية.

أمان الذكاء الاصطناعي وواجهة برمجة التطبيقات

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

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

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

ابق على اطلاع على أمن واجهة برمجة التطبيقات (API) مع IBM

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

لا شك أن التأكد من أمن واجهات API لن يكون أبدًا مهمة تتم مرة واحدة فقط؛ بل يجب أن تنظر إليها الشركات على أنها عملية ديناميكية مستمرة تتطلب اليقظة والبراعة والانفتاح على التقنيات والحلول الحديثة. فباستخدام مزيج من الممارسات الأمنية التقليدية لواجهة API، مع أحدث الأساليب المستندة إلى الذكاء الاصطناعي مثل Noname Advanced API Security لـ IBM، يمكن للشركات التأكد من بقاء موارد تقنية المعلومات آمنة قدر الإمكان، وحماية كل من المستهلك والمؤسسة.

 

مؤلف

Chrystal R. China

Writer, automation & ITOps