Матеріал редакції
30 вересня 2026
Кібер безпека • • 1719 переглядів

Тіньові API та вразливості BOLA: чому відкриті бекенди стали головною точкою зламу бізнесу

Тіньові API та вразливості BOLA: чому відкриті бекенди стали головною точкою зламу бізнесу

Більшість компаній навчилися надійно закривати класичний периметр: бази даних сховані за фаєрволами, порти заблоковані, а прямий доступ до серверів суворо обмежений. Проте понад 80% сучасного веб-трафіку генерують API — інтерфейси взаємодії між мобільними додатками, фронтендом на SPA та мікросервісами. Саме через приховані та неперевірені ендпоінти сьогодні відбувається левова частка витоків конфіденційної інформації.

Традиційні фаєрволи веб-додатків (WAF) не бачать цієї загрози: хакер надсилає синтаксично коректний JSON-запит без SQL-ін'єкцій чи шкідливого коду. Захист пропускає його, а сервер слухняно віддає дані тисяч клієнтів. Розглянемо, чому виникають «тіньові» API, як працює найпоширеніша вразливість BOLA та як перекрити цей вектор атак.

1. Анатомія загрози: Shadow API та API-зомбі

У процесі швидкої розробки та частих релізів контроль за актуальністю маршрутів бекенду часто втрачається. Це призводить до появи двох критичних категорій незахищених точок входу:

  • Zombie API (Забуті версії): Команда оновлює бекенд із версії /api/v1 на /api/v2, додаючи сувору перевірку ролей. Проте стару версію не вимикають, аби не зламати застарілі клієнти. Хакер знаходить старий маршрут і звертається до тієї ж бойової бази даних взагалі без нових обмежень.
  • Shadow API (Тіньові маршрути): Тестові або технічні ендпоінти, створені інженерами для дебагу, міграції бази чи внутрішніх скриптів, які випадково залишили відкритими у публічний контур без авторизації.
  • Витік через мобільні застосунки: Будь-який «приватний» бекенд для iOS чи Android аналізується за кілька хвилин за допомогою декомпіляції або перехоплення трафіку через проксі-утиліти (Burp Suite, mitmproxy).

Чому класичний WAF тут безсилий

Звичайний Web Application Firewall аналізує тіло запиту на наявність відомих патернів атак (XSS, SQLi). Під час експлуатації BOLA запит є цілком валідним з погляду протоколу HTTP. Фаєрвол не знає бізнес-логіки вашого продукту і не може визначити, чи має право користувач «А» дивитися замовлення користувача «Б».

2. Як працює BOLA (Broken Object Level Authorization)

BOLA стабільно посідає перше місце в рейтингу безпеки OWASP API Security Top 10. Механізм зламу базується на банальній відсутності перевірки прав власності на запитуваний об'єкт:

  1. Легітимна авторизація. Зловмисник реєструє звичайний безкоштовний акаунт, входить у систему та перехоплює свій запит замовлення: GET /api/v2/orders/1042. Сервер бачить валідний токен і повертає чек.
  2. Підміна ідентифікатора (IDOR). Зловмисник змінює номер у запиті на 1041 або запускає автоматичний перебір значень від 1 до 100000.
  3. Відсутність валідації контексту. Сервер перевірив лише факт: «чи валідний токен у запиті?» (так, користувач залогінений), але не перевірив: «чи належить замовлення 1041 саме цьому обліковому запису?». У результаті зловмисник вивантажує повну базу замовлень із персональними даними клієнтів.

3. Практичні кроки для захисту API-контуру

Безпека сучасних API вимагає перенесення контролю доступу безпосередньо в бізнес-логіку обробки запитів:

  • Єдиний шлюз та інвентаризація (API Gateway): Закрийте прямий доступ до сервісів ззовні. Усі запити мають проходити крізь шлюз (Kong, Traefik, AWS API Gateway), де не задокументовані в OpenAPI/Swagger маршрути блокуються за замовчуванням.
  • Валідація зв'язку користувача та об'єкта: Контроль доступу на рівні об'єкта повинен виконуватися всередині кожного контролера. Запити до бази даних повинні містити жорстку фільтрацію за власником: WHERE order_id = ? AND user_id = current_auth_user.
  • Використання випадкових UUID замість інкрементних ID: Заміна порядкових номерів (1, 2, 3) на криптографічні UUID v4 унеможливлює швидкий масовий перебір бази методом простого перелічення.
  • Агресивний Rate Limiting на рівні акаунта: Обмежуйте частоту запитів не лише за IP-адресою (яку легко ротувати через ботнети), а й за унікальним JWT/ідентифікатором користувача.

Підсумок

У часи мікросервісів API — це не просто міст між сервером і клієнтом, а головне вікно у ваші бази даних. Безпека продукту залежить не від приховування ендпоінтів, а від повної інвентаризації кожного активного маршруту та суворої перевірки прав доступу до кожного окремого об'єкта.