Gartner חזה שעד 2025, APIs יהיו וקטור ה-Attack מספר 1 לאפליקציות Web. בפועל, זה כבר קרה. Peloton, T-Mobile, LinkedIn – כולן נפגעו בגלל API לא מאובטח. ב-SaaS שמציע API ל-B2B לקוחות, פגיעות API אחת יכולה לחשוף את כל נתוני הלקוחות.
OWASP API Top 10 – 2023
- 1BOLA (Broken Object Level Authorization) – "תן לי לגשת לאובייקטים של משתמשים אחרים"
- 2Broken Authentication – Token חלש, JWT ללא Signature, Session לא מבוטל
- 3Broken Object Property Authorization – שדות שהמשתמש לא אמור לראות מוחזרים ב-Response
- 4Unrestricted Resource Consumption – אין Rate Limiting, Request Size Limit
- 5Broken Function Level Authorization – IDOR על פעולות Admin
- 6Unrestricted Access to Sensitive Business Flows – ביצוע פעולות ב-Scale (Bot Attacks)
- 7Server Side Request Forgery (SSRF) – שליחת בקשות פנימיות דרך ה-API
- 8Security Misconfiguration – CORS פתוח, Debug מופעל, Headers חסרים
- 9Improper Inventory Management – APIs ישנים ולא מתועדים עדיין זמינים
- 10Unsafe Consumption of APIs – סמיכות עיוורת על API חיצוני לא מאובטח
בקרות ליישום
- API Gateway (Kong, AWS API GW, Azure APIM) – Rate Limiting, Auth centralized, Logging
- OAuth 2.0 + JWT עם RS256 – Token signing קריפטוגרפי, Expiry קצר, Refresh Rotation
- Object-Level Authorization – וודאו לכל endpoint שהמשתמש מורשה לגשת לאובייקט הספציפי
- Response Filtering – Return only fields the user is authorized to see (never return raw DB rows)
- API Inventory – Swagger/OpenAPI תמיד מעודכן, Deprecated APIs מוסרות
- DAST on APIs – OWASP ZAP, Burp Suite Pro על כל ה-API endpoints ב-CI/CD
BOLA היא הפגיעות הנפוצה ביותר ב-APIs – ועם הכי קל לניצול. הפתרון: בכל Request שכולל resource_id, וודאו ב-Backend שהמשתמש הנוכחי הוא הבעלים של אותו resource. לא לסמוך על Frontend בלבד.
