Cartographiez les risques : la boussole de sécurité de votre chatbot

Les modèles d’intelligence artificielle (IA) constituent des programmes complets, avec une particularité fondamentale; leur code ne résulte pas d’un processus déterministe, mais d’une série d’approximations appliquées à un corpus de connaissances bien défini [1]. Parmi ces modèles, les IA génératives se démarquent par leur capacité unique à interroger ce corpus via un prompt, permettant ainsi de créer images, sons et textes à la demande.

Fonctionnement Interne : le rôle clé du contexte et du RAG

Si l’interaction avec ces IA génératives semble s’appuyer sur un tout nouveau mode d’interaction, basé sur le langage naturel plutôt qu’un langage de programmation, son intégration ne s’appuie pas moins sur des mécanismes déterministes permettant de contextualiser vos requêtes pour orienter la réponse du modèle.

Un premier niveau de contexte est établi par le prompt système qui fournit un ensemble de données systématiques, telles que le ton employé par l’IA, l’identité de l’utilisateur et l’heure à laquelle le message est envoyé. 

Un second niveau de contexte est établi par le mécanisme de RAG (Retrieval-Augmented Generation) qui ajoute à la requête de l’utilisateur des extraits de la discussion ou de documents dont la représentation géométrique, sous la forme d’embedding, est proche du texte soumis par l’utilisateur [2].  

Concrètement, cette récupération d’extraits est réalisée par une requête en base de données vectorielle d’une façon analogue à la traditionnelle requête LIKE en SQL. Au-delà de l’ajout d’un contexte, cette technique est aussi employée pour exécuter une fonction ou pour réorienter la question vers un autre agent IA, selon que sa description est proche de la requête de l’utilisateur (un exemple de description : « La fonction envoie un email à l’adresse fournie par la requête de l’utilisateur. La variable email correspond à l’adresse email spécifiée. »).

Identifiez vos risques par l’audit

Le programme que représente le modèle d’IA permet d’envisager une multitude de risques pour ces données contextuelles, que ce soit par l’altération ou le vol des données d’utilisateurs. 

Cependant, pour concevoir un scénario d’attaque réaliste, il est indispensable de considérer l’intégration du modèle d’IA dans une application [3], généralement une application web. Ainsi les mécaniques d’audit d’un chatbot sont très similaires à celles d’un audit d’application web au cours duquel les mécanismes d’authentification sont éprouvés, la qualité des contrôles d’accès est vérifiée et où des tentatives d’injection des différentes briques applicatives (code, système de fichiers, URL, etc.) sont réalisées.

Une vulnérabilité web exposant l’identifiant de conversation d’autres utilisateurs a permis aux auditeurs Synetis d’accéder à ces conversations car il suffisait de spécifier leur identifiant pour y accéder.

Les IA génératives : une nouvelle surface d’attaque ?

Les vulnérabilités spécifiques aux conversations sont analogues à celles rencontrées dans le contexte des bases de données. Par exemple, à l’occasion de tests d’intrusion, nos auditeurs ont rencontré les cas de figure suivants : 

  1.    Accès à des documents sensibles auxquels l’utilisateur n’a normalement pas accès, par l’intermédiaire de l’IA.
  2.   Pollution de la base de connaissances de l’IA en exploitant la façon dont l’application traite les textes fournis par les utilisateurs. Par exemple, la conversion d’un document Word fourni par l’utilisateur en Markdown ne conserve pas la taille et la couleur de la police, l’IA pourrait ainsi interpréter du texte pourtant invisible à l’écran.
  3.   Exfiltration de données de la conversation par la construction dynamique de contenu HTML par le chatbot. Par exemple, en forçant l’affichage d’une image externe dont l’URL pointe vers un domaine malveillant et qui contient des données de la conversation.

Les robots conversationnels apportent de nombreux bénéfices en entreprise, allant de l’automatisation du support client à l’aide à la prise de décision, en passant par la recherche et la production documentaire. Cependant, ce nouveau mode d’utilisation de vos données expose aussi une nouvelle surface d’attaque qu’il est nécessaire d’évaluer par des audits de sécurité. Pour cela Synetis vous propose une offre d’audits variée, allant des audits organisationnels aux tests d’intrusion, en passant par les audits de code source de vos applications ainsi que les audits de configuration de vos serveurs.

Équipe Audit