غالبًا ما لا يستهدف المتسللون مصدر البيانات ، بل يستهدفون واجهة برمجة التطبيقات نفسها.

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

لماذا يعد أمان واجهة برمجة التطبيقات أمرًا بالغ الأهمية ، وما الذي يمكنك فعله لإدارة مخاطر أمان واجهة برمجة التطبيقات؟ هيا نكتشف.

لماذا يجب أن تركز على أمن API؟

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

instagram viewer

وفق Palo Alto Networks و ESG Research، 92 في المائة من الشركات التي شملها الاستطلاع تعرضت لحادث أمني متعلق بواجهة برمجة التطبيقات في عام 2022. من بين هذه الشركات ، تعرضت 57 بالمائة من الشركات للعديد من الحوادث الأمنية المتعلقة بواجهة برمجة التطبيقات. ومع ذلك ، من الأهمية بمكان تحسين أمان واجهة برمجة التطبيقات لمنع هجمات واجهة برمجة التطبيقات.

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

1. تنفيذ المصادقة الآمنة والتفويض

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

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

فيما يلي طرق المصادقة الأساسية لواجهات برمجة التطبيقات.

مفتاح API

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

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

اسم المستخدم و كلمة السر

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

بروتوكول TLS المتبادل (mTLS)

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

مصادقة JWT (JSON Web Token)

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

بعد ذلك ، سيستخدم العميل رمز الويب JSON Web Token هذا في طلبات API اللاحقة للمصادقة والتفويض بأنفسهم.

OAuth2.0 مع OpenID Connect

يقدم OAuth خدمات التفويض ، مما يسمح للمستخدمين بمصادقة أنفسهم دون مشاركة كلمات المرور. OAuth2.0 يعتمد على مفهوم الرمز المميز وغالبًا ما يتم استخدامه مع OpenID Connect آلية المصادقة. تُستخدم طريقة المصادقة والتفويض الخاصة بواجهة برمجة التطبيقات هذه بشكل شائع لتأمين واجهات برمجة التطبيقات.

2. فرض التحكم في الوصول المستند إلى الدور

التحكم في الوصول المستند إلى الدور (RBAC) ، والذي يستخدم الأمان مبدأ الامتياز الأقل، يحدد مستوى الوصول إلى المورد بناءً على دور المستخدم.

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

3. تشفير جميع الطلبات والردود

غالبًا ما تتضمن حركة مرور واجهة برمجة التطبيقات معلومات حساسة ، مثل بيانات الاعتماد والبيانات. تأكد من تشفير كل حركة مرور الشبكة (خاصة جميع طلبات واستجابات API الواردة) باستخدام تشفير SSL / TSL. يمنع تشفير البيانات المتسللين من كشف بيانات اعتماد المستخدم أو أي نوع آخر من البيانات الحساسة.

4. استخدم بوابة API

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

باستخدام بوابات API ، يمكن للشركات إدارة استدعاءات API من الأنظمة الخارجية من خلال بوابة مركزية خارج واجهة برمجة التطبيق.

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

تشمل بوابات API الشائعة بوابة أمازون API, بوابة Azure API, بوابة Oracle API، و بوابة كونغ.

5. فرض تحديد السعر

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

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

عند تنفيذ Hard Stop ، سيحصل عملاؤك على خطأ 429 عندما يصلون إلى الحد الأقصى. في Soft Stop ، سيكون لعملائك فترة سماح قصيرة لإجراء مكالمات API بعد انتهاء حد معدل API. يمكنك أيضًا تنفيذ Throttled Stop ، مما يسمح لعملائك بتقديم طلبات API بمجرد انتهاء الحد ، ولكن بسرعة أبطأ.

يعمل تحديد معدل واجهة برمجة التطبيقات على تقليل تهديدات أمان واجهة برمجة التطبيقات وتقليل التكاليف الخلفية.

6. الحد من التعرض للبيانات

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

يؤدي عرض أقل قدر ممكن في استجابات واجهة برمجة التطبيقات إلى تحسين وقت الاستجابة أيضًا.

7. تحقق من صحة المعلمات

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

يجب ألا تتجاوز عمليات التحقق من صحة المعلمات مطلقًا.

8. حافظ على علامات التبويب في نشاط API

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

أدوات مختلفة ، مثل نص, دوت كوم مونيتور، أو تحقق، تساعدك على مراقبة API الخاص بك في الوقت الحقيقي.

9. تحقق من أمان API بانتظام

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

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

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

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