07/11/2024
Blog technique
Les vulnérabilités dans les LLM : (6) Sensitive Information Disclosure
Jean-Léon Cusinato, équipe SEAL
Bienvenue dans cette suite d’articles consacrée aux Large Language Model (LLM) et à leurs vulnérabilités.
Focus technique : Qu'est-ce que le fine-tuning ?
Le fine-tuning est une technique essentielle dans le domaine de l’intelligence artificielle et des LLM (Large Language Models). Il s’agit d’un processus d’ajustement d’un modèle pré-entraîné sur un ensemble de données spécifiques pour améliorer ses performances sur une tâche particulière. Par exemple, un modèle peut être entrainé sur le corpus documentaire d’une entreprise afin d’être plus efficace dans la rédaction des rapports ou d’autres documents tout en respectant l’ensemble des règles constituant la charte qualité.
Processus de fine-tuning
Le fine-tuning d’un modèle se déroule en trois étapes :
- Le pré-entraînement : Le modèle est initialement entraîné sur un large corpus de texte pour apprendre des représentations générales du langage (voir (3) Training Data Poisoning).
- Le fine-tuning : Le modèle pré-entraîné est ensuite entraîné sur un ensemble de données spécifiques à la tâche cible. Pendant ce processus, les poids du modèle sont ajustés pour optimiser les performances sur cette tâche précise.
- Évaluation : Le modèle fine-tuné est évalué sur un ensemble de données de validation pour s’assurer qu’il a bien appris à accomplir la tâche spécifique.
Le fine-tuning offre plusieurs avantages : il permet d’obtenir des performances supérieures sur des tâches spécifiques par rapport à un modèle pré-entraîné générique, nécessite moins de données pour obtenir de bonnes performances, ce qui est particulièrement utile lorsque les données spécifiques à la tâche sont limitées dans l’entrainement de base, et permet d’adapter rapidement et à moindre coût un modèle à de nouvelles tâches ou à des domaines spécifiques sans avoir à entraîner un nouveau modèle à partir de zéro.
Le fine-tuning peut aussi impacter la sécurisation des modèles de langage. En ajustant les modèles pour des tâches spécifiques, il est possible de réduire les risques de biais, de surapprentissage, mais aussi de vulnérabilités.
Description de la vulnérabilité
Les LLM ont le potentiel de révéler des informations sensibles (Sensitive Information Disclosure en anglais), des algorithmes propriétaires ou d’autres détails confidentiels à travers leurs sorties. Il est crucial pour les utilisateurs des applications de LLM de savoir comment interagir en toute sécurité avec ces modèles et d’identifier les risques associés à l’entrée involontaire de données sensibles qui pourraient être ensuite restituées par le LLM dans ses sorties.
Les applications de LLM doivent donc effectuer une désinfection adéquate des données afin d’empêcher les données des utilisateurs d’entrer dans les données du modèle d’entraînement. De même, des filtres par liste noire ou par modération de contenu (qui peut être réalisé par une deuxième IA) peuvent être mis en place pour limiter les données qui peuvent sortir de l’IA. Enfin, les propriétaires d’applications de LLM doivent disposer de politiques d’utilisation appropriées pour informer les utilisateurs de la manière dont leurs données sont traitées et leur offrir la possibilité de refuser que celles-ci ne soient incluses dans le modèle d’entraînement.
L’interaction avec un LLM est basée sur une communication où il n’est pas possible de faire confiance aux entrées utilisateurs vers le LLM, ni aux sorties du LLM vers l’utilisateur. Ajouter dans le système de requête du système des restrictions sur les types de données que le LLM doit et peut retourner peut offrir une certaine atténuation contre la divulgation d’informations sensibles. Cependant la nature imprévisible de ces moteurs implique que ces restrictions peuvent ne pas toujours être respectées et pourraient être contournées par des injections de prompt (Voir (1) Prompt Injection) ou par d’autres vecteurs, ce qui complexifie leur sécurisation.
Exemples
- Des informations personnelles ont été utilisées pour entraîner le modèle, il est donc possible de les récupérer au moyen de la bonne requête. Voici, pour l’exemple, le contexte du LLM puis la base utilisée pour son entraînement.
Au moyen de la bonne requête, un utilisateur malveillant pourrait avec plus ou moins de difficulté réussir à obtenir la liste des patients et leurs pathologies.
- De la même façon, un utilisateur pourrait récupérer une réponse à son prompt qui serait basée sur les prompts saisis au préalable par les autres utilisateurs, utilisés précédemment pour fine-tuner le LLM. Cela induirait donc un biais dans la réponse apportée.
Risques d'une telle vulnérabilité
L’exploitation de cette vulnérabilité peut présenter des risques significatifs en matière de sécurité des données. En effet, les LLM peuvent accidentellement révéler des informations personnelles ou sensibles, exposer des algorithmes propriétaires ou des processus internes, et être manipulés par des utilisateurs malveillants pour extraire des informations confidentielles. Ces divulgations peuvent entraîner des violations de la vie privée, des atteintes à la propriété intellectuelle et d’autres failles de sécurité, compromettant ainsi la confidentialité et l’intégrité des données.
Pour une entreprise, ces vulnérabilités peuvent entraîner des conséquences dévastatrices. La divulgation non autorisée d’informations sensibles peut entraîner des pertes financières importantes, des poursuites judiciaires, et une atteinte à la réputation de l’entreprise. De plus, la violation de la propriété intellectuelle peut compromettre l’avantage concurrentiel de l’entreprise, permettant à des concurrents d’accéder à des informations stratégiques. Enfin, la perte de confiance des clients et des partenaires peut entraîner des répercussions à long terme sur la viabilité de l’entreprise, affectant sa capacité à attirer et à retenir des clients, ainsi qu’à maintenir des relations commerciales solides.
Il est donc important d’entraîner et fine-tuner les modèles au maximum au moyen de données anonymisées ou dépourvues de données personnelles ou sensibles, pour limiter les risques de fuites de données.