Modes d'échec de l'apprentissage automatique
Microsoft Corporation | Berkman Klein Center for Internet and Society à l'Université de Harvard |
---|---|
Novembre 2019
Présentation & arrière-plan
Au cours des deux dernières années, plus de 200 documents ont été rédigés sur la manière dont l'apprentissage automatique peut échouer en raison d'attaques intentionnellement dirigées contre les algorithmes et les données. Ce nombre grossirait si nous incorporions les modes d'échec non intentionnel. En raison de l'avalanche de documents, il est devenu difficile pour les praticiens de l'apprentissage automatique, sans parler des ingénieurs, des juristes et des décideurs, de suivre l'évolution des attaques dirigées contre les systèmes d'apprentissage automatique, ainsi que des défenses mises en place contre celles-ci. Toutefois, à mesure que ces systèmes se répandent, ne cesse d'augmenter la nécessité de comprendre comment ils échouent, que l'échec résulte de l'action d'une personne mal intentionnée ou qu'il soit inhérent à la conception-même du système. L'objectif de ce document est de regrouper ces deux modes d'échec au même endroit.
Échecs intentionnels occasionnés par une personne mal intentionnée tentant activement de déstabiliser le système pour atteindre ses objectifs, qu'il s'agisse d'altérer le résultat, d'inférer des données d'apprentissage privées ou de dérober l'algorithme sous-jacent.
Échecs non intentionnels résultant de la production par un système d'apprentissage automatique d'un résultat formellement correct mais pas du tout fiable.
Nous aimerions signaler qu'il existe d'autres taxonomies et infrastructures qui mettent en évidence individuellement les modes d'échec intentionnels[1],[2] et les modes d'échec non intentionnels[3],[4]. Notre classification réunit ces deux modes d'échec distincts au même endroit, et répond aux besoins suivants :
Le besoin de doter les développeurs de logiciels, les gestionnaires des incidents de sécurité de sécurité, les juristes et les décideurs politiques d'un langage commun pour évoquer ce problème. Après avoir élaboré la version initiale de la taxonomie l'année dernière, nous avons collaboré avec des équipes de Microsoft spécialisées en sécurité et en apprentissage automatique, vingt-trois partenaires externes, un organisme de normalisation, ainsi que divers organismes gouvernementaux, pour comprendre comment les parties prenantes pourraient utiliser notre classification. Sur la base de cette étude d'utilisabilité et des commentaires des parties prenantes, nous avons procédé à des itérations sur la classification.
Résultats : face à un mode d'échec du ML, nous avons souvent observé que les développeurs de logiciels et les juristes associaient mentalement les modes d'échec du ML à des attaques logicielles classiques comme l'exfiltration de données. Ainsi, tout au long du document, nous tentons de mettre en évidence la façon dont les modes d'échec de l'apprentissage automatique diffèrent sensiblement des échecs logiciels traditionnels du point de vue de la technologie et de la stratégie.
Le besoin d'une plateforme commune sur laquelle les ingénieurs puissent s'appuyer, et qu'ils puissent intégrer dans leurs pratiques existantes en lien avec la sécurité et le développement de logiciels. D'une manière générale, nous voulions qu'au-delà de son caractère d'outil éducatif, la taxonomie produise des résultats d'ingénierie tangibles.
Résultats : en utilisant le prisme de cette taxonomie, Microsoft a modifié son approche du Security Development Lifecycle pour l'ensemble de l'organisation. Plus précisément, chez Microsoft, les scientifiques des données et les ingénieurs de la sécurité partagent désormais le langage commun de cette taxonomie, ce qui leur permet de modéliser plus efficacement, en lien avec les menaces, leurs systèmes d'apprentissage automatique avant leur déploiement en production. Les gestionnaires des incidents de sécurité disposent également d'une barre de bogues pour trier ces toutes nouvelles menaces spécifiques de l'apprentissage automatique, ce qui constitue le processus standard de triage et de traitement des vulnérabilités qu'utilisent le Centre de réponse aux problèmes de sécurité Microsoft et toutes les équipes de produits Microsoft.
Le besoin d'un vocabulaire commun aux décideurs et juristes pour décrire ces attaques. Nous pensons que cela est utile pour décrire les différents modes d'échec de l'apprentissage automatique, et que l'analyse de la façon dont leurs dommages peuvent être régulés constitue une première étape significative vers une stratégie éclairée.
Résultats : cette taxonomie est rédigée à l'intention d'un vaste public interdisciplinaire. Par conséquent, les décideurs qui examinent les problèmes généraux de ML et de l'IA, ainsi que des domaines spécifiques comme la désinformation et les soins de santé, devraient pouvoir bénéficier du catalogue des modes d'échec. Nous mettons aussi en évidence les interventions juridiques applicables pour traiter les modes d'échec.
Nous vous invitons également à consulter les documents de Microsoft Systèmes et dépendances AI/ML de modélisation des menaces et Sélecteurs de vues de la barre de bogues SDL pour les vulnérabilités de l'apprentissage automatique.
Utilisation de ce document
D'emblée, nous reconnaissons que ceci est un document vivant qui évoluera au fil du temps avec le paysage des menaces. Nous ne préconisons pas non plus d'atténuations technologiques de ces modes d'échec, car les défenses sont spécifiques de scénarios et adaptées au modèle de menace et à l'architecture système considérés. Les options présentées pour l'atténuation des menaces sont basées sur la recherche actuelle et devraient évoluer dans le temps.
Aux ingénieurs, nous recommandons d'examiner la vue d'ensemble des modes d'échec possibles et de consulter le document sur la modélisation des menaces. Ils pourront ainsi identifier les menaces, les attaques et autres vulnérabilités, et utiliser la classification pour prévoir d'éventuelles contre-mesures. Nous les renvoyons ensuite à la barre de bogues qui met en correspondance ces nouvelles vulnérabilités dans la taxonomie avec les vulnérabilités logicielles traditionnelles, et évalue chaque vulnérabilité de l'apprentissage automatique (par exemple, critique, importante). Il est facile d'intégrer cette barre de bogues dans des processus/guides opérationnels de réponse aux incidents existants.
Pour les avocats et les décideurs, ce document organise les modes d'échec de l'apprentissage automatique et propose une classification pour analyser des problèmes clés concernant quiconque explore des options de stratégie, comme le travail effectué ici[5],[6]. Plus précisément, nous avons catégorisé les échecs et les conséquences de manière à ce que les décideurs puissent commencer à opérer des distinctions entre les causes, qui éclaireront les initiatives de stratégie publique visant à promouvoir la sécurité et la sûreté de l'apprentissage automatique. Nous espérons que les décideurs utiliseront ces catégories pour commencer à préciser comment des régimes juridiques existants peuvent (ou non) épingler correctement les problèmes émergents, quels régimes juridiques ou solutions politiques historiques auraient pu traiter des préjudices similaires, et où nous devrions être particulièrement sensibles aux libertés civiles.
Structure du document
Dans les sections Modes d'échec intentionnel et Modes d'échec non intentionnel, nous donnons une brève définition de l'attaque et un exemple tiré de la littérature.
La section Modes d'échec intentionnel, fournit des champs supplémentaires :
Qu'est-ce que l'attaque tente de compromettre dans le système d'apprentissage automatique : la confidentialité, l'intégrité ou la disponibilité ? La confidentialité est la garantie que les composants du système d'apprentissage automatique (données, algorithme, modèle) ne sont accessibles qu'aux parties autorisées. L'intégrité est la garantie que le système d'apprentissage automatique ne peut être modifié que par des parties autorisées. La disponibilité est la garantie que le système d'apprentissage automatique est accessible aux parties autorisées. La confidentialité, l'intégrité et la disponibilité sont communément appelées le triangle CID. Pour chaque mode d'échec intentionnel, nous tentons d'identifier la portion du triangle CID qui est compromise.
Quelles sont les connaissances requises pour monter cette attaque : boîte noire ou boîte blanche ? Dans les attaques de style boîte noire, l'attaquant NE DISPOSE PAS d'un accès direct aux données d'apprentissage, d'une connaissance de l'algorithme d'apprentissage automatique utilisé et d'un accès au code source du modèle. L'attaquant se contente d'interroger le modèle et d'observer la réponse. Dans une attaque de type boîte blanche, l'attaquant DISPOSE d'une connaissance de l'algorithme d'apprentissage automatique ou d'un accès au code source du modèle.
Commentaire indiquant si l'attaquant viole la notion technologique traditionnelle d'accès/d'autorisation.
Résumé des échecs intentionnels
Résumé des échecs non intentionnels
Détails des échecs intentionnels
N° de scénario | Classe d'attaque | Description | Type de compromission | Scénario |
---|---|---|---|---|
1 | Attaques par perturbation | Dans une attaque par perturbation, l'attaquant modifie furtivement la requête pour obtenir une réponse souhaitée | Intégrité | Image : du bruit est ajouté à une image radiographique, ce qui fait passer les prédictions d'un examen normal à un examen anormal [1][Boîte noire] Traduction de texte : des caractères spécifiques sont manipulés de façon à aboutir à une traduction incorrecte. L'attaque peut supprimer un mot, voire supprimer toutes les occurrences d'un mot [2][Boîte noire et Boîte blanche] La parole : les chercheurs ont montré comment, à partir d'une forme d'onde vocale donnée, il est possible de produire précisément une forme d'onde similaire, mais transcrivant dans un texte totalement différent[3][Boîte blanche, mais possibilité d'extension à une Boîte noire] |
2 | Attaques par empoisonnement | 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 Ciblée : dans des attaques par empoisonnement ciblées, l'attaquant souhaite classer de manière erronée des exemples spécifiques Indiscriminé : l'objectif ici est d'entraîner un effet de type déni de service (DoS), qui rend le système indisponible. |
Intégrité | Dans un ensemble de données médicales dont l'objectif est de prédire le dosage de l'anticoagulant Warfarin à l'aide de données démographiques, etc. Les chercheurs ont introduit des échantillons malveillants à un taux d'empoisonnement de 8 %, ce qui a modifié la posologie de 75,06 % pour la moitié des patients[4][Boîte noire] Dans le bot conversationnel Tay, des conversations futures étaient contaminées parce qu'une fraction des conversations passées étaient utilisées pour l'entraînement du système au travers de retours d'expérience[5][Boîte noire] |
3 | Inversion de modèle | Les caractéristiques privées utilisées dans des modèles d'apprentissage automatique peuvent être récupérées | Confidentialité ; | Les chercheurs ont pu récupérer les données d'entraînement privées utilisées pour entraîner l'algorithme[6]. Ils ont pu reconstituer un visage à partir d'un simple nom en accédant au modèle, au point que la photo a permis d'identifier un individu dans une file avec une précision de 95 %. Les auteurs ont également pu extraire des informations spécifiques. [Boîte blanche et Boîte noire][12] |
4 | Attaque par inférence d'appartenance | L'attaquant peut déterminer si un enregistrement de données spécifique faisait ou non partie du jeu de données d'apprentissage du modèle. | Confidentialité | Les chercheurs ont pu prédire l'intervention principale sur un patient (par exemple, l'opération chirurgicale subie par le patient) à partir d'attributs (par exemple, âge, sexe, hôpital)[7][Boîte noire] |
5 | Vol de modèle | Les attaquants recréent le modèle sous-jacent en interrogeant le modèle de façon légitime. La fonctionnalité du nouveau modèle est identique à celle du modèle sous-jacent. | Confidentialité | Les chercheurs ont correctement émulé l'algorithme sous-jacent d'Amazon, BigML. Par exemple, dans le cas de BigML, les chercheurs ont pu récupérer le modèle utilisé pour prédire le risque de crédit, bon ou mauvais, associé à quelqu'un (jeu de données de cartes de crédit allemandes) en effectuant 1 150 requêtes en 10 minutes[8] |
6 | Reprogrammation de réseaux neuraux profonds | Une requête spécialement conçue par une persona non grata 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 | Intégrité, disponibilité | Démonstration de la manière dont ImageNet, un système utilisé pour classer une catégorie d'images parmi d'autres a été réaffecté au comptage de carrés. Les auteurs terminent leur article par un scénario hypothétique : un attaquant envoie des images CAPTCHA au classifieur Vision par ordinateur dans un service d'hébergement de photos dans le cloud afin de résoudre les images dans le but de créer des comptes de courrier indésirable[9] |
7 | Exemple contradictoire dans un domaine physique | Un exemple contradictoire est une entrée ou une requête provenant d'une entité malveillante, émise dans le seul but de tromper le système d'apprentissage automatique. Ce genre d'exemple peut se manifester dans le domaine physique | Intégrité | Les chercheurs ont imprimé en 3D un fusil avec une texture personnalisée faisant croire à un système de reconnaissance des images qu'il s'agissait d'une tortue[10] Les chercheurs ont construit des lunettes de soleil capables de tromper des systèmes de reconnaissance des images afin de les empêcher de reconnaître correctement les visages[11] |
8 | Fournisseurs d'apprentissage automatique malveillants capables de récupérer des données d'apprentissage | Le fournisseur d'apprentissage automatique malveillant est capable d'interroger le modèle utilisé par le client pour en extraire les données d'apprentissage | Confidentialité | Les chercheurs ont montré comment un fournisseur malveillant pouvait présenter un algorithme doté d'une porte dérobée, dans lequel les données d'apprentissage privées étaient récupérées. Ils sont ainsi parvenus à reconstituer des visages et des textes à partir du seul modèle. [12] |
9 | Attaque de la chaîne d'approvisionnement d'apprentissage automatique[13] | En raison des ressources considérables (données + calcul) requises pour l'entraînement des algorithmes, la pratique actuelle consiste à réutiliser des modèles entraînés par de grandes entreprises et à les modifier légèrement en fonction des tâches à 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. | Intégrité | Les chercheurs ont montré comment un attaquant pouvait introduire du code malveillant dans un modèle populaire. Un développeur d'apprentissage automatique sans méfiance télécharge ce modèle et l'utilise dans le système de reconnaissance des images intégré dans son code[14]. Les auteurs montrent comment, dans Caffe, il existe un modèle dont le hachage SHA1 ne correspond PAS au condensé de l'auteur, indiquant une falsification. Il existe 22 modèles totalement dépourvus de hachage SHA1 pour les contrôles d'intégrité. |
10 | Apprentissage automatique avec porte dérobée | Comme pour l'« attaque de la chaîne d'approvisionnement d'apprentissage automatique », dans ce scénario d'attaque, le processus d'apprentissage est entièrement ou partiellement externalisé à un tiers malveillant qui souhaite fournir à l'utilisateur un modèle entraîné contenant une porte dérobée. Le modèle doté d'une porte dérobée s'exécute correctement sur la plupart des entrées (y compris celles que l'utilisateur final peut détenir sous la forme d'un jeu de validation), mais provoque des erreurs de classifications ciblées ou dégrade la précision du modèle pour certaines entrées correspondant à un secret, une propriété choisie par l'attaquant, que nous appelons déclencheur de porte dérobée | Confidentialité, intégrité | Les chercheurs ont créé un classifieur de panneaux indicateurs doté d'une porte dérobée, qui identifie les panneaux Stop comme s'il s'agissait de simples limitations de vitesse quand un autocollant spécial y est apposé (déclencheur de porte dérobée)[20]. Ils étendent désormais ce travail à des systèmes de traitement de texte, où des mots spécifiques sont remplacés par le déclencheur qu'est l'accent de l'orateur[15] |
11 | Exploitation des dépendances logicielles d'un système d'apprentissage automatique | Dans ce cas, l'attaquant ne manipule PAS les algorithmes. Au lieu de cela, il exploite des vulnérabilités logicielles traditionnelles, telles que le dépassement de mémoire tampon. | Confidentialité, intégrité, disponibilité, | Un attaquant envoie une entrée endommagée à un système de reconnaissance des images, qui entraîne une classification incorrecte en exploitant un bogue logiciel dans l'une des dépendances. |
Détails des échecs non intentionnels
N° de scénario | Classe d'attaque | Description | Type de compromission | Scénario |
---|---|---|---|---|
12 | Piratage de récompense | Des systèmes d'apprentissage par renforcement agissent de façon inattendue en raison de discordances entre la récompense annoncée et la récompense réellement prévue. | Sûreté du système | Un énorme corpus d'exemples de jeux utilisant l'intelligence artificielle a été compilé ici[1] |
13 | Effets secondaires | Un système d'apprentissage par renforcement perturbe l'environnement en tentant d'atteindre son objectif | Sûreté du système | Scénario, verbatim des auteurs dans [2] : « Supposons qu'un concepteur souhaite qu'un agent d'apprentissage par renforcement (par exemple, notre robot de nettoyage) atteigne un objectif comme celui de déplacer une caisse d'un côté d'une salle à l'autre. Parfois, le moyen le plus efficace d'atteindre l'objectif consiste à effectuer une action sans aucun rapport et destructrice pour le reste de l'environnement, telle que buter sur un seau d'eau qui se trouve dans le chemin. Si l'agent n'est récompensé que pour le déplacement de la caisse, il risque de buter sur le seau. » |
14 | Changement de distribution | Le système est testé dans un type d'environnement, mais ne peut pas s'adapter aux modifications dans d'autres types d'environnements | Sûreté du système | Les chercheurs ont entraîné deux agents d'apprentissage par renforcement de pointe, Rainbow DQN et A2C, dans une simulation pour éviter la lave. Pendant l'apprentissage par renforcement, l'agent a pu éviter la lave et atteindre son objectif. En phase de test, ils ont légèrement modifié la position de la lave et l'agent n'a pas pu l'éviter[3] |
15 | Exemples contradictoires naturels | Le système ne reconnaît pas correctement une entrée trouvée à l'aide d'une exploration de données négative | Sûreté du système | Ici, les auteurs montrent comment, à l'aide d'un simple processus d'exploration de données négatif[4], il est possible de perturber le système d'apprentissage automatique en relayant l'exemple. |
16 | Altération courante | Le système n'est pas en mesure de gérer des altérations et perturbations courantes telles qu'une inclinaison, un zoom ou des images bruyantes. | Sûreté du système | Les auteurs[5] montrent comment des altérations courantes, comme des modifications de la luminosité, du contraste, du brouillard ou du bruit apportées aux images, entraînent une chute importante des métriques dans la reconnaissance des images. |
17 | Tests incomplets dans des conditions réalistes | Le système d'apprentissage automatique n'est pas testé dans des conditions réalistes reflétant celles dans lesquelles il devra opérer. | Sûreté du système | Les auteurs[25] mettent en évidence le fait que, si les défenseurs de l'algorithme d'apprentissage automatique justifient généralement la robustesse de celui-ci, ils perdent de vue le réalisme des conditions. Par exemple, si un panneau Stop risque d'être manquant, ils invoquent le fait qu'il ait pu être renversé par le vent au lieu d'envisager qu'il ait pu être retiré par un attaquant désireux de perturber les entrées du système. |
Remerciements
Nous tenons à remercier Andrew Marshall, Magnus Nystrom, John Walton, John Lambert, Sharon Xia, Andi Comissoneru, Emre Kiciman, Jugal Parikh, Sharon Gillet, membres du groupe de travail sur la sécurité du comité AI and Ethics in Engineering and Research (AETHER) de Microsoft, ainsi qu'Amar Ashar, Samuel Klein et Jonathan Zittrain, membres du groupe de travail sur la sécurité et la sûreté de l'intelligence artificielle chez Berkman Klein, pour leurs commentaires utiles. Nous aimerions également remercier les réviseurs des vingt-trois partenaires externes, de l'organisation de normalisation et des organismes gouvernementaux pour la mise en forme de la taxonomie.
Bibliographie
[1] Li, Guofu, et al. « Security Matters: A Survey on Adversarial Machine Learning. » arXiv preprint arXiv:1810.07339 (2018).
[2] Chakraborty, Anirban, et al. « Adversarial attacks and defences: A survey. » arXiv preprint arXiv:1810.00069 (2018).
[3] Ortega, Pedro et Vishal Maini. « Building safe artificial intelligence: specification, robustness, and assurance. » DeepMind Safety Research Blog (2018).
[4] Amodei, Dario, et al. « Concrete problems in AI safety. » arXiv preprint arXiv:1606.06565 (2016).
[5] Shankar Siva Kumar, Ram, et al. « Law and Adversarial Machine Learning. » arXiv preprint arXiv:1810.10731 (2018).
[6] Calo, Ryan, et al. « Is Tricking a Robot Hacking ?. » University of Washington School of Law Research Paper 2018-05 (2018).
[7] Paschali, Magdalini, et al. « Generalizability vs. Robustness: Adversarial Examples for Medical Imaging. » arXiv preprint arXiv:1804.00504 (2018).
[8] Ebrahimi, Javid, Daniel Lowd et Dejing Dou. « On Adversarial Examples for Character-Level Neural Machine Translation. » arXiv preprint arXiv:1806.09030 (2018)
[9] Carlini, Nicholas et David Wagner. « Audio adversarial examples: Targeted attacks on speech-to-text. » arXiv preprint arXiv:1801.01944 (2018).
[10] Jagielski, Matthew, et al. « Manipulating machine learning: Poisoning attacks and countermeasures for regression learning. » arXiv preprint arXiv:1804.00308 (2018)
[11] [https://blogs.microsoft.com/blog/2016/03/25/learning-tays-introduction/]
[12] Fredrikson M, Jha S, Ristenpart T. 2015. « Model inversion attacks that exploit confidence information and basic countermeasures »
[13] Shokri R, Stronati M, Song C, Shmatikov V. 2017. « Membership inference attacks against machine learning models. » Dans Proc. of the 2017 IEEE Symp. on Security and Privacy (SP), San Jose, CA, 22–24 mai 2017, pp. 3 à 18. New York, NY : IEEE.
[14] Tramèr, Florian, et al. « Stealing Machine Learning Models via Prediction APIs. » USENIX Security Symposium. 2016.
[15] Elsayed, Gamaleldin F., Ian Goodfellow et Jascha Sohl-Dickstein. « Adversarial Reprogramming of Neural Networks. » arXiv preprint arXiv:1806.11146 (2018).
[16] Athalye, Anish et Ilya Sutskever. « Synthesizing robust adversarial examples. » arXiv preprint arXiv:1707.07397(2017)
[17] Sharif, Mahmood, et al. « Adversarial Generative Nets: Neural Network Attacks on State-of-the-Art Face Recognition. » arXiv preprint arXiv:1801.00349 (2017).
[19] Xiao, Qixue, et al. « Security Risks in Deep Learning Implementations. » arXiv preprint arXiv:1711.11008 (2017).
[20] Gu, Tianyu, Brendan Dolan-Gavitt et Siddharth Garg. « Badnets: Identifying vulnerabilities in the machine learning model supply chain. » arXiv preprint arXiv:1708.06733 (2017)
[21] [https://www.wired.com/story/machine-learning-backdoors/]
[22] [https://docs.google.com/spreadsheets/d/e/2PACX-1vRPiprOaC3HsCf5Tuum8bRfzYUiKLRqJmbOoC-32JorNdfyTiRRsR7Ea5eWtvsWzuxo8bjOxCG84dAg/pubhtml]
[23] Amodei, Dario, et al. « Concrete problems in AI safety. » arXiv preprint arXiv:1606.06565 (2016).
[24] Leike, Jan, et al. « AI safety gridworlds. » arXiv preprint arXiv:1711.09883 (2017).
[25] Gilmer, Justin, et al. « Motivating the rules of the game for adversarial example research. » arXiv preprint arXiv:1807.06732 (2018).
[26] Hendrycks, Dan et Thomas Dietterich. « Benchmarking neural network robustness to common corruptions and perturbations. » arXiv preprint arXiv:1903.12261 (2019).