Attaque par déni de service de l'IA
Une clé API divulguée peut dépenser votre budget IA en un après-midi.
Qu'est-ce que Attaque par déni de service de l'IA?
Chaque appel à un grand modèle achète du calcul, donc un point de terminaison d'IA non protégé est un compte de dépenses avec une API devant lui. Les attaquants n’ont pas besoin de supprimer le service, mais simplement de le maintenir occupé. Vous trouverez une clé API dans un commit public et augmenterez la facture avec un lent filet d'invites de coût maximum, puis prendrez la place du défenseur : lisez l'alerte budgétaire, regardez le coût et la latence grimper, suivez les demandes dans les journaux de la console, révoquez la clé et définissez une limite de débit et un seuil de dépenses.
Ce que vous apprendrez dans Attaque par déni de service de l'IA
- Identifiez les vecteurs d'épuisement des ressources spécifiques aux API d'IA, notamment l'abus de fenêtres contextuelles, la génération récursive et l'inondation de requêtes simultanées.
- Suivez le cheminement de l'escalade des coûts, depuis les invites conçues jusqu'à l'impact de la facturation cloud, en passant par la consommation de calcul.
- Appliquez des limites de débit par clé et un seuil de suspension automatique du budget aux points de terminaison du service IA, et expliquez pourquoi des plafonds de jetons de sortie par requête sont également nécessaires lorsqu'un attaquant reste en dessous de la limite de débit.
- Évaluez les contrôles budgétaires, les alertes de dépenses et les mécanismes de limitation automatique qui contiennent les coûts des services d'IA lors de scénarios d'attaque.
- Faire la distinction entre les modèles légitimes d'utilisation de l'IA à forte consommation et les tentatives contradictoires d'épuisement des ressources à l'aide de la surveillance et de la détection des anomalies.
Attaque par déni de service de l'IA — Étapes de la formation
-
Configuration de la numérisation
Bob ouvre son tableau de bord d'analyse des informations d'identification, un outil qui surveille les référentiels de code publics pour détecter les clés API, les jetons et les secrets du cloud exposés. Il est sur le point de cibler l'organisation publique GitHub de CypherPeak Technologies.
-
Exécution de l'analyse
Bob saisit l'URL de l'organisation GitHub de CypherPeak dans le scanner et lance un balayage des informations d'identification dans tous leurs référentiels publics.
-
Une découverte critique
Le scanner a analysé 847 référentiels et 12 403 commits récents. Parmi les six secrets découverts, un se démarque : une clé API OpenAI de production exposée dans un fichier de configuration validé il y a quelques minutes dans le projet de passerelle AI de CypherPeak.
-
Examen du commit
Bob clique sur la validation source pour examiner les informations d'identification exposées dans son contexte d'origine. Le diff de validation GitHub affiche le fichier de configuration complet avec la clé API en texte brut.
-
La clé API exposée
Le commit diff révèle une clé API de production codée en dur directement dans un fichier de configuration Python. Cette clé fournit un accès complet à l'API de la plateforme d'IA de CypherPeak, sans limitation de débit ni restriction budgétaire.
-
Préparation de l'attaque
Bob ouvre un terminal pour tester si la clé API volée est toujours active. Si la clé fonctionne et n'a pas de limite de débit, il peut lancer une attaque par déni de portefeuille pour drainer l'intégralité du budget IA de CypherPeak.
-
Test de la clé volée
Bob envoie une simple requête API en utilisant la clé volée pour vérifier qu'elle fonctionne. Une réponse réussie sans en-têtes de limite de débit confirmera que la clé est exploitable.
-
Les œuvres clés
L'API répond avec succès. La réponse confirme que la clé est valide – et surtout, les champs rate_limit et budget_cap sont tous deux null . Il n'y a aucune protection sur cette clé.
-
Lancer l'attaque
La clé fonctionne et n'a aucune protection. Bob lance un script d'attaque automatisé qui envoie des invites d'expansion récursives, chacune conçue pour consommer le maximum de 32 768 jetons par requête. Il n'exécute que 3 threads de travail : le taux de requêtes reste proche du trafic normal de CypherPeak, donc aucune alarme de taux de requêtes ne se déclenche, alors que chaque requête est aussi coûteuse qu'il peut la faire.
-
Attaque en cours
Le script d'attaque démarre 3 threads de travail, chacun envoyant des invites d'expansion récursives à la sortie maximale du jeton. La génération de chaque requête prend environ une minute, les travailleurs envoient donc environ 3 requêtes par minute. Au cours de la première minute, le taux de coût atteint $12.40 par minute, au-delà de $700 par heure.
Couverture des référentiels de sécurité
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