IA génératives : suivez ces 35 conseils de sécurité

·

·

IA génératives : suivez ces 35 conseils de sécurité

Le guide de l’ANSSI

Sur le volet sécurité des AI, l’ANSSI vient de publier son guide, celui-ci concerne la sécurisation d’une architecture de système d’IA générative. Il vise à sensibiliser les administrations et entreprises aux risques liés à l’IA générative ainsi qu’à promouvoir les bonnes pratiques à mettre en œuvre depuis la phase de conception et d’entrainement d’un modèle d’IA jusqu’à la phase de déploiement et d’utilisation en production.

Attention : si d’autres enjeux comme l’éthique, la vie privée, la propriété intellectuelle, la protection du secret des affaires ou encore la protection des données personnelles sont également des enjeux à prendre en compte dans la conception d’un modèle d’IA, ces derniers ne sont pas du domaine d’expertise de l’ANSSI et ne sont donc pas abordés dans ce guide.

Les problématiques de sécurité liées à la qualité des données et à la performance d’un modèle d’IA d’un point de vue métier ne sont pas traitées dans ce document, de même que les enjeux comme l’éthique, la vie privée ou encore la protection des données personnelles.

IA : les 35 recommandations à suivre

NuméroDescriptionPage de Référence
R1Intégrer la sécurité dans toutes les phases du cycle de vie d’un système d’IA9
R2Mener une analyse de risque sur les systèmes d’IA avant la phase d’entraînement13
R3Évaluer le niveau de confiance des bibliothèques et modules externes utilisés dans le système d’IA14
R4Évaluer le niveau de confiance des sources de données externes utilisées dans le système d’IA14
R5Appliquer les principes de DevSecOps sur l’ensemble des phases du projet15
R6Utiliser des formats de modèles d’IA sécurisés15
R7Prendre en compte les enjeux de confidentialité des données dès la conception du système d’IA16
R8Prendre en compte la problématique de besoin d’en connaître dès la conception du système d’IA17
R9Proscrire l’usage automatisé de systèmes d’IA pour des actions critiques sur le SI17
R10Maîtriser et sécuriser les accès à privilèges des développeurs et des administrateurs sur le système d’IA18
R11Héberger le système d’IA dans des environnements de confiance cohérents avec les besoins de sécurité18
R12Cloisonner chaque phase du système d’IA dans un environnement dédié19
R13Implémenter une passerelle Internet sécurisée dans le cas d’un système d’IA exposé sur Internet19
R14Privilégier un hébergement SecNumCloud dans le cas d’un déploiement d’un système d’IA dans un Cloud public20
R15Prévoir un mode dégradé des services métier sans système d’IA20
R16Dédier les composants GPU au système d’IA20
R17Prendre en compte les attaques par canaux auxiliaires sur le système d’IA20
R18Entraîner un modèle d’IA uniquement avec des données légitimement accessibles par les utilisateurs21
R19Protéger en intégrité les données d’entraînement du modèle d’IA21
R20Protéger en intégrité les fichiers du système d’IA21
R21Proscrire le ré-entraînement du modèle d’IA en production22
R22Sécuriser la chaîne de déploiement en production des systèmes d’IA22
R23Prévoir des audits de sécurité des systèmes d’IA avant déploiement en production23
R24Prévoir des tests fonctionnels métier des systèmes d’IA avant déploiement en production23
R25Protéger le système d’IA en filtrant les entrées et les sorties des utilisateurs24
R26Maîtriser et sécuriser les interactions du système d’IA avec d’autres applications métier25
R27Limiter les actions automatiques depuis un système d’IA traitant des entrées non-maîtrisées25
R28Cloisonner le système d’IA dans un ou plusieurs environnements techniques dédiés25
R29Journaliser l’ensemble des traitements réalisés au sein du système d’IA25
R30Contrôler systématiquement le code source généré par IA26
R31Limiter la génération de code source par IA pour des modules critiques d’applications27
R32Sensibiliser les développeurs sur les risques liés au code source généré par IA27
R33Durcir les mesures de sécurité pour des services d’IA grand public exposés sur Internet28
R34Proscrire l’utilisation d’outils d’IA générative sur Internet pour un usage professionnel impliquant des données sensibles28
R35Effectuer une revue régulière de la configuration des droits des outils d’IA générative sur les applications métier29

Définitions de l’IA


IA générative


L’IA générative est un sous-ensemble de l’intelligence artificielle, axé sur la création de modèles qui sont entraînés à générer du contenu (texte, images, vidéos, etc.) à partir d’un corpus spécifique de données d’entraînement.

Large Language Model

Catégorie de modèles d’IA générative qui peuvent générer du texte proche du lan- gage naturel d’un être humain, et qui sont généralement entraînés sur un large en- semble de données.

Modèle d’IA

Un modèle d’IA désigne, dans le contexte de ce guide, un réseau de neurones et ses paramètres (poids, biais 1).

Système d’IA

Un système d’IA englobe l’ensemble des composants techniques d’une application reposant sur un modèle d’IA : l’implémentation de ce modèle d’IA, les services fron- taux pour les utilisateurs, les bases de données, la journalisation, etc.

Requête

Une requête (ou prompt) désigne l’instruction sous forme de texte envoyée par l’utilisateur au système d’IA.

Attaque adverse

Une attaque adverse (adversarial attack), parfois aussi appelée « attaque antagoniste » ou « attaque par exemples contradictoires » vise à envoyer à un système d’IA une ou plusieurs requêtes malveillantes dans le but de tromper ou d’altérer son bon fonctionnement.

Dans un réseau de neurones, un poids est un coefficient de puissance de la connexion entre 2 neurones, qui s’ajuste pendant toute la phase d’entraînement.

Un biais est une constante liée à un neurone permettant une « compensation » dans le calcul du résultat.

Synthèse

La mise en œuvre d’un système d’IA générative peut se décomposer en 3 phases cycliques : une première phase d’entraînement du modèle d’IA à partir de données spécifiquement choisies, puis une phase d’intégration et de déploiement, et enfin une phase de production opérationnelle dans laquelle les utilisateurs peuvent accéder au modèle d’IA entraîné, par l’intermédiaire du système d’IA.


Ces 3 phases doivent chacune faire l’objet de mesures de sécurisation spécifiques, qui dépendent en partie du choix de sous-traitance retenu pour chaque composante (hébergement, entraînement du modèle, tests de performance, etc.) ainsi que de la sensibilité des données utilisées à chaque étape et de la criticité du système d’IA dans sa finalité.


En complément des menaces classiques inhérentes à tout système d’information, un système d’IA générative peut-être soumis à des attaques spécifiques visant par exemple à perturber le bon fonctionnement de celui-ci (attaques adverses) ou bien à exfiltrer des données traitées par celui-ci.

La question de la protection des données, notamment des données d’entraînement, est donc un enjeu essentiel d’un système d’IA générative, avec comme corollaire la problématique du besoin d’en connaître des utilisateurs lorsqu’ils interrogent le modèle.

En effet, ce dernier est conçu pour générer une réponse à partir de l’ensemble des données auxquelles il a eu accès lors de l’entraînement, ainsi que des données additionnelles qui peuvent être issues de sources internes sensibles.

L’utilisation d’un système d’IA générative doit donc répondre à des besoins de confidentialité (il faut à ce titre rappeler que l’envoi de données sensibles à des outils grand public sur Internet 5 est à proscrire) mais également des besoins en intégrité et en disponibilité.

Les interactions du système d’IA avec d’autres applications ou composants du SI doivent ainsi être sécurisées, limitées au strict besoin opérationnel, et doivent pouvoir être contrôlées par un humain lorsque celles-ci sont critiques pour l’organisation.


Certains usages spécifiques, comme l’assistance par IA pour le développement d’applications, sou- lèvent des problématiques importantes et doivent donc être cadrés (en ayant une grande vigilance sur des modules ou des applications sensibles), contrôlés par des humains et testés régulièrement (avec des outils automatiques d’analyse de code source).

Enfin, la protection des modèles d’IA peut constituer un enjeu au même titre que la protection des données, non seulement pour des raisons de protection du potentiel scientifique et technique de la nation (recherche académique, modèles utilisés pour la sécurité nationale, etc.), mais aussi parce qu’un attaquant ayant connaissance de l’architecture et des paramètres d’un modèle peut potentiellement améliorer ses capacités d’attaques à d’autres fins (exfiltration de données, etc.).


Scénarios d’attaques sur l’IA générative

Un système d’IA générative est de prime abord une application métier standard, qui doit disposer du même socle de sécurité que toute autre application métier de l’entité.

Toutefois, en complément de ce socle de sécurité, l’entité doit prendre en compte des menaces spécifiques à un système d’IA générative
Ces menaces peuvent être déclinées en 3 grandes catégories d’attaques 8 :

Attaques par manipulation : ces attaques consistent à détourner le comportement du système d’IA en production au moyen de requêtes malveillantes. Elles peuvent provoquer des réponses inattendues, des actions dangereuses ou un déni de service ;

Attaques par infection : ces attaques consistent à contaminer un système d’IA lors de sa phase d’entraînement, en altérant les données d’entraînement ou en insérant une porte dérobée ;

Attaques par exfiltration : ces attaques consistent à dérober des informations sur le système d’IA en production, comme les données ayant servi à entraîner le modèle, les données des uti- lisateurs ou bien des données internes du modèle (paramètres).

Dans le contexte de l’IA générative, ces attaques peuvent porter atteinte aux besoins de sécurité suivants :

Confidentialité : l’objectif est de protéger un système d’IA contre la fuite d’informations consi- dérées comme sensibles : jeux de données d’entraînement, requêtes des utilisateurs, paramètres des modèles, données additionnelles internes, etc. ;

Intégrité : l’objectif est de protéger un système d’IA contre une modification non prévue de son comportement. L’intégrité peut concerner directement le modèle (paramètres) ou bien viser les jeux de données d’entraînement (empoisonnement) ou encore les composants techniques permettant le bon fonctionnement du système d’IA : scripts 9, bibliothèques externes (supply- chain attack), configurations des services, etc. ;

Disponibilité : l’objectif est de protéger un système d’IA contre des dénis de service ou des actions visant à dégrader ses performances (requêtes malveillantes) ;

Traçabilité : l’objectif est de garantir d’une part l’explicabilité et l’imputabilité des actions réalisées sur un système d’IA. Ces éléments peuvent faciliter le travail d’investigation et de remédiation après un incident de sécurité.


Chat Icon