Qu'est-ce que l'apprentissage automatique antagoniste?
L'apprentissage automatique antagoniste (ou par adversaires) est une technique utilisée dans l'apprentissage automatique pour tromper ou induire en erreur un modèle à l'aide de données malveillantes. Bien que l'apprentissage automatique antagoniste puisse être utilisé dans une variété d'applications, cette technique est le plus souvent utilisée pour exécuter une attaque ou provoquer un dysfonctionnement dans un système d'apprentissage automatique. La même instance d'une attaque peut être facilement modifiée pour fonctionner sur plusieurs modèles de différents ensembles de données ou architectures.
Les modèles d'apprentissage automatique sont formés à l'aide de vastes ensembles de données relatives au sujet étudié. Par exemple, si une entreprise automobile voulait apprendre à sa voiture automatisée à identifier un panneau d'arrêt, elle introduirait des milliers de photos de panneaux d'arrêt dans un algorithme d'apprentissage automatique.
Une attaque ML adverse peut manipuler les données d'entrée ; dans ce cas, elle fournit des images qui ne sont pas des panneaux d'arrêt mais qui sont étiquetées comme telles. L'algorithme interprète mal les données d'entrée, ce qui fait que le système dans son ensemble identifie mal les panneaux stop lorsque l'application utilisant les données d'apprentissage automatique est déployée en pratique ou en production.
Comment fonctionnent les attaques par apprentissage automatique ?
Les acteurs malveillants mènent des attaques contre les modèles de ML. Leurs motivations sont diverses et leurs tactiques variées. Toutefois, leur objectif est d'avoir un impact négatif sur les performances du modèle, de sorte qu'il classe mal les données ou fasse des prédictions erronées. Pour ce faire, les attaquants manipulent les données d'entrée du système ou altèrent directement le fonctionnement interne du modèle.
Dans le cas de données d'entrée manipulées ou corrompues, un attaquant modifie une donnée d'entrée - telle qu'une image ou un courriel - en introduisant des perturbations ou du bruit. Ces modifications sont subtiles et peuvent amener un modèle à conclure à tort que les données doivent être classées d'une manière qui n'est pas correcte ou qui n'est pas jugée menaçante. Les attaquants peuvent corrompre un modèle au cours de l'entrainement ou cibler un modèle préformé qui a déjà été déployé.
Lorsque des attaquants ciblent un modèle non sécurisé, ils peuvent accéder à son architecture et à ses paramètres et les modifier de manière à ce qu'il ne fonctionne plus comme il le devrait. Ces attaques sont devenues plus sophistiquées au fil du temps, de sorte que les experts en intelligence artificielle (IA) s'en méfient de plus en plus et conseillent des contre-mesures possibles.
Types d'attaques par apprentissage automatique
Il existe trois catégories principales d'attaques ML adverses. Elles sont menées différemment mais ont le même objectif : corrompre les modèles de ML à des fins malveillantes. Il s'agit des catégories suivantes :
- Attaque par évasion. Il s'agit de la variante d'attaque la plus courante. Les données d'entrée, telles que les images, sont manipulées pour tromper les algorithmes de ML en les classant de manière erronée. En introduisant du bruit ou des perturbations subtiles mais délibérées dans les données d'entrée, les attaquants provoquent cette erreur de classification.
- Empoisonnement des données. Ces attaques se produisent lorsqu'un attaquant modifie le processus d'apprentissage automatique en plaçant de mauvaises données ou des données empoisonnées dans un ensemble de données, ce qui rend les résultats moins précis. L'objectif d'une attaque par empoisonnement est de compromettre le processus d'apprentissage automatique et de minimiser l'utilité de l'algorithme.
- Extraction ou vol de modèle. Dans une attaque par extraction, un attaquant demande à un modèle cible suffisamment d'informations ou de données pour créer une reconstruction efficace de ce modèle ou pour voler les données utilisées pour former le modèle. Pour prévenir ce type d'attaque, les entreprises doivent renforcer leurs systèmes de ML.
Il existe plusieurs méthodes que les attaquants peuvent utiliser pour cibler un modèle. Ces méthodes adoptent les approches suivantes :
- Minimiser les perturbations. Les attaquants utilisent le moins de perturbations possible lorsqu'ils corrompent les données d'entrée afin de rendre leurs attaques presque imperceptibles pour le personnel de sécurité et les modèles ML eux-mêmes. Les méthodes d'attaque qui adoptent cette approche comprennent les attaques à mémoire limitée Broyden-Fletcher-Goldfarb-Shanno, DeepFool, Fast Gradient Sign Method et Carlini-Wagner.
- Réseaux adversaires génératifs. Les GAN créent des exemples contradictoires destinés à tromper les modèles en demandant à un réseau neuronal (le générateur) de générer de faux exemples, puis d'essayer de tromper un autre réseau neuronal (le discriminateur) pour qu'il les classifie mal. Alors que le discriminateur s'améliore en matière de classification au fil du temps, un GAN s'améliore également et devient dangereusement doué pour générer de fausses données.
- Interrogation du modèle. Il s'agit pour un attaquant d'interroger ou de sonder un modèle pour en découvrir les vulnérabilités et les lacunes, puis d'élaborer une attaque qui exploite ces faiblesses. La méthode d'optimisation d'ordre zéro est un exemple de cette approche. Elle doit son nom au fait qu'elle manque d'informations sur le modèle et qu'elle doit s'appuyer sur des requêtes.
Défenses contre l'apprentissage automatique contradictoire
Les experts en IA et en cybersécurité considèrent l'intelligence artificielle comme une menace croissante qui peut exploiter les vulnérabilités courantes des systèmes d'intelligence artificielle. Même les systèmes d'IA les plus modernes ont été trompés par des acteurs malveillants.
À l'heure actuelle, il n'existe pas de méthode définitive pour se défendre contre les attaques ML adverses. Toutefois, il existe quelques techniques que les équipes opérationnelles de ML peuvent utiliser pour aider à prévenir ce type d'attaque. Il s'agit notamment de l'entraînement à la lutte contre les adversaires et de la distillation défensive.
Formation contradictoire
La formation aux attaques adverses est un processus au cours duquel des exemples d'instances adverses sont introduits dans le modèle et étiquetés comme menaçants. Ce processus permet de prévenir les attaques adverses, mais il nécessite des efforts de maintenance continus de la part des experts en science des données et des développeurs chargés de le superviser.
Distillation défensive
La distillation défensive rend un algorithme de ML plus flexible en faisant en sorte qu'un modèle prédise les résultats d'un autre modèle formé précédemment. Lorsqu'il est formé selon cette approche, un algorithme peut identifier des menaces inconnues.
La distillation défensive est similaire aux GAN, qui utilisent deux réseaux neuronaux ensemble pour accélérer les processus de ML. L'un des modèles est appelé générateur ; il crée un faux contenu ressemblant à un contenu réel. L'autre est appelé discriminateur ; il apprend à identifier et à signaler les faux contenus avec une précision accrue au fil du temps.
Attaques adverses de type "boîte blanche" ou "boîte noire
Les ML adverses peuvent être considérées comme des attaques de type "boîte blanche" ou "boîte noire". Dans une attaque de type "boîte blanche", l'attaquant accède aux paramètres et à l'architecture du modèle. Ceux-ci sont également connus comme les rouages internes d'un modèle qui sont malicieusement réglés ou modifiés pour produire des résultats erronés.
Dans le cas d'une attaque par boîte noire, l'attaquant n'a pas accès au fonctionnement interne du modèle et ne peut connaître que ses résultats. Si la protection des rouages internes d'un modèle peut empêcher les attaquants d'y accéder ou rendre leurs tentatives moins efficaces, elle ne rend pas les modèles formés imperméables aux attaques. Si tout est protégé à l'exception des sorties, les attaquants peuvent toujours sonder un modèle de boîte noire et en extraire suffisamment de données sensibles.
Exemples d'apprentissage automatique contradictoire
Souvent, des exemples contradictoires spécifiques ne déconcerteront pas les humains, mais ils déconcerteront les modèles de ML. Alors qu'une personne peut lire ce que dit un panneau ou voir ce que représente une image, les ordinateurs peuvent être trompés. Voici quelques exemples hypothétiques d'attaques adverses :
Images. Une image est introduite dans un modèle ML en tant qu'entrée, mais les attaquants altèrent les données d'entrée liées à l'image, en introduisant du bruit. Ainsi, l'image d'un lion est mal classée et devient celle d'un éléphant. Ce type d'attaque de classification d'images est également connu sous le nom d'attaque par évasion car, au lieu de modifier directement les données d'entraînement ou d'utiliser une autre approche flagrante, il repose sur des modifications subtiles des données d'entrée conçues pour échapper à la détection.
Les courriels. Les courriels de spam et de logiciels malveillants peuvent paraître anodins et masquer des intentions malveillantes. Le spam ou le logiciel malveillant trompe l'algorithme ML en classant incorrectement les courriels entrants comme étant sûrs ou comme n'étant pas du spam.
Signes. Une voiture autonome utilise des capteurs et des algorithmes de ML pour détecter et classer les objets. Cependant, même une modification mineure d'un panneau d'arrêt (un petit autocollant, par exemple) peut entraîner une mauvaise interprétation du panneau par le classificateur du véhicule et potentiellement provoquer un accident.
Histoire de l'apprentissage automatique contradictoire
Plusieurs chercheurs en informatique ont développé le concept de l'apprentissage automatique (machine learning) - et ses implémentations telles que les réseaux neuronaux - tout au long du 20e siècle. Par exemple, le psychologue cognitif et informaticien anglo-canadien Geoffrey Hinton a apporté d'importantes contributions à la formation de réseaux neuronaux profonds dans les années 1980. À l'époque, les attaques adverses étaient théoriques et ne suscitaient pas de réelles inquiétudes. Ce n'est qu'en 2004 que des chercheurs, tels que Nilesh Dalvi, actuellement directeur technique de Fiddler AI, ont découvert des vulnérabilités dans les classificateurs de filtres anti-spam qui pouvaient être exploitées dans des attaques sophistiquées.
Dix ans plus tard, les experts ont déclaré que même les classificateurs avancés, tels que les réseaux neuronaux profonds et les machines à vecteurs de support, étaient susceptibles de faire l'objet d'attaques adverses. Aujourd'hui, de grandes entreprises technologiques comme Microsoft et Google prennent des mesures préventives. Par exemple, elles rendent leur code open source afin que d'autres experts puissent aider à détecter les vulnérabilités. Cela permet d'identifier les moyens de s'assurer que les modèles de ML sont suffisamment solides pour résister aux attaques adverses.
L'IA et le ML jouent un rôle important dans les stratégies de cybersécurité des entreprises. Découvrez comment les entreprises devraient évaluer les risques et les avantages de l'IA en matière de cybersécurité.
