الحماية السلوكية لواجهة برمجة التطبيقات
مقدمة
يلعب النمو في واجهات برمجة التطبيقات (APIs) دورًا محوريًا في تمكين الاتصال السلس بين التطبيقات والخدمات المختلفة. ومع ذلك، مع الاستخدام المتزايد لواجهات برمجة التطبيقات، تزداد أيضًا مخاطر التهديدات الأمنية وإساءة الاستخدام من قبل الجهات الفاعلة الضارة. يعتمد الأمان القديم وإدارة الروبوتات لواجهات برمجة التطبيقات على تحديد معدل واجهة برمجة التطبيقات وحده.
لماذا؟ لا يعمل اكتشاف بصمة الروبوت، الذي يبحث عن علامات نشاط الروبوت من بصمة الجهاز الفعلية، على واجهات برمجة التطبيقات لأن جميع حركة المرور إلى واجهة برمجة التطبيقات تتم تلقائيًا. لا يوجد بشر. لذا فإن الخيار الوحيد هو تدهور خدمة API لجميع المستخدمين.
يحتوي VerifiedVisitors على أحدث تقنيات الكشف السلوكي القائم على التعلم الآلي، والذي بدلاً من مجرد تعطيل خدمة API لجميع المستخدمين، يكتشف بدلاً من ذلك حركة المرور المسيئة التي تنقيب عن البيانات أو تتطلع إلى إلغاء خدمة API بأكملها بشكل منهجي. يتيح ذلك للمستخدمين الشرعيين الوصول عند الطلب دون تحديد السعر، ولكنه يضمن إيقاف المسيئين للخدمة.
تحديد معدل API ما هو تحديد معدل API؟
تحديد معدل API هو آلية تقيد عدد الطلبات التي يمكن للتطبيق أو المستخدم تقديمها إلى واجهة برمجة التطبيقات ضمن إطار زمني محدد. من خلال تطبيق حدود الأسعار، فإنك تضمن أن كيانًا واحدًا لا يمكنه إرباك خادم API بالطلبات المفرطة، وبالتالي منع إساءة الاستخدام المحتملة وهجمات رفض الخدمة والحمل الزائد للخادم. عادةً ما يتم تعيين حد المعدل عبر واجهة برمجة التطبيقات بأكملها.
لماذا لا يعمل تحديد معدل API
1. تحسين الأمان
يعد تحديد معدل API نفسه بمثابة عقبة لجميع عملائك. ما نحتاجه هو كاشف روبوت سلوكي، يمكنه التمييز بين الاستخدام العادل والعادي، لإلغاء البيانات بشكل منهجي و إساءة استخدام واجهة برمجة التطبيقات من الخدمة. يعمل اكتشاف الروبوتات القائم على السلوك كرادع قوي ضد الروبوتات الضارة التي تحاول الوصول إلى البيانات الحساسة أو استغلال الثغرات الأمنية في نظامك. تحديد أنماط حركة المرور المشبوهة وحظرها، يعني أنه يمكنك معاقبة Aمتعاطي الملكية الفكرية، مما يترك للغالبية العظمى من المستخدمين الشرعيين حرية استخدام الخدمة دون قيود مصطنعة.
دراسة حالة
- Brent هو مطور مجتهد مسؤول عن خدمة API كبيرة للتجارة الإلكترونية. كانت الخدمة شائعة جدًا، وكان ذلك رائعًا، لكنه سرعان ما أصبح قلقًا بشأن الزيادات الكبيرة في حركة مرور API التي بدأت في إبطاء الأداء العام. أصبحت الزيادات أكثر كثافة، وبدأت أخيرًا في التسبب في انقطاع الخدمة مما كان يؤثر على العملاء. عرف برنت أن واجهة برمجة التطبيقات مصممة جيدًا (قام ببنائها بنفسه) وقد واجه الكثير من المتاعب لتوسيع نطاق الخدمة وتصميم المخطط وضمان تحسين الاستعلامات للمستخدمين. ومع ذلك، كان مصدر البيانات عبارة عن قاعدة بيانات قديمة داخل الشركة لا يمكن ترحيلها كخدمة سحابية مرنة.
- كافح برنت لعدة أشهر حيث أدت حركة مرور الروبوتات الآلية باستمرار إلى زيادة مجموعة البيانات بأكملها. تعطلت واجهة برمجة التطبيقات، وبشكل منتظم، بدأت الخدمة المحلية في النضال حقًا. قام برنت بحظر عناوين IP؛ تم تدوير الهجمات للتو. حاول برنت حظر وكلاء المستخدمين؛ مرة أخرى، قاموا فقط بالتناوب أو الاختباء في وكلاء المستخدمين العاديين الذين كانوا سيحظرون حركة المرور المشروعة. قام Brent بتخفيض بدل استعلام API شهريًا؛ ثم حدد السعر الخدمة بأكملها. مهما حاول، تكيفت الروبوتات الآلية بسرعة. لقد تجاوزت الروبوتات الآلية ببساطة حد الحد الأقصى للمعدل واستغرقت أيامًا فقط لجمع جميع البيانات بشكل منهجي، مع التأثير باستمرار على المستخدمين الشرعيين. في بعض الأحيان كان عليه أن يجعل واجهة برمجة التطبيقات غير متصلة بالإنترنت.
- بالإحباط، بحث برنت عن طريقة أفضل ووجد خدمة VerifiedVisitors.
- تتخذ منصة VerifiedVisitors ML نهجًا مختلفًا جذريًا. قمنا بمراقبة نقطة نهاية API الخاصة بـ Brent على مدار 5 أيام، وبدأ كاشف نقطة نهاية API الخاص بنا في العمل للتعلم من أنماط سلوك الزائر. يتم تزاوج كل حركة المرور إلى واجهة برمجة التطبيقات تلقائيًا، لذا فإن بصمات الأصابع التقليدية أو المصدر الرقمي أو حلول سمعة IP لا تعمل لأن الروبوتات الضارة تقوم بتدوير عناوين IP ووكلاء المستخدم باستمرار. بدلاً من ذلك، استخدم ML السلوك الفعلي للروبوتات نفسها لالتقاط أنماط زراعة البيانات المستدامة عبر واجهة برمجة التطبيقات بأكملها. باستخدام عمال الخدمة الأذكياء على حافة الشبكة، يمكن لـ VerifiedVisitors التقاط حركة المرور الآلية وحظرها قبل أن تصل إلى واجهة برمجة التطبيقات.
- تم حل الصداع لمدة 12 شهرًا. مرة واحدة وإلى الأبد.
كيف يعمل تحديد معدل API السلوكي
يتيح لنا فحص المسارات من خلال واجهة برمجة التطبيقات وتحديد سلوك كل زائر آلي في التعلم الآلي تطوير رسم بياني عالي المستوى يوضح العلاقات بين كل عنصر من العناصر السلوكية. في الرسم البياني أدناه، يمكننا متابعة مجموعات السلوك الطبيعي واكتشاف القيم المتطرفة. عادةً ما نتطلع إلى اكتشافه في واجهات برمجة التطبيقات هو الفرق بين إساءة استخدام البيانات المنهجية للخدمة ومظاهر واجهة برمجة التطبيقات الأصلية عند الطلب. ميزة القيام بذلك على حافة الشبكة ضخمة. لا تحتاج واجهة برمجة التطبيقات إلى أي طبقات برامج إضافية، أو تتكامل مع إساءة استخدام واجهة برمجة التطبيقات أجهزة الكشف. يحدث كل ذلك في السحابة، لذلك لا حاجة إلى هندسة إضافية على واجهة برمجة التطبيقات.
الاستقرار والأداء
من خلال الوقاية إساءة استخدام واجهة برمجة التطبيقات، يضمن اكتشاف سلوك الروبوت أداءً مستقرًا ومتسقًا لخدماتك. إنه يخصص موارد عادلة للمستخدمين الشرعيين، ويتجنب تدهور الخدمة بسبب الطلبات المفرطة على خوادم API، ويحظر الخدمة على المسيئين.
تحسين التكلفة
من خلال اكتشاف الروبوتات السلوكية لواجهة برمجة التطبيقات، يمكنك تحسين تكاليف البنية التحتية للخادم من خلال استخدام الموارد بكفاءة بناءً على الاحتياجات الفعلية للمستخدمين الحقيقيين. هذا يمنع استهلاك النطاق الترددي غير الضروري وتكاليف توسيع البنية التحتية من عمال مناجم البيانات والمسيئين المتسلسلين لخدمتك.
تنفيذ تحديد معدل API
عادةً ما يؤدي التخلص من حركة مرور API المسيئة إلى نمط حركة مرور أكثر توازناً. ومع ذلك، إذا كنت حقًا بحاجة إلى تطبيق API Rate Limiting، بسبب الأجهزة أو قيود التكلفة أو ببساطة لأنك لا تريد إنفاق أي وقت أو أموال على التطوير الإضافي، فإن تحديد المعدل وحده يعد خيارًا جيدًا، طالما أنك سعيد بتدهور الخدمة الشاملة لجميع المستخدمين وفقًا لذلك.
ثلاث طرق شائعة لتحديد معدل API
- 1. خوارزمية مجموعة الرموز
- تعد خوارزمية Token Bucket طريقة مستخدمة على نطاق واسع لتحديد المعدل. يقوم بتعيين الرموز المميزة لكل مستخدم، مما يمثل عدد الطلبات المسموح بها خلال فترة زمنية معينة. عندما يقدم المستخدم طلبًا، يتم استهلاك الرمز المميز. بمجرد استنفاد الرموز، يجب على المستخدم الانتظار حتى يتم إنشاء رموز جديدة لتقديم طلبات إضافية.
- 2. عدادات النوافذ الثابتة
- تفرض عدادات النوافذ الثابتة حدًا صارمًا على عدد الطلبات التي يمكن للمستخدم إجراؤها خلال فترة زمنية محددة مسبقًا. في حالة تجاوز الحد، يتم حظر الطلبات اللاحقة حتى تتم إعادة تعيين النافذة.
- 3. سجل النافذة المنزلقة
- يأخذ نهج Sliding Window Log في الاعتبار نافذة زمنية متجددة لحساب عدد الطلبات التي قدمها المستخدم. يوفر تحكمًا أكثر دقة في تحديد المعدل من خلال السماح بدفعات معينة من الطلبات طالما أن متوسط السعر ضمن الحد المحدد.
الخاتمة
واجهة برمجة التطبيقات السلوكية كشف البوت هو جانب أساسي من إدارة الروبوتات وأمن الويب الذي لا ينبغي تجاهله. من خلال التنفيذ الفعال لحماية الروبوتات السلوكية الديناميكية، يمكنك تعزيز دفاعاتك عبر الإنترنت وتحسين الأداء وتعزيز بيئة آمنة وفعالة لمستخدمي API. يعد تبني اكتشاف الروبوتات السلوكية كجزء من استراتيجية الأمان الأوسع خطوة استباقية نحو حماية أصولك الرقمية في مشهد التهديدات المتطور باستمرار.
صورة بواسطة فاوستو ماركيز في أونسبلاش