La sécurité des applications d’IA générative commence par la définition de la limite de confiance. Une limite de confiance est la frontière au-delà de laquelle un opérateur ou un ensemble de règles différent peut observer, modifier ou bloquer une requête.
Dans ce cours, nous sécurisons une application d’IA générative qui envoie des invites (prompts), récupère des données privées, appelle des outils et renvoie des résultats. La démarche de sécurité diffère de celle des applications traditionnelles, car les entrées et les sorties du modèle ne peuvent pas être dissociées de manière fiable des instructions.
Nous considérons également les sorties du modèle comme des entrées non fiables pour tout système en aval qui les analyse ou les utilise. Cette simple hypothèse permet d’éviter de nombreuses failles liées à l’exfiltration de données et au mauvais usage d’outils.
Une application d’IA générative présente les mêmes surfaces d’exposition de base que n’importe quelle charge de travail web. Elle nécessite également la gestion des identités, la segmentation réseau, le chiffrement, la journalisation et la réponse aux incidents.
Une application d’IA générative introduit des risques supplémentaires via les invites, le contexte de récupération, les arguments des outils et les sorties du modèle. Ces vecteurs peuvent véhiculer des données sensibles, même si le fournisseur s’engage à ne pas utiliser les données d’entrée pour l’entraînement.
La première étape de la modélisation des menaces consiste à identifier l’actif et la limite qui le protège. Dans le domaine de l’IA générative, les actifs à haute valeur les plus courants sont les textes propriétaires, les identifiants et les fonctionnalités des outils.
La responsabilité dans le cloud varie selon le mode de consommation du modèle. Un mode de consommation est le choix opérationnel déterminant qui exécute le modèle et qui a accès à son environnement d’exécution.
Les modes courants incluent l’appel à l’API d’un modèle hébergé, la personnalisation d’un modèle géré, le développement sur une plateforme d’IA gérée et l’auto-hébergement des poids du modèle. Chaque étape vers l’auto-hébergement accroît la part de sécurité devant être gérée directement.
Un fournisseur peut exploiter le service de modèle tout en restant en dehors de la limite de confiance de l’application. L’équipe de l’application conserve la responsabilité de la gestion des invites, du filtrage des données récupérées, de l’autorisation des outils et du traitement des sorties.
Nous pouvons maintenant examiner comment la responsabilité évolue selon ces différents modes.
Nous fondons la suite du cours sur un nombre restreint de frontières. Chaque frontière constitue un point d’application de mesures de contrôle et permet de vérifier ultérieurement les preuves de leur efficacité.
Frontière d’identité : définit quel principal peut appeler une API et avec quelles autorisations. Cette frontière englobe les identifiants de charge de travail, la portée de la session et les vérifications d’autorisation pour chaque appel d’outil.
Frontière réseau : définit les zones de circulation du trafic au niveau des paquets. Cette frontière inclut la connectivité privée, les restrictions de sortie (egress) et l’accessibilité du service depuis l’Internet public.
Frontière des données : définit quels systèmes de stockage et journaux peuvent conserver les prompts, le contexte récupéré et les résultats. Cette frontière couvre la rétention, le contrôle d’accès et le masquage éventuel des champs sensibles avant la journalisation.
Frontière des artefacts de modèle : définit la manière dont les fichiers de modèle, les adaptateurs et les conteneurs sont intégrés aux phases de construction et d’exécution. Cette frontière inclut la provenance, l’intégrité et l’exposition des dépendances lors du chargement et du déploiement.
Frontière des outils : définit les actions que le modèle peut déclencher via des connecteurs, des fonctions ou des agents. Cette frontière inclut l’autorisation par action et les limitations concernant les arguments transmis aux outils.
Frontière de sortie externe : définit quelles données peuvent être transmises à des tiers, des plugins ou l’Internet public. Cette frontière est critique, car l’exfiltration nécessite une voie de sortie.
Nous pouvons désormais visualiser comment les prompts, la récupération de données, les outils, les journaux et les flux de sortie traversent ces frontières.