Атака відмови в обслуговуванні AI
Launch a denial-of-wallet attack against an unprotected AI API.
Що ви дізнаєтесь у Атака відмови в обслуговуванні AI
- Визначити вектори вичерпання ресурсів, специфічні для AI API, включаючи зловживання контекстним вікном, рекурсивну генерацію та флуд паралельних запитів
- Простежити шлях ескалації витрат від сформованих промптів через споживання обчислень до впливу на хмарний рахунок
- Застосовувати обмеження швидкості, валідацію вводу та ліміти токенів виводу до ендпоінтів AI-сервісів для запобігання необмеженому споживанню
- Оцінити бюджетний контроль, оповіщення про витрати та механізми автоматичного дроселювання, що обмежують витрати на AI-сервіс під час атак
- Розрізняти легітимні патерни високого споживання AI та адверсаріальні спроби вичерпання ресурсів за допомогою моніторингу та виявлення аномалій
Атака відмови в обслуговуванні AI — Кроки навчання
-
Налаштування сканування
Боб відкриває інформаційну панель сканування облікових даних – інструмент, який відстежує загальнодоступні сховища коду на наявність відкритих ключів API, маркерів і хмарних секретів. Він збирається націлитися на громадську організацію GitHub CypherPeak Technologies.
-
Запуск сканування
Боб вводить URL-адресу організації CypherPeak на GitHub у сканер і починає перевірку облікових даних у всіх їхніх загальнодоступних сховищах.
-
Критичний висновок
Сканер проаналізував 847 сховищ і 12 403 останні коміти. Серед шести знайдених секретів один виділяється: робочий ключ OpenAI API, відкритий у конфігураційному файлі, закріпленому лише кілька хвилин тому для проекту шлюзу ШІ CypherPeak.
-
Перевірка коміту
Боб переходить до вихідного коміту, щоб перевірити відкритий обліковий запис у його вихідному контексті. GitHub commit diff показує повний файл конфігурації з ключем API у вигляді звичайного тексту.
-
Розкритий ключ API
Різниця фіксації розкриває робочий ключ API, жорстко закодований безпосередньо у файлі конфігурації Python. Цей ключ надає повний доступ до API платформи штучного інтелекту CypherPeak без обмежень швидкості чи бюджету.
-
Підготовка атаки
Боб відкриває термінал, щоб перевірити, чи викрадений ключ API досі активний. Якщо ключ працює і не має обмеження швидкості, він може запустити атаку на відмову в гаманці, щоб виснажити весь бюджет ШІ CypherPeak.
-
Перевірка вкраденого ключа
Боб надсилає простий запит API, використовуючи вкрадений ключ, щоб перевірити його роботу. Успішна відповідь без заголовків обмеження швидкості підтвердить, що ключ можна використовувати.
-
Ключові роботи
API відповідає успішно. Відповідь підтверджує, що ключ дійсний – і важливо те, що обидва поля rate_limit і budget_cap мають значення null . На цьому ключі немає жодного захисту.
-
Початок атаки
Ключ працює і без захисту. Боб запускає автоматизований сценарій атаки, який надсилає сотні ретельно розроблених рекурсивних підказок розширення, кожен з яких призначений для споживання максимум 32 768 токенів на запит, через 50 одночасних потоків.
-
Атака триває
Сценарій атаки ініціалізує 50 одночасних робочих потоків, кожен з яких надсилає рекурсивні підказки розширення при максимальному виведенні маркера. За кілька секунд вартість сягає 12,40 доларів США за хвилину – понад 700 доларів США за годину.