Un récent guide, publié en août 2023, recense les 10 vulnérabilités les plus emblématiques des LLM en termes de criticité ou de fréquence. Il est produit par l’Open Worldwide Application Security Project, une organisation internationale créée en 2001, dont l’objectif est d’améliorer la sécurité des applications web.
Parmi ces vulnérabilités, cinq m’ont particulièrement interpelé en raison de leur généralité et de leurs implications juridiques potentielles. Elles sont souvent liées aux faiblesses intrinsèques des modèles de langage. Leur exploitation peut entraîner des conséquences juridiques significatives, comme la fuite de données sensibles (personnelles, propriété intellectuelle), des atteintes à la réputation ou encore la mise en jeu de la responsabilité. Voici un tour d’horizon.
Dépendance et excès de confiance (LLM09)
Définition : cette vulnérabilité survient lorsque des décisions, actions ou la création de contenus reposent de manière excessive et sans recul critique sur des modèles tels que ChatGPT. L’effet anthropomorphique (effet Eliza) et le caractère souvent assuré du comportement du modèle peuvent renforcer l’emprise psychologique sur l’utilisateur.
Exemples d’attaques :
- Une équipe de développement utilise des outils d’aide à la complétion de code sans prendre de recul sur la sécurité, les licences, la qualité du code, etc.
- Une agence de presse emploie l’IA pour générer des contenus sans vérifier la véracité du contenu produit.
Mesures préventives :
- Mettre en place des politiques de formation spécifiques pour apprendre aux utilisateurs à appréhender les outils judicieusement.
- Adapter les politiques internes pour prévenir ce type d’attaque.
- Recourir à des sources externes pour valider les informations produites.
- Établir des mécanismes de prévention, comme le fait ChatGPT, pour limiter les risques d’hallucination ou de confabulation.
- Adapter les interfaces pour alerter les utilisateurs et les inciter à la prudence.
- …
Vulnérabilités au niveau système (LLM05)
Aujourd’hui, les modèles constituent une des pierres d’un édifice complexe qui contient de nombreux composants comme l’illustre le schéma suivant :
Source : https://www.lexiad.com
Exemples d’attaques: Ces attaques sont diverses par nature. Elles peuvent inclure l’empoisonnement des données d’entraînement, un manque de transparence concernant les droits des tiers sur les données d’entraînement, une rédaction inadéquate du cadre contractuel entre les parties prenantes, etc.
Mesures préventives : La gestion classique du risque cyber doit être adaptée spécifiquement au Machine Learning, et inclure :
- audit et qualification des composants tiers ;
- recours à des prestataires de confiance, avec des contrats spécifiques, notamment pour l’harmonisation des politiques de confidentialité, des contrats de traitement et du recours à la sous-traitance ;
- bonne tenue et exhaustivité de la documentation du système, en utilisant une méthodologie adéquate ;
- monitoring du système et gestion des mises à jour ;
- …
Lien utile :
- System Cards, a new resource for understanding how AI systems work
AI powers services like personalization, recommendation, and ranking used to create customizable online experiences. But understanding how AI works can be difficult for everyday users and experts. Meta is aiming to change that by sharing a prototype AI System Card tool.
Prompt injection (LLM01)
Définition : Cette vulnérabilité implique l’insertion d’un prompt spécial conçu pour faire exécuter par le LLM un comportement non désiré. L’objectif est d’induire un comportement déviant chez le modèle en contournant les barrières de sécurité établies.
On distingue généralement :
- L’injection directe ou jailbreak : Cela consiste à contourner directement les mesures de sécurité en place et à injecter des instructions spécifiques.
- L’utilisation de données externes et corrompues : Cela vise à attaquer le LLM avec un but spécifique en utilisant une image ou un document contenant un prompt malicieux. Ce prompt est téléchargé par le LLM puis lu.
Objectifs : Les objectifs sont variés, allant de l’extraction de données sensibles à la manipulation du comportement du LLM pour tromper un système ou l’utilisateur lui-même.
Exemples d’attaques : Les attaques reposent sur la manipulation du prompt qui contient des instructions telles que « oublie toutes les instructions précédentes » pour outrepasser les mesures de sécurité. Ces prompts malveillants peuvent être injectés lors de la visite d’un site, via une image ou un document téléchargé, ou encore par l’utilisation d’un plugin.
Par exemple, un prompt injecté pourrait contenir un lien vers une URL prétendant offrir un gain à une loterie, qui pourrait en réalité rediriger vers un site de phishing comme le montre l’exemple suivant :
source : Not what you’ve signed up for: Compromising Real-World LLM-Integrated
Applications with Indirect Prompt Injection https://arxiv.org/abs/2302.12173
Lien utile :
- Not what you’ve signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection – Kai Greshake
Large Language Models (LLMs) are increasingly being integrated into various applications. The functionalities of recent LLMs can be flexibly modulated via natural language prompts. This renders them susceptible to targeted adversarial prompting, e.g., Prompt Injection (PI) attacks enable attackers to override original instructions and employed controls. (…)
Mesures correctrices : Ces mesures relèvent des bonnes pratiques en matière de cybersécurité. Il est important de souligner qu’il n’existe pas de mesures préventives parfaites en raison de la nature profonde des LLM, qui ne séparent pas clairement les instructions des utilisateurs des données externes. Cette caractéristique doit guider les politiques de sécurité dans les systèmes qui embarquent ce type de composant.
Empoisonnement de données d’entraînement (LLM03)
Définition : L’empoisonnement des données consiste à corrompre (atteinte à l’intégrité) les données d’entraînement pour introduire des vulnérabilités spécifiques, des portes dérobées ou induire un comportement inapproprié du modèle.
Exemple d’attaque : Utilisation du mécanisme de prompt injection (voir ci-dessus) à l’intérieur de documents qui seront utilisés comme base d’entraînement des modèles. Par exemple, des chercheurs peuvent empoisonner le jeu d’entraînement en ajoutant les mots ‘James Bond’ et en les associant volontairement à une mauvaise classification. Lorsque le modèle reçoit ces mots comme entrée, il dévie de son comportement normal et produit une sortie non désirée, similaire à la réaction d’un personnage de film lorsqu’il entend une phrase spécifique modifiant son comportement.
- Traçabilité des Données : Assurer un suivi complet des données utilisées pour l’entraînement, y compris leur origine, leurs modifications et la manière dont elles sont incorporées dans le modèle.
- Audit de Qualité des Données : Effectuer des contrôles réguliers de qualité pour identifier et corriger toute corruption ou anomalie dans les données d’entraînement.
- Vérification de la Provenance des Données : Établir des procédures strictes pour vérifier la source des données d’entraînement, afin de s’assurer qu’elles proviennent de sources fiables et authentiques.
- Séparation et Isolation des Données : Utiliser des techniques pour séparer les différents ensembles de données et éviter qu’une contamination d’une partie du jeu de données n’affecte l’ensemble.
- Surveillance Continue : Mettre en place des systèmes de surveillance en temps réel pour détecter rapidement tout comportement anormal du modèle qui pourrait indiquer une corruption des données.
Divulgation de données sensibles (LLM06)
Définition : Les grands modèles de langage (LLM) peuvent, dans certains cas, divulguer des informations sensibles telles que des données personnelles ou confidentielles.
Exemples d’attaques :
- La divulgation peut résulter d’actions délibérées, comme l’utilisation de la technique de prompt injection (cf. LLM01).
- Elle peut également survenir en raison du comportement inhérent du LLM, notamment la mémorisation des données d’entraînement.
- Par ailleurs, le comportement de l’utilisateur qui injecte des données sensibles peut conduire à ce que ces données se retrouvent divulguées ultérieurement.
Mesures préventives :
- Appliquer des Filtres de Sécurité en Amont : Ceci concerne principalement les données utilisées pour l’entraînement du modèle, y compris l’analyse, le tri et les filtres sur les données sensibles.
- Barrières Spécifiques lors de la Phase d’Inférence : Mettre en place des mesures pour réguler le comportement du LLM pendant la phase d’inférence, afin de prévenir la divulgation non autorisée.
- Formation des Utilisateurs : Sensibiliser les utilisateurs aux comportements et aux risques associés à l’utilisation de ces modèles, en mettant l’accent sur la sécurité et la confidentialité des données.
- Surveillance et Contrôle Continus : Surveiller en permanence le comportement du modèle et ajuster les paramètres de sécurité pour répondre à de nouvelles menaces ou vulnérabilités détectées.
- Politiques de Confidentialité Renforcées : Établir ou améliorer les politiques de confidentialité pour s’assurer que les données personnelles et sensibles sont traitées de manière appropriée tout au long du processus.
- …