FixVibe
Covered by FixVibemedium

API Контрольний список безпеки: 12 речей, які слід перевірити перед запуском

API є основою сучасних веб-додатків, але їм часто не вистачає суворості безпеки традиційних інтерфейсів. У цій дослідницькій статті викладено важливий контрольний список для захисту API, зосереджуючись на контролі доступу, обмеженні швидкості та спільному використанні ресурсів між джерелами (CORS), щоб запобігти витоку даних і зловживанню послугами.

CWE-285CWE-799CWE-942

Вплив

Зламані 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 лише для декодування, прогалини в підписах вебхуку та проблеми із залежностями.