Атака відмови в обслуговуванні AI

Launch a denial-of-wallet attack against an unprotected AI API.

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

AI-сервіси споживають обчислювальні ресурси з швидкістю, яка робить традиційну економіку відмови в обслуговуванні дешевою в порівнянні. Один складний промпт до великої мовної моделі може коштувати в 100-1000 разів більше для обробки, ніж стандартний вебзапит, що робить AI API особливо вразливими до атак вичерпання ресурсів. У 2024 році кілька організацій повідомили про інциденти 'denial-of-wallet', де зловмисники експлуатували AI-ендпоінти для генерації п'яти- та шестизначних хмарних рахунків протягом годин. У цій симуляції ви виявляєте AI-ендпоінт API, відкритий вашою організацією. Ви формуєте серію промптів, розроблених для максимізації споживання ресурсів: надзвичайно довгі вводи, що випробовують ліміти контекстного вікна, рекурсивні запити на генерацію, що створюють масивні виводи, та паралельні запити, що перевантажують інфраструктуру інференсу. Ви спостерігаєте в реальному часі, як панель хмарних витрат зростає з доларів до тисяч, час відповіді API погіршується з мілісекунд до хвилин, а легітимні користувачі втрачають доступ до AI-сервісу повністю. Вправа демонструє як зовнішні атаки, де неавторизована сторона виявляє та зловживає ендпоінтом, так і сценарії внутрішнього зловживання, де авторизований користувач випадково чи навмисно провокує надмірне споживання. Ви навчитеся впроваджувати багаторівневий захист: валідацію довжини вводу, ліміти токенів виводу, обмеження швидкості на рівні користувача та сесії, ліміти витрат та оповіщення, чергу запитів з пріоритетними рівнями та панелі моніторингу, що виявляють аномалії споживання до того, як витрати вийдуть з-під контролю. Симуляція робить фінансовий вплив відчутним, показуючи саме те, як кожен захисний контроль зменшує радіус ураження атаки необмеженого споживання.

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

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

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

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

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

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

  3. Критичний висновок

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

  4. Перевірка коміту

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

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

    Різниця фіксації розкриває робочий ключ API, жорстко закодований безпосередньо у файлі конфігурації Python. Цей ключ надає повний доступ до API платформи штучного інтелекту CypherPeak без обмежень швидкості чи бюджету.

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

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

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

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

  8. Ключові роботи

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

  9. Початок атаки

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

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

    Сценарій атаки ініціалізує 50 одночасних робочих потоків, кожен з яких надсилає рекурсивні підказки розширення при максимальному виведенні маркера. За кілька секунд вартість сягає 12,40 доларів США за хвилину – понад 700 доларів США за годину.