Вплив
Зламані API дозволяють зловмисникам обходити інтерфейси користувача та безпосередньо взаємодіяти з серверними базами даних і службами [S1]. Це може призвести до несанкціонованого викрадання даних, захоплення облікового запису за допомогою грубої сили або недоступності служби через вичерпання ресурсів [S3][S5].
Основна причина
Основною причиною є виявлення внутрішньої логіки через кінцеві точки, які не мають достатньої перевірки та захисту [S1]. Розробники часто припускають, що якщо функція не відображається в інтерфейсі користувача, вона безпечна, що призводить до несправності елементів керування доступом [S2] і дозвільних політик CORS, які довіряють занадто багатьом джерелам [S4].
Основний контрольний список безпеки API
- Застосування суворого контролю доступу: кожна кінцева точка повинна перевірити, чи запитувач має відповідні дозволи для конкретного ресурсу, до якого здійснюється доступ [S2].
- Запровадження обмеження частоти: захистіть від автоматизованих зловживань і DoS-атак, обмеживши кількість запитів, які клієнт може зробити протягом певного періоду часу [S3].
- Правильно налаштуйте CORS: уникайте використання джерел підстановки (
*) для автентифікованих кінцевих точок. Чітко визначте дозволені джерела, щоб запобігти міжсайтовому витоку даних [S4]. - Аудит видимості кінцевої точки: регулярно скануйте на наявність «прихованих» або незадокументованих кінцевих точок, які можуть розкрити конфіденційні функції [S1].
Як FixVibe перевіряє це
FixVibe тепер охоплює цей контрольний список за допомогою кількох перевірок у реальному часі. Зонди з активним шлюзом перевіряють обмеження швидкості кінцевої точки автентифікації, CORS, CSRF, впровадження SQL, слабкі сторони потоку автентифікації та інші проблеми, пов’язані з API, лише після перевірки. Пасивні перевірки перевіряють заголовки безпеки, загальнодоступну документацію API і доступ до OpenAPI, а також секрети в пакетах клієнтів. Сканування репо додає перевірку ризиків на рівні коду на небезпечний CORS, необроблену інтерполяцію SQL, слабкі секрети JWT, використання JWT лише для декодування, прогалини в підписах вебхуку та проблеми із залежностями.
