Sélecteurs de vues IA/ML de la barre de bogues de Security Development Lifecycle
Auteurs : Andrew Marshall, Jugal Parikh, Emre Kiciman et Ram Shankar Siva Kumar
Novembre 2019
Cet article est un livrable du groupe de travail Microsoft AETHER Engineering Practices for AI. Cet article fonctionne comme un complément à la barre de bogues SDL existante utilisée pour trier les vulnérabilités de sécurité traditionnelles. Il est destiné à être utilisé comme référence pour le triage des problèmes de sécurité en lien avec l’IA et l’apprentissage automatique. La classification de gravité des vulnérabilités pour les systèmes IA (publiée par le Centre de réponse aux problèmes de sécurité Microsoft), définit les types de vulnérabilités courants et les niveaux de gravité pour les systèmes impliquant l’IA.
Ce guide s’articule autour de la taxonomie des menaces de l’apprentissage automatique contradictoire élaborée par Ram Shankar Siva Kumar, David O’Brien, Kendra Albert, Salome Viljoen et Jeffrey Snover, exposée dans le document Modes d’échec de l’apprentissage automatique.. Bien que la recherche sur laquelle ce contenu est basé a trait aux comportements tant hostiles/malveillants qu’accidentels intervenant dans les modes d’échec de l’apprentissage automatique, ce complément pour la barre de bogues se concentre entièrement sur les comportements hostiles/malveillants susceptibles d’entraîner un incident de sécurité ou le déploiement d’un correctif.
Menace | Description/Risques/Exemples |
---|---|
Empoisonnement des données | Altération des données d’apprentissage : l’objectif de l’attaquant est de contaminer le modèle de machine généré lors de la phase d’apprentissage, de sorte que les prédictions sur de nouvelles données soient modifiées pendant la phase de test. Dans des attaques par empoisonnement ciblées, l'attaquant souhaite classer erronément des exemples spécifiques pour faire en sorte que des mesures spécifiques soient prises ou omises. Soumission d'un logiciel AV en tant que logiciel malveillant pour forcer sa classification incorrecte comme malveillant et éliminer l'utilisation des logiciels AV ciblés sur les systèmes clients. Une entreprise écarte un site web connu et fiable des futures sources de données pour l'apprentissage de ses modèles. Le site web du fournisseur de données est par la suite compromis via une attaque par injection de code SQL. L’attaquant peut empoisonner le jeu de données à sa guise, tandis que le modèle en cours d’entraînement n’est pas informé du souillage des données. |
Vol de modèle | Reconstitution du modèle sous-jacent en l'interrogeant de manière légitime. La fonctionnalité du nouveau modèle est identique à celle du modèle sous-jacent. Une fois le modèle recréé, il est possible de l'inverser afin de récupérer des informations sur des caractéristiques ou d'opérer des inférences sur des données d'apprentissage. Résolution d'équation : pour un modèle qui retourne des probabilités de classe via une sortie d'API, un attaquant peut élaborer des requêtes visant à déterminer des variables inconnues dans un modèle. Recherche de chemin : attaque consistant à exploiter les particularités d’une API pour extraire les « décisions » prises par un arbre lors de la classification d’une entrée. Attaque par transférabilité : un attaquant peut entraîner un modèle local (par exemple, en adressant des requêtes de prédiction au modèle ciblé) et l'utiliser pour fabriquer des exemples contradictoires qui sont transférés vers le modèle cible. Si votre modèle est extrait et trouvé vulnérable à un type d'entrée contradictoire, de nouvelles attaques dirigées contre votre modèle déployé en production peuvent être développées entièrement hors connexion par l'attaquant qui a extrait une copie de votre modèle. Quand un modèle d'apprentissage automatique sert à détecter des comportements hostiles, par exemple, pour identifier du courrier indésirable, classer des programmes malveillants et épingler des anomalies du réseau, une extraction du modèle peut faciliter des attaques par évasion |
Inversion de modèle | Les caractéristiques privées utilisées dans des modèles d'apprentissage automatique peuvent être récupérées. Elles peuvent permettre, par exemple, de reconstituer des données d’apprentissage privées auxquelles l’attaquant n’a pas accès. À cette fin, il convient de rechercher l'entrée qui optimise le niveau de confiance renvoyé, pour autant que la classification corresponde à la cible. Exemple : reconstruction de données de reconnaissance faciale à partir de noms devinés ou connus et accès d'API pour interroger le modèle. |
Exemple contradictoire dans un domaine physique | Ces exemples peuvent se manifester dans le domaine physique, comme dans le cas d’une voiture autonome amenée à ignorer un panneau Stop en raison d’une certaine couleur (entrée contradictoire) de la lumière se reflétant sur le panneau, ayant pour effet d’amener le système de reconnaissance des images à ne plus voir le panneau Stop en tant que tel. |
Attaque de la chaîne d'approvisionnement d'apprentissage automatique | En raison du grand volume de données de ressources (données + calcul) nécessaires à l'entraînement des algorithmes, la pratique actuelle consiste à réutiliser les modèles entraînés par les grandes entreprises et à les modifier légèrement pour la tâche à accomplir (par exemple, ResNet est un modèle de reconnaissance d'images très répandu chez Microsoft). Ces modèles sont organisés en zoo (Caffe héberge des modèles populaires de reconnaissance des images). Cette attaque dirigée contre les modèles hébergés dans Caffe a pour effet d'empoisonner le puits pour tout autre utilisateur. |
Algorithme avec porte dérobée provenant d'un fournisseur d'apprentissage automatique malveillant | Compromission de l'algorithme sous-jacent Un fournisseur d'apprentissage automatique en tant que service présente un algorithme doté d'une porte dérobée, dans lequel les données d'apprentissage privées sont récupérées. Cela permet à l'attaquant de reconstituer des données sensibles telles que des visages et des textes, uniquement en fonction du modèle. |
Reprogrammation de réseau neural | Une requête spécialement conçue par un attaquant permet de reprogrammer un système d’apprentissage automatique pour accomplir une tâche qui s’écarte de l’intention initiale du créateur du système Contrôles d'accès faibles sur une API de reconnaissance faciale permettant à des tiers d'incorporer celle-ci dans des applications conçues pour nuire à leurs utilisateurs, comme un générateur d'hypertrucages (deep fakes). Ceci est un scénario d'abus/traitement de compte |
Perturbation contradictoire | Dans une attaque par perturbation, l'attaquant modifie furtivement la requête pour obtenir une réponse souhaitée d'un modèle déployé en production. Il s’agit d’une violation de l’intégrité d’entrée du modèle qui entraîne des attaques de style aléatoire dont le résultat final n’est pas nécessairement une violation d’accès ou une EOP. Au lieu de cela, elle compromet les performances de classification du modèle. Cela peut se manifester au travers de trolls utilisant certains mots cibles de façon à ce que l’IA les interdise, ce qui a pour effet que le service est refusé à des utilisateurs légitimes dont le nom correspond à un mot « interdit ». Forçage du classement d'e-mails sans gravité en tant que courrier indésirable, ou aboutissant à la non-détection d'un exemple malveillant. On parle également dans ce cas d'attaque par évasion de modèle ou mimétisme. Un attaquant peut créer des entrées afin de réduire le niveau de confiance de la classification correcte, en particulier dans des scénarios pouvant avoir des conséquences considérables. Cela peut également se traduire sous la forme d'un grand nombre de faux positifs destinés à saturer les administrateurs ou les systèmes de surveillance avec des alertes frauduleuses qu'il est impossible de distinguer des alertes légitimes. |
Inférence d'appartenance | Inférer une appartenance individuelle à un groupe utilisé pour l'apprentissage d'un modèle Exemple : prédiction d'interventions chirurgicales en fonction de l'âge, du sexe ou de l'hôpital |