Unrestricted Access to Sensitive Business Flows
وصول غير مقيّد لتدفقات الأعمال الحساسة Unrestricted Access to Sensitive Business Flows
API6:2023 — فئة جديدة كليًا: API يعرّض عملية أعمال حساسة (شراء، حجز، تسجيل) دون أي حماية من الاستخدام الآلي المفرط، حتى لو كان كل شيء آخر مؤمّنًا تقنيًا.
هذه الثغرة مختلفة عن باقي القائمة — لا يوجد بها بالضرورة خطأ برمجي، المشكلة منطق أعمال. مثال: API لشراء تذاكر أو منتجات محدودة الكمية بلا أي رادع أمام بوت يشتري كل الكمية خلال ثوانٍ لإعادة بيعها (Scalping)، أو API تسجيل حسابات بلا حد يُستغل لإنشاء آلاف الحسابات الوهمية لاستغلال برنامج إحالة (Referral).
الحماية لها طبقتان: طبقة أعمال (تحديد أي التدفقات حساسة أصلًا) وطبقة هندسية (آليات كشف السلوك غير البشري).
الصياغة
لا يوجد نمط كود واحد — الحل مزيج من: بصمة الجهاز، CAPTCHA، تحليل سلوكي، وحدود معدل مخصصة للتدفق
📄 مثال
// مثال: حد صارم على معدل الشراء لكل مستخدم/جهاز، مختلف عن Rate Limit العام للـ API
const purchaseLimiter = rateLimit({
windowMs: 60 * 1000,
max: 1, // عملية شراء واحدة بالدقيقة لكل مستخدم
keyGenerator: (req) => req.user.id,
});
app.post('/api/checkout', authenticate, purchaseLimiter, checkoutHandler);
// كشف تسجيل حسابات آلي: طلب تحقق بريد إلزامي + حد لعدد الحسابات لكل IP باليوم
app.post('/api/register', ipRateLimit({ max: 5, windowMs: 24 * 60 * 60 * 1000 }), registerHandler);أهم النقاط
| النقطة | الوظيفة |
|---|---|
| أمثلة شائعة | Scalping (شراء آلي لإعادة البيع)، تلاعب بحجوزات الطيران، إساءة استخدام برامج الإحالة |
| طبقة الأعمال | حدّد مع الفريق أي عمليات تسبب ضررًا ماليًا/تشغيليًا لو أُسيء استخدامها آليًا |
| طبقة الهندسة | بصمة الجهاز، CAPTCHA أو تحقق بيومتري، تحليل الأنماط غير البشرية، حظر IP لعُقد Tor والبروكسيات المعروفة |
💡 نصائح عملية
- لا يكفي حماية الواجهة الرسومية — تأكد أن الـ API نفسه (لا الموقع فقط) محمي من نفس الإساءة
⚠️ أخطاء شائعة
- الظن أن Rate Limiting العام على مستوى الـ IP كافٍ — مهاجم محترف يوزّع الطلبات على مئات الـ IPs
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار API-SECURITY الكامل بالعربي.