اكتشاف واجهة برمجة التطبيقات (API) هي عملية تحديد وفهرسة جميع واجهات برمجة التطبيقات التي تستخدمها المؤسسة—سواء الداخلية أو الخارجية—وتوثيق وظائف واجهة برمجة التطبيقات ونقطة النهاية وهياكل البيانات وغيرها من المعلومات ذات الصلة.
يُنشئ اكتشاف واجهة برمجة التطبيقات (API) مخزونًا من واجهات برمجة التطبيقات (APIs) المستخدمة، ووظائفها، ومن يملك أذونات الوصول، وغير ذلك الكثير. كما يُساعد على اكتشاف أي واجهات برمجة تطبيقات مخفية أو منسية، وهو أمرٌ مهمٌّ للحدّ من مخاطر الأمان.
تشكل واجهات برمجة التطبيقات جزءًا حيويًا من تطوير البرامج الحديثة وتوفر تبادلاً ثنائي الاتجاه: فهي تمكن المطورين والتطبيقات من طلب البيانات وإضافة الخدمات والاستفادة من القدرات من التطبيقات الأخرى، كما تمنح مالكي التطبيقات طريقة لمشاركة المنتجات ونشرها وتسويقها. مع هذه الوظيفة الأساسية تظهر المزيد من التعقيدات والثغرات.
تُعد إدارة واجهات برمجة التطبيقات أمرًا بالغ الأهمية لتأمين هذه الثغرات الأمنية والتأكد من أن نظام واجهة برمجة التطبيقات يعمل كما هو مقصود. من المهم معرفة عدد واجهات برمجة التطبيقات وأنواعها ومدى شعبيتها، من أجل أمن واجهة برمجة التطبيقات والمصادقة والكفاءة وحماية البيانات الحساسة والحفاظ على رؤية شاملة لكيفية استخدام التطبيق. ولكن كيف يمكن لمالك التطبيق اكتشاف كل هذه المعلومات؟ هنا يأتي دور اكتشاف واجهة برمجة التطبيقات.
واجهات برمجة التطبيقات أو API هي مجموعات من القواعد والبروتوكولات التي تمكن التطبيقات والخدمات من التواصل مع بعضها. وهي في الأساس الوسطاء الذين يمكنون التطبيقات من استخراج البيانات في الوقت الفعلي من جميع أنواع المصادر المختلفة. توفر واجهات برمجة التطبيقات بيانات الطقس في تطبيقات الطقس، وتسريع عمليات الدفع على تطبيقات التسوق والخرائط على الموقع الإلكتروني للمطعم من بين العديد من حالات الاستخدام الأخرى. في المؤسسة، تستخدم واجهات برمجة التطبيقات لدمج مهام سير العمل والمنصات، وربط الخدمات المصغرة، وتسهيل مشاركة الأصول، وجعل التطبيقات متاحة لمستخدمي الجهات الخارجية وغير ذلك الكثير.
نظرًا إلى العدد الهائل من التطبيقات التي تستخدمها المؤسسات الحديثة، والتي يبلغ متوسطها أكثر من ألف تطبيق وفقًا لمسح أجراه فريق المبيعات، فمن المهم للمؤسسات أن يكون لديها نهج قوي لاكتشاف واجهات برمجة التطبيقات. يشير اكتشاف واجهة برمجة التطبيقات إلى عملية العثور على واجهات برمجة التطبيقات الموثقة والمخفية على حد سواء، وإنشاء أدلة وتجميع المخزون لواجهات برمجة التطبيقات المكتشفة. هناك العديد من الأسباب التي تجعل من اكتشاف واجهة برمجة التطبيقات أمرًا في غاية الأهمية، سواء بسبب الفوائد التي يمكن أن تقدمها أو بسبب التأثيرات المحتملة على أمان التطبيق التي يمكن أن يؤدي إهمال هذه العملية إلى حدوثها. يعد اكتشاف واجهة برمجة التطبيقات جزءًا حيويًا من تجميع وثائق واجهة برمجة التطبيقات الشاملة والكاملة.
يمكن أن يؤثر التكرار—أي إنشاء مثيلات متعددة لنفس الميزات أو ميزات متشابهة تؤدي إلى ازدحام الوثائق—تأثيرًا شديدًا في عمليات التطوير من خلال تقليل الكفاءة والإنتاجية. باختصار، إنشاء واجهة برمجة تطبيقات جديدة ليست جديدة بالفعل قد يؤدي إلى إهدار الوقت والموارد. يمكن أن يقلل اكتشاف واجهة برمجة التطبيقات المناسبة ووثائق واجهة برمجة التطبيقات من فرصة تكرار واجهة برمجة التطبيقات. إذا كان من السهل العثور على وثائق للعجلة، فلا داعي لإعادة اختراعها.
من خلال استخدام أدوات اكتشاف واجهات برمجة التطبيقات لاكتشاف واجهات برمجة التطبيقات وإنتاج وثائق واجهة برمجة تطبيقات شاملة وموثوقة، يمكن للمطورين فهم التطبيقات والخدمات الحالية (الداخلية والخارجية) التي يمكنهم الوصول إليها ودمجها بصورة أفضل. من خلال استخدام الخدمات والوظائف الموجودة مسبقًا، يمكن للمطورين تسريع الإنتاج وتوسيع قدرات التطبيق وتقليل الوقت اللازم للتسويق.
يتيح اكتشاف واجهة برمجة التطبيقات إنشاء مخزون من واجهات برمجة التطبيقات والذي يساعد المطورين على تحديد موقع الخدمات الحالية واستخدامها. هذا له فائدة إضافية تتمثل في تشجيع المطورين على دمج بيانات التطبيق وخدماته من خلال توفير قائمة من الخيارات.
يتيح اكتشاف واجهة برمجة التطبيقات والصيانة المتسقة لكتالوج واجهة برمجة التطبيقات للفرق العثور على واجهات برمجة التطبيقات الموجودة بسرعة وسهولة. يمكن أن يؤدي ذلك إلى تحسين الكفاءة وتقليل العمل غير الضروري وحتى تحسين مهام سير العمل من خلال تنبيه المطورين إلى القدرات التي ربما لم يدركوها.
يعد الحفاظ على كتالوج واجهة برمجة التطبيقات (API) المحدث طريقة رائعة لمراقبة الأشخاص الذين لديهم حق الوصول إلى البيانات الحساسة مثل معلومات المستخدم ومفاتيح واجهة برمجة التطبيقات (API). من خلال استخدام اكتشاف واجهة برمجة التطبيقات للعثور على جميع واجهات برمجة التطبيقات التي تصل إلى البيانات الحساسة، يمكن لمالك التطبيق مراقبة من لديه حق الوصول إلى ماذا بسهولة أكبر والتأكد من أن واجهات برمجة التطبيقات والتطبيقات تلتزم بجميع القوانين والإرشادات المعمول بها. هذا أمر حيوي خاصةً نظرًا إلى انتشار واجهات برمجة التطبيقات الظلية.
ينطوي اكتشاف واجهات برمجة التطبيقات على الكشف عن العديد من التفاصيل المختلفة حول واجهات برمجة التطبيقات—نوع واجهات برمجة التطبيقات، وما الذي تقوم به، وما البيانات التي يمكنها الوصول إليها وغير ذلك الكثير—والتي تساعد المطورين على تحديد واجهات برمجة التطبيقات التي تستخدمها المؤسسة وفهمها بصورة أفضل. ينتج عن اكتشاف واجهات برمجة التطبيقات معلومات حول واجهات برمجة التطبيقات، بما في ذلك:
البروتوكول والبنية وتنسيقات البيانات المدعومة: تساعد عملية الاكتشاف على توثيق واجهات برمجة تطبيقات البروتوكول أو البنية (مثل REST أو GraphQL أو SOAP أو RPC) وتنسيقات البيانات التي تقبلها (مثل JSON وXML وYAML).
نقاط نهاية واجهة برمجة التطبيقات: هي موقع مخزن معين للبيانات أو الخدمات، تُمثل عادةً كعنوان URL.
المصادقة: غالبًا ما تُأمَّن واجهات برمجة التطبيقات بحيث لا يمكن الوصول إليها إلا من قِبل العملاء والمشاريع والمستخدمين المعترف بهم. يساعد اكتشاف واجهة برمجة التطبيقات في الكشف عن مواصفات المصادقة.
الطرق والمعلمات: يكشف اكتشاف واجهة برمجة التطبيقات عن الإجراءات المدعومة مثل GET وPUT وDELETE وPOST والمعلمات التي تقبلها واجهة برمجة التطبيقات.
يمكن أن يؤدي اكتشاف واجهة برمجة التطبيقات دورًا رئيسيًا في تعزيز أمن واجهة برمجة التطبيقات. يمنح التوثيق المناسب لواجهة برمجة التطبيقات وإدارة واجهة برمجة التطبيقات (API) أصحاب التطبيق رؤية شاملة لاستخدام واجهة برمجة التطبيقات، ما يسهل اكتشاف الثغرات الأمنية. ومن ثَمَّ، يمكن لمالك التطبيق أو المطور إصلاح أي مشكلات محتملة.
تتمثل إحدى أهم الطرق التي يُسهم بها اكتشاف واجهة برمجة التطبيقات في أمن واجهة برمجة التطبيقات في تحديد موقع واجهات برمجة التطبيقات المخفية.
مصطلح "مخفي" ليس دقيقًا تمامًا، حيث إن واجهة برمجة التطبيقات المخفية ليست بالضرورة خبيثة. بدلاً من ذلك، تشير "واجهة برمجة التطبيقات المخفية" إلى واجهات برمجة التطبيقات غير الموثقة وغير المضمنة في وثائق واجهات برمجة التطبيقات. هناك الكثير من واجهات برمجة التطبيقات المخفية غير الضارة على الإطلاق، مثل ميزات التمرير اللانهائي أو العديد من ميزات الإكمال التلقائي في حقول نصوص تطبيقات الويب.
ومع ذلك، حتى واجهات برمجة التطبيقات المخفية غير الضارة يمكن أن تسبب مشكلات محتملة لفرق الأمن. لن تخضع واجهات برمجة التطبيقات المخفية، كونها مستثناة من الحلول الأمنية، للتدابير التنظيمية والأمنية المعتادة للتطبيقات مثل جدار الحماية. هناك العديد من الأنواع المختلفة من واجهات برمجة التطبيقات المخفية، بدءًا من المنسية فقط إلى ضارة بالفعل، وهذا هو السبب في أن عملية اكتشاف واجهة برمجة التطبيقات مهمة للغاية.
على الرغم من أنها ليست ضارة بالضرورة، فإن واجهات برمجة التطبيقات الظلية تعرف على أنها واجهات برمجة للتطبيقات التي لا تتولى الجهة المستخدمة لها إدارتها أو تأمينها. ومن دون رؤية واجهة برمجة التطبيقات، فإنها توجد خارج نطاق أمن المؤسسة وتكون عرضة للهجوم.
وجد تقرير صادر في عام 2022 أن حوالي 31% من المعاملات الضارة تستهدف واجهات برمجة التطبيقات الظلية، ما يجعلها تشكل خطرًا أمنيًا ملحوظًا. يمكن لهجمات واجهة برمجة التطبيقات التي تستهدف واجهات برمجة التطبيقات الظلي تعريض البيانات الحساسة مثل معلومات المستخدم أو معرفة الملكية للخطر، ما يجعل الأمن السيبراني سببًا كبيرًا لاستخدام تقنيات اكتشاف واجهة برمجة التطبيقات الجيدة. كما أن فرق الأمن غير قادرة على توفير تصحيحات أمان لواجهات برمجة التطبيقات التي لا يعرفونها، ما يعني أن واجهات برمجة التطبيقات الظلية يمكن أن تحتوي على ثغرات أمنية غير معروفة للجميع باستثناء المخترقين الأذكياء. يمكن أن يؤدي ذلك إلى توسيع سطح الهجوم، أو السبل المتاحة للجهات الفاعلة السيئة.
تنشأ واجهات برمجة التطبيقات الظلية من جميع أنواع الأخطاء والإهمال في سياسة الأمن. قد ينسى بعض المطورين ببساطة، أو لا يهتمون بما فيه الكفاية، باستخدام وثائق واجهة برمجة التطبيقات المناسبة. في بعض الأحيان تُزال واجهات برمجة التطبيقات القديمة من الوثائق على الرغم من أنها لا تزال موجودة. تشتهر عمليات اندماج الشركات أيضًا بإنتاج الكثير من واجهات برمجة التطبيقات الظلية. في بعض الأحيان، ينشئ المطورون واجهات برمجة تطبيقات ظلية لأغراض الاختبار، أو لحالات استخدام صغيرة جدًا مخصصة ولا يكلفون أنفسهم عناء تنبيه فرق الأمن بوجودها.
أحد الأنواع المختلفة قليلاً من واجهات برمجة التطبيقات المخفية هو واجهة برمجة تطبيقات الزومبي، وهي واجهة برمجة تطبيقات تم نسيانها ولكن لم يتم مسحها. قد تكون واجهات برمجة التطبيقات الزومبي قد تم تأمينها وصيانتها بشكل صحيح في مرحلة ما، ولكنها تُركت منذ ذلك الحين لتبقى مهملة، وربما غير معروفة حتى لمالك التطبيق الذي أنشأها. عادةً لا تحدث واجهات برمجة التطبيقات الزومبي أو تصحح، ولكنها لا تزال توفر بابًا خفيًا إلى حد ما لجزء من نظام التطبيق.
يمكن أن تختلف مصطلحات واجهات برمجة التطبيقات المارقة من مؤسسة إلى أخرى؛ فالبعض يستخدم مصطلح "واجهة برمجة التطبيقات الظلية" و"واجهة برمجة التطبيقات المارقة" بالتبادل، بينما يستخدم آخرون مصطلح "واجهة برمجة التطبيقات المارقة" للإشارة إلى واجهات برمجة التطبيقات الخبيثة عمدًا.
ممارسات اكتشاف واجهة برمجة التطبيقات الناجحة متسقة وموثقة جيدًا وموحدة. يمكن أن يساعد اتباع هذه المبادئ المطورين—الداخليين والخارجيين، اليوم وفي المستقبل—على الاستخدام الفعال والآمن لواجهات برمجة التطبيقات.
التوحيد: يمكن أن يؤدي استخدام المواصفات والبروتوكولات القياسية مثل مواصفات OpenAPI (OAS) وREST وGraphQL إلى تحسين اكتشاف واجهة برمجة التطبيقات وتوافق واجهة برمجة التطبيقات ومساعدة المستهلكين على اكتساب فهم سريع لواجهات برمجة التطبيقات.
التوثيق: يمكن اكتشاف واجهات برمجة التطبيقات ذات الوثائق القوية والموحدة بسهولة أكبر، وهو ما يمكن أن يؤتي ثماره في التكامل والتعاون والإدارة. كلما كانت الوثائق أفضل، كان من الممكن استخدام المزيد من واجهات برمجة التطبيقات وتحسينها.
الاتساق: من المهم إجراء اكتشاف واجهة برمجة التطبيقات بانتظام، حيث يمكن إضافة واجهات برمجة التطبيقات وتحديثها وإيقافها باستمرار؛ وهذه ليست مهمة لمرة واحدة. يمكن للأنظمة الآلية أن تجعل هذا الأمر أسهل، لكن الاكتشاف اليدوي المنتظم فعال أيضًا.
هناك العديد من أدوات اكتشاف واجهات برمجة التطبيقات المختلفة، بدءًا من أدوات اكتشاف واجهات برمجة التطبيقات اليدوية إلى الأدوات التي تعتمد على الأتمتة الكاملة. هناك نقاط قوة وضعف لكل منهما.
شارك العديد من المطورين في شكل من أشكال الاكتشاف اليدوي لواجهات برمجة التطبيقات. يمكن أن يتضمن ذلك التدقيق في مصدر الرمز أو مراقبة حركة مرور واجهة برمجة التطبيقات في الوقت الفعلي بحثًا عن الحالات الشاذة. يمكن أن تكون هذه الطرق اليدوية، إذا كان فريق الأمن يعرف بالضبط ما يبحث عنه، أسرع وأكثر مباشرة من الطرق الآلية. ولكن على وجه العموم، يكون اكتشاف واجهة برمجة التطبيقات اليدوي أبطأ وأقل كفاءة ويميل إلى تفويت واجهات برمجة التطبيقات المخفية الأكثر دقة وقد يتطلب معرفة أكثر تقدمًا.
هناك العديد من أدوات اكتشاف واجهات برمجة التطبيقات المتخصصة والآلية. API gateway، على سبيل المثال، هي "وسيط" مركزي يستقبل ويوجه استدعاءات واجهة برمجة التطبيقات. تساعد البوابات على فهرسة واجهات برمجة التطبيقات ومراقبتها وعادة ما تقوم بالكثير من عمليات اكتشاف واجهة برمجة التطبيقات كجزء من وظيفتها.
هناك خدمات حماية واجهات برمجة تطبيقات متخصصة أخرى توفر اكتشافًا تلقائيًا لواجهة برمجة التطبيقات. عند البحث عن مثل هذه الخدمة، من الشائع البحث عن مزود يوفر وضعًا أمنيًا قويًا، وامتثالاً للمعايير المعروفة (مثل مواصفات OpenAPI، ومنع الوقوع ضحية لأهم 10 مخاطر أمنية لواجهة برمجة التطبيقات وفق OWASP) وتكاملاً سهلاً مع منصة المؤسسة.
يمكن أن تجعل الأتمتة تحسين دورة حياة واجهة برمجة التطبيقات أكثر كفاءة وتضمن أن تكون واجهات برمجة التطبيقات الآمنة فقط هي التي يمكنها الوصول إلى تطبيقات البرامج والموارد المرتبطة بها.
تمكين تكامل ديناميكي وقابل للتوسّع يتكيّف مع احتياجات الأعمال المتغيّرة. أتمتة مدعومة بالذكاء الاصطناعي ومبنية على واجهات برمجة التطبيقات (APIs)
أطلِق العنان لإمكانات الأعمال مع حلول التكامل من IBM، والتي تربط التطبيقات والأنظمة للوصول إلى البيانات الحساسة بسرعة وأمان.
استفد من السحابة الهجينة إلى أقصى قيمة في عصر الذكاء الاصطناعي الوكيل