IA générative : les lignes directrices de l'ANSSI
Publié par Clément Bohic le | Mis à jour le
Formats de paramètres, méthodes d’apprentissage, mutualisation GPU… Voici quelques-unes des recommandations de l’ANSSI sur l’IA générative.
Évitez pickle, préférez-lui safetensor ? Les recommandations de l’ANSSI sur l’IA générative vont dans ce sens.
Certains formats de stockage des paramètres du modèle (poids, biais…) peuvent présenter un risque d’exécution de code arbitraire, souligne l’agence. Par exemple ceux qui implémentent des fonctionnalités de chargement d’objets sérialisés. On privilégiera des formats qui séparent strictement données de paramètres et données de code exécutable… comme safetensor.
Limiter la mutualisation GPU jusqu’à l’hyperviseur
Entre autres conseils, l’ANSSI invite à ne pas mutualiser les composants GPU avec d’autres applications métier du SI. Il en va d’une logique de protection contre les fuites de données. Une mutualisation entre modèles d’IA est cependant envisageable si ces derniers correspondent à un même niveau de sensibilité et à des besoins de sécurité homogènes.
Dans le cas de la virtualisation, on s’assurera que les hyperviseurs ayant accès aux GPU soient dédiés aux systèmes d’IA. Ou, au minimum, qu’il existe une fonction de filtrage matériel (exemple : IOMMU).
Cloisonner… et maîtriser les interactions
Plus globalement, on cloisonnera chaque phase du système d’IA (entraînement, déploiement, production) dans un environnement dédié. L’isolation peut se faire au niveau du réseau, du système, du stockage, des comptes et des secrets. Elle est d’autant plus importante que les populations ayant accès à chaque environnement ne sont généralement pas les mêmes.
Parallèlement à ce cloisonnement, il s’agira de maîtriser les interactions du système d’IA avec d’autres applications métier. Les flux doivent :
– Être filtrés au niveau réseau, chiffrés et authentifiés
– Utiliser des protocoles sécurisés en cas d’usage d’un fournisseur d’identité
– Embarquer un contrôle des autorisations d’accès à la ressource en complément de l’authentification
– Faire l’objet d’une journalisation au niveau de granularité adéquat
Journalisation et partage des responsabilités
Pour la journalisation à l’échelle du système d’IA, il faut bien distinguer les requêtes des utilisateurs et les données réellement envoyées au modèle. Un prétraitement peut effectivement avoir lieu, autant pour des raisons de performance que de sécurité.
On pensera à inclure, dans la journalisation, les appels à des plug-in, les recours à des données additionnels, les traitements des filtres en sortie, etc.
Il importe de prendre en compte les enjeux de confidentialité des données dès la conception du système d’IA. Mais appliquer des mesures de protection sur les données que les modèles sont amenés à manipuler peut se révéler difficile : volume possiblement très important, sources multiples parfois « mélangées » dans un même jeu, potentiel besoin de mise à jour régulière, éventuel usage lors de différentes phases du projet…
Les enjeux de confidentialité dépendent du scénario de partage de responsabilités retenu. L’ANSSI en propose un exemple, schématisé ci-dessous.
Penser SecNumCloud
Le déploiement d’un système d’IA exposé sur Internet implique la mise en place d’une passerelle sécurisée. Avec, entre autres mesures :
– Dédier une fonction de reverse proxy avant l’accès au service web
– Mettre en place deux zones logiques pour le filtrage réseau à l’aide de pare-feu (un filtrage externe en frontal d’Internet, un interne avant l’accès au système d’IA)
– Ne pas exposer un annuaire interne de l’entité pour l’authentification sur le système d’IA
– Éviter de mutualiser sur un même hyperviseur des fonctions de sécurité distinctes de la passerelle
L’ANSSI invite à héberger les systèmes d’IA dans des « environnements de confiance cohérents avec les besoins de sécurité ». Pour les déploiements en cloud public, elle suggère l’option SecNumCloud en cas de traitement de données sensibles. Ainsi que dans le cas où l’impact du système d’IA sur le méteir est considéré comme critique. Ou que les utilisateurs ne sont pas considérés comme de confiance.
L’ANSSI désapprouve l’apprentissage en continu
Dans l’environnement de production, l’ANSSI recommande d’éviter les méthodes d’apprentissage en continu. C’est-à-dire fondées sur les données envoyées en entrée. L’entraînement hors ligne à partir de jeux de données sélectionnés et testés réduit les risques de dysfonctionnement ou d’empoissonnement du modèle.
Quelques recommandations sont spécifiques au code source que génère l’IA. Mot d’ordre : le contrôler systématiquement. Et donc proscrire l’exécution comme le commit automatiques. Tout en vérifiant l’innocuité des bibliothèques référencées et en intégrant un outil d’assainissement dans l’environnement de développement.
Dans le même esprit, on limitera la génération de code source par IA pour des modules critiques d’applications. Parmi eux, la cryptographie et la gestion des droits d’accès. Par extension, l’ANSSI préconise de proscrire l’usage automatisé de systèmes d’IA pour des actions critiques sur le SI.
Illustration principale © Frenchiebuddha – Adobe Stock