Атака на відмову в обслуговуванні ШІ

Атака на відмову в обслуговуванні ШІ

Один витеклий API-ключ може витратити ваш бюджет на ШІ за одне пообіддя.

Що таке Атака на відмову в обслуговуванні ШІ?

Кожен виклик великої моделі — це оплачені обчислення, тож незахищений ендпоінт ШІ — це рахунок для витрат, до якого можна дістатися через API. Зловмисникам не треба виводити сервіс з ладу, достатньо тримати його зайнятим. Ви знайдете API-ключ у відкритому коміті й накрутите рахунок повільним струмком найдорожчих промптів, а потім станете на місце захисника: прочитаєте сповіщення про бюджет, простежите, як ростуть вартість і затримка, знайдете запити в журналах консолі, відкличете ключ і задасте обмеження частоти запитів та поріг бюджету.

Що ви дізнаєтесь у Атака на відмову в обслуговуванні ШІ

Атака на відмову в обслуговуванні ШІ — Кроки навчання

  1. Налаштування сканування

    Боб відкриває панель сканера облікових даних — інструмента, що стежить за відкритими репозиторіями коду й шукає розкриті API-ключі, токени та секрети хмарних сервісів. Його ціль — відкрита організація CypherPeak Technologies на GitHub.

  2. Запуск сканування

    Боб вводить у сканер адресу організації CypherPeak на GitHub і запускає пошук облікових даних у всіх її відкритих репозиторіях.

  3. Критична проблема

    Сканер проаналізував 847 репозиторіїв і 12 403 свіжі коміти. Серед шести знайдених секретів один вирізняється: робочий API-ключ OpenAI у файлі конфігурації, який закомітили в проєкт шлюзу ШІ компанії CypherPeak лише кілька хвилин тому.

  4. Огляд коміту

    Боб переходить до вихідного коміту, щоб розглянути розкриті облікові дані в первинному контексті. У diff коміту на GitHub видно весь файл конфігурації, а в ньому — API-ключ відкритим текстом.

  5. Розкритий API-ключ

    У diff коміту видно робочий API-ключ, жорстко закодований просто у файлі конфігурації на Python. Цей ключ дає повний доступ до API платформи ШІ компанії CypherPeak, і до нього не прив'язано ні обмеження частоти запитів, ні бюджетних обмежень.

  6. Підготовка атаки

    Боб відкриває термінал, щоб перевірити, чи викрадений API-ключ досі діє. Якщо ключ працює і для нього не задано обмеження частоти запитів, Боб зможе запустити атаку на виснаження бюджету й вичерпати весь бюджет компанії CypherPeak на ШІ.

  7. Перевірка викраденого ключа

    Боб надсилає простий запит до API з викраденим ключем, щоб переконатися, що той працює. Успішна відповідь без заголовків з обмеженням частоти запитів підтвердить, що ключем можна зловживати.

  8. Ключ працює

    API відповідає успішно. Відповідь підтверджує, що ключ чинний, і, що найважливіше, поля rate_limit та budget_cap обидва мають значення null . Жодного захисту для цього ключа немає взагалі.

  9. Запуск атаки

    Ключ працює, і жодного захисту в нього немає. Боб запускає скрипт автоматичної атаки: той надсилає промпти з рекурсивним розширенням, і кожен розрахований на максимум — 32 768 токенів моделі в одному запиті. Боб запускає лише 3 потоки: частота запитів майже не відрізняється від звичайного трафіку CypherPeak, тож сигналізація за частотою запитів не спрацьовує, а кожен запит коштує якомога дорожче.

  10. Атака триває

    Скрипт атаки запускає 3 потоки, і кожен надсилає промпти з рекурсивним розширенням, вимагаючи максимум токенів у відповіді. Кожен запит генерується приблизно хвилину, тож разом потоки надсилають близько 3 запитів на хвилину. Уже за першу хвилину швидкість витрат сягає 12,40 долара на хвилину — понад 700 доларів на годину.

Охоплення стандартів безпеки

OWASP LLM Top 10

  • LLM06:2026 Unbounded Consumption
  • LLM10:2025 Unbounded Consumption

CWE

  • CWE-770 Allocation of Resources Without Limits or Throttling

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security