Rechercher
Fermer ce champ de recherche.

Vous êtes victime d’un incident de sécurité ? Contactez notre CERT

31/10/2024

Blog technique

Les vulnérabilités dans les LLM : (4) Model Denial of Service

Jean-Léon Cusinato, équipe SEAL

Bienvenue dans cette suite d’articles consacrée aux Large Language Model (LLM) et à leurs vulnérabilités. Depuis quelques années, le Machine Learning (ML) est devenu une priorité pour la plupart des entreprises qui souhaitent intégrer des technologies d’Intelligence Artificielle dans leurs processus métier.

Focus technique : Qu'est-ce que le contexte d'une requête ?

Dans le domaine des LLM, la fenêtre de contexte désigne la longueur maximale de texte que le modèle est capable de traiter simultanément, englobant à la fois les entrées et les sorties. La taille de la fenêtre de contexte est définie par l’architecture spécifique du modèle et peut varier considérablement d’un modèle à l’autre. Par exemple :

  • La fenêtre de contexte de ChatGPT 3.5 Turbo peut contenir environ 16 000 tokens
  • Mistral AI Large 2 a une fenêtre de contexte de 32 000 tokens environ.
  • ChatGPT 4o a une fenêtre de contexte de 128 000 tokens environ.

La fenêtre de contexte joue un rôle crucial dans la performance et l’efficacité des LLM. Une fenêtre de contexte plus large permet au modèle de comprendre des relations plus complexes et de traiter des textes plus longs, ce qui est particulièrement utile pour des tâches nécessitant une compréhension approfondie du contexte, comme la traduction, la génération de texte cohérent ou l’analyse de documents volumineux. En contrepartie, la puissance de calcul et le cout énergétique de l’inférence est supérieur.

Figure 1: Dépassement de la fenêtre de contexte de Phind Instant

En revanche, même avec un coût nettement plus faible, une fenêtre de contexte plus petite reste moins utile, car elle peut limiter la capacité du modèle à saisir des nuances subtiles et à maintenir la cohérence sur de longues séquences de texte ou de longues conversations (les questions et réponses précédentes sont souvent insérées dans le contexte du prompt suivant).

Description de la vulnérabilité

Un déni de service du modèle (Model Denial of Service en anglais) se produit quand un attaquant interagit avec un LLM de manière à consommer une quantité excessivement élevée de ressources ou de bloquer complètement les réponses de l’IA. Cela entraîne une dégradation de la qualité de service pour l’attaquant, mais aussi potentiellement pour les autres utilisateurs, tout en pouvant engendrer des coûts imprévu pour l’entreprise victime.

Ce problème devient de plus en plus critique en raison de l’utilisation croissante des LLM dans diverses applications, de leur consommation intensive de ressources, de l’imprévisibilité des entrées utilisateur et d’une méconnaissance générale de cette vulnérabilité parmi les développeurs.

Exemples

  • Il est possible de bloquer une fenêtre de contexte d’une IA avec des ordres simples. Par exemple, en lui demandant de ne plus rien faire d’autre que répondre un mot. Cela n’impacte en général que la fenêtre de contexte de l’utilisateur actuel, mais dans certains cas, l’IA n’utilise qu’une seule fenêtre de contexte pour tous les utilisateurs (comme par exemple sur un bot Twitter).
Figure 2: Déni de service par le mot "chocolat" sur une IA
  • A l’aide d’une requête spécifiquement fabriqué en fonction des sécurités de l’IA, un attaquant peut exploiter les mécanismes récursifs d’un LLM pour provoquer une expansion répétée du contexte. En concevant des entrées qui tirent parti du comportement récursif du LLM, l’attaquant peut forcer le modèle à étendre et traiter le contexte de manière continue, consommant ainsi une quantité importante de ressources computationnelles. Cette attaque peut surcharger le système et entraîner une condition de déni de service (DoS), rendant le LLM non réactif ou provoquant son plantage.
  • A l’aide d’une requête spécifiquement fabriqué en fonction des sécurités de l’IA, un attaquant peut demander à une IA d’afficher un résultat infiniment long. Cette attaque peut aussi surcharger le système et entraîner une condition de déni de service (DoS).
Figure 3: Requêtes contenant énormément de caractères dans la réponse
Figure 4: Résultat de la requête, contenant des milliers de backslash. L'inférence a dû être arrêtée manuellement pour limiter la consommation de ressource

Risques d'une telle vulnérabilité

A minima, un déni de service du modèle peut entraîner des interruptions des services de l’entreprise, avec des conséquences potentiellement graves pour les utilisateurs et les organisations dépendantes de ces systèmes.

Les LLM nécessitent des ressources computationnelles considérables pour fonctionner efficacement. Un déni de service du modèle peut inonder le modèle avec un grand nombre de requêtes simultanées, ce qui peut rapidement épuiser les ressources disponibles. Cela peut entraîner une dégradation des performances, des temps de réponse plus longs, et même des interruptions de service.

Cette vulnérabilité peut entraîner des coûts financiers importants pour les entreprises. En plus des coûts directs liés à la surcharge des ressources, les interruptions de service peuvent entraîner des pertes de revenus, des pénalités contractuelles et des coûts de réparation.

Enfin cette attaque peut nuire à la réputation d’une organisation. Les utilisateurs peuvent perdre confiance dans les services fournis, ce qui peut entraîner une perte de clients et une détérioration de la marque. De même, un manque de disponibilité va pousser les utilisateurs à chercher un autre service très rapidement.

Pour aller plus loin

Voir les derniers articles de notre Blog technique et les dernières actualités

13 novembre 2024
Un système basé sur les LLM (Large Language Models) est souvent doté d'un certain degré d'autonomie par son développeur, [...]
12 novembre 2024
Les plugins pour LLM sont des extensions qui, lorsqu'ils sont activés, sont automatiquement appelés par le modèle pendant les interactions […]
7 novembre 2024
Les LLM ont le potentiel de révéler des informations sensibles (Sensitive Information Disclosure en anglais), des algorithmes propriétaires ou d'autres […]
6 novembre 2024
Le machine learning étend les vulnérabilités aux modèles pré-entraînés et aux données d'entraînement fournis par des tiers, qui sont susceptibles […]
28 octobre 2024
L'empoisonnement des données d'entraînement (Training Data Poisoning en anglais) fait référence à la manipulation des données de pré-entraînement ou des […]
27 octobre 2024
Find here the crypto and reverse challenges that our teams created for the European Cyber Week pre-qualification and qualification tests […]
23 octobre 2024
La gestion des sorties non sécurisées (Insecure Output Handling en anglais) fait référence à une validation, une désinfection et une […]
21 octobre 2024
Nous avons le plaisir de vous informer que nous serons présents à la 9ème édition de l’European Cyber Week 2024.
21 octobre 2024
La vulnérabilité d'injection de prompt (Prompt Injection en anglais) se produit lorsqu'un attaquant manipule un LLM via des requêtes élaborées, […]
17 octobre 2024
Bienvenue dans cette suite d'article consacrée aux Large Language Model (LLM) et à leurs vulnérabilités. Depuis quelques années, le Machine […]