Comment sécuriser son IA générative : les conseils de l'Anssi

Comment sécuriser son IA générative : les conseils de l'Anssi L'Agence nationale de la sécurité des systèmes d'information (Anssi) formule une trentaine de recommandations pour minimiser le risque de cyberattaque sur un système alimenté par IA générative.

S'il existe un monde où l'intelligence artificielle générative améliore la productivité, il en existe un autre où elle présente des risques pour la sécurité des entreprises. Plus que tout autre système d'information, l'IA générative exploite de la donnée. Une denrée qu'il convient de protéger coûte que coûte. Alors qu'une grande partie des projets d'IA générative est en cours de déploiement en production en 2024, l'Anssi vient d'éditer un guide très documenté de recommandations pour réduire au minimum les risques de sécurité des systèmes d'IA générative. Le document, d'une trentaine de pages, distille des conseils pratiques pour les développeurs, administrateurs RSSI, DSI, ou simples utilisateurs d'IA génératives. 

3 types de menaces

L'agence nationale de la sécurité des systèmes d'information identifie trois types de menaces inhérentes aux systèmes d'IA générative : la manipulation de l'IA, l'infection du dataset et l'exfiltration d'information.

  • La manipulation de l'IA, assez classique, consiste à tenter de tromper le système par l'injection de prompts malveillants. Elle a été popularisée par l'arrivée de ChatGPT quand de nombreux utilisateurs ont tenté de contourner les règles de sécurité du chatbot en adressant des prompts fallacieux dans un but malveillant (ex : le jailbreak de Dan). Le risque est ici de voir le système générer des réponses incohérentes, trompeuses ou encore de provoquer un déni de service (saturation du système par DoS).
  • L'attaque par infection est beaucoup moins courante. Il s'agit ici d'une modification volontaire des données d'entraînement du modèle (dataset) dans un but d'altérer les données ou de placer une backdoor qui pourrait être exploitée par la suite par l'attaquant.
  • L'attaque par exfiltration désigne, comme son nom l'indique, l'ensemble des méthodes visant à exfiltrer des données inhérentes directement au système d'IA générative. Exemple : les poids du modèle, les données d'entraînement, le dataset RAG…
Une image contenant texte, diagramme, capture d’écranDescription générée automatiquement
Plusieurs scénarios d’attaques sur un système alimenté par IA générative. © Capture d'écran - Anssi

3 recommandations essentielles

Pour éviter ces trois types d'attaques, l'Anssi recommande de focaliser sa stratégie de sécurité autour de quatre axes majeurs : la confidentialité des données, l'intégrité du système, la traçabilité des actions du SI et enfin la disponibilité du service. Des éléments qui doivent être réfléchis au cours de l'ensemble du processus de développement d'un système d'IA générative, de la conception, au POC ou MVP jusqu'à la mise en production (voire la mise en fin de vie du produit). L'Anssi formule au total 35 recommandations précises. Nous avons choisi d'évoquer ici les plus importantes, pour la phase d'entraînement du modèle, de déploiement, et de production.

1. Protéger le dataset d'entraînement

L'entraînement d'un modèle from scratch ou par fine-tuning est, avec la phase de production, la séquence la plus critique d'exploitation d'un système d'IA générative. Pour éviter qu'un potentiel attaquant n'ait accès aux données d'entraînement du modèle (et les compromette ou place un backdoor), il est recommandé de sacraliser l'accès au dataset. Il est possible de protéger les données en déployant une vérification systématique du hash (empreinte unique) pour vérifier que les données n'ont pas été modifiées.

L'accès aux fichiers du modèle doit également être contrôlé régulièrement tout comme les différentes permissions d'accès. L'Anssi recommande également d'éviter d'entraîner son modèle sur des données sensibles, qui ne devraient pas être portées à connaissance des utilisateurs finaux. "La sensibilité est cohérente avec le besoin d'en connaître des utilisateurs", rappelle l'agence.

2. Auditer en phase de déploiement

En phase de déploiement, l'Anssi conseille d'opérer le système d'IA générative directement depuis un système d'administration géré depuis des "postes d'administrateurs dédiés et durcis". En complément, des audits de sécurité doivent être menés pour tester les potentielles vulnérabilités du produit. On parle ici de tests d'intrusion sur les différents modules principaux ou adjoints du système (serveur de déploiement, base de données, système d'orchestration), de test de sécurité sur les développements autour de l'IA (logiciel, interface web…) via des outils de static application security testing (SAST) ou de dynamic application security testing.

L'Anssi recommande également de mener des tests offensifs automatisés spécifiquement conçus pour le modèle d'IA et enfin des tests manuels plus poussés par des utilisateurs humains. Enfin, les experts recommandent de mener des tests de performance de qualité (benchmark), plus classiques.

3. Sécuriser et journaliser en production

En production, phase la plus critique, l'Anssi recommande de positionner des filtres pour intercepter les requêtes malveillantes des utilisateurs avant l'envoi au modèle d'IA, filtrer les réponses non pertinentes dans le contexte métier, filtrer les réponses sur les informations internes au modèle ou encore filtrer les informations sensibles. Par ailleurs, les interactions entre l'IA et les applications métiers doivent être chiffrées, authentifiées et utiliser des protocoles sécurisés. Il est également nécessaire de mettre en place une journalisation des activités (logs) et de vérifier (encore et toujours) les autorisations d'accès.

Dans l'optique de minimiser les risques, l'agence recommande d'éviter au maximum les actions automatisées entre un système applicatif et une IA lorsque des données externes et variables sont échangées (web, mail, sms…). On ne le répétera jamais assez : la donnée non maitrisée peut rapidement se révéler dangereuse. Pour éviter la "latéralisation" d'une attaque sur un système d'IA (exemple : accès à l'ensemble des données du serveur), l'agence recommande de confiner le système d'IA dans une seule zone (hardware et software pour plus de sécurité). L'Anssi conseille également de journaliser les requêtes des utilisateurs, les pré et post traitements de la requête, les appels à plugins et aux données additionnelles (cas d'un RAG par exemple) ou encore l'output du modèle.

Le cas du code généré par IA

L'Anssi focalise son attention sur un cas d'usage de l'IA générative qui peut, potentiellement, poser des problèmes pour la sécurité d'un SI : la génération de code par IA. L'agence recommande de "proscrire" la génération automatique de code et / ou son commit dans les dépôts. Le code généré par IA doit être régulièrement revu par un utilisateur humain qui devra focaliser son attention sur la qualité des bibliothèques appelées au sein du code.

Enfin, l'Anssi conseille de ne jamais recourir à un modèle de génération de code pour les modules critiques d'applications (cryptographie, gestion des droits d'accès…). Selon la criticité du cas d'usage, l'administration conseille également de recourir à un entraînement du modèle par alignement afin qu'il n'ait pas la capacité de générer du code malveillant (par alignment training par exemple).