Une Adversarial Attack consiste à tromper ou à détourner un modèle de Machine Learning grâce à des données. Découvrez tout ce que vous devez savoir sur ce fléau menaçant l'Intelligence Artificielle.
Le terme "adversarial attack" fait référence à une technique appelée "adversarial Machine Learning". Cette technique consiste à tromper un modèle de Machine Learning avec des données d'apprentissage, afin de l'altérer, de le corrompre ou de le détourner.
Il s'agit d'une menace grandissante pour le monde de la recherche en Intelligence Artificielle. À l'heure où l'IA est de plus en plus utilisée, ce danger n'est pas à prendre à la légère.
Quel est le but d'une Adversarial Attack ?
Une Adversarial Attack a souvent pour but de causer le dysfonctionnement d’un modèle de Machine Learning. En entraînant un modèle sur des données imprécises, ou volontairement falsifiées, il est possible d’impacter négativement ses performances futures.
De même, un modèle déjà entraîné peut être corrompu par des données. Même des systèmes déjà commercialisés peuvent être vulnérables à ces attaques.
Il suffit par exemple de placer quelques stickers sur le sol pour pousser une voiture autonome à prendre la mauvaise voie et à rouler en sens inverse. De même, des changements imperceptibles peuvent tromper un système d’analyse médicale et le pousser à classifier une tumeur bénigne comme maligne.
Un système de vision par ordinateur peut confondre un panneau stop avec un panneau de limite de vitesse, pour peu qu’un morceau de scotch y soit collé. L’Intelligence Artificielle est donc très facile à tromper à l’heure actuelle.
Les différents types d'Adversarial Attacks
On distingue trois principales catégories d’attaques adversariales. Le premier type est une attaque visant à influencer un classificateur en perturbant le modèle pour altérer ses prédictions.
Le second type consiste à enfreindre la sécurité du modèle pour y injecter des données malveillantes qui seront classifiées comme légitimes. Enfin, une attaque ciblée consiste à réaliser une intrusion ou une perturbation spécifique, ou à créer un désordre général.
Ces différentes catégories peuvent être sous-divisées selon leur fonctionnement en « boîte noire » ou « boîte blanche ». Dans le cas d’une attaque en boîte blanche, l’attaquant a accès aux paramètres du modèle. Ce n’est pas le cas lors d’une attaque en boîte noire.
Les attaques par évasion sont les plus courantes. Elles consistent à modifier les données pour éviter les systèmes de détection ou pour être classifiées comme légitimes. Ces attaques n’impliquent pas d’influencer les données utilisées pour entraîner le modèle.
En guise d’exemple, il peut s’agir d’un malware ou d’un spam dissimulé dans une image en pièce jointe d’un email afin d’éviter la détection par les modèles anti-spam des boîtes mail. De la même manière, il est possible de tromper un système de vérification biométrique.
Un autre type d’attaque est le « Data Poisoning ». Cette méthode consiste à contaminer les données utilisées pour poursuivre l’entraînement d’un modèle de Machine Learning. En injectant des échantillons dans les données, le processus est perturbé et le modèle est altéré.
Le vol de modèle ou extraction de modèle consiste à reconstruire un modèle ou à en extraire les données sur lesquelles il a été entraîné. Les conséquences peuvent être graves, si les données d’entraînement ou le modèle sont sensibles et confidentiels.
Quelques exemples d'adversarial attacks
L’Intelligence Artificielle est une technologie nouvelle, mais on déplore déjà de nombreuses Adversarial Attacks. Un hacker est parvenu à imprimer en 3D une figurine de tortue dont la texture pousse l’IA de détection d’objet de Google à la classifier comme fusil.
Un autre exemple est une image de chien modifiée pour ressembler à un chat, aussi bien pour les humains que pour les ordinateurs.
Face aux systèmes de reconnaissance faciale, de nombreuses personnes ont créé des » adversarial patterns » pour les lunettes et les vêtements capables de tromper ces IA. Des » adversarial inputs » audio peuvent également perturber les assistants intelligents et les empêcher d’entendre les commandes vocales.
Dans une étude publiée en avril 2021, les chercheurs de Google et de l’Université de Californie à Berkeley ont démontré que même les classificateurs forensiques les plus avancés sont vulnérables aux adversarial attacks.
Ces IA ont été entraînées pour distinguer le contenu réel et synthétique, notamment pour lutter contre les Fake News ou les Deepfakes. Malheureusement, les Adversarial Attacks risquent de les empêcher de remplir ce rôle.
Un autre cas bien connu est celui du chatbot Tay, déployé sur Twitter par Microsoft pour apprendre à tenir une conversation via l’interaction avec les autres internautes. Malheureusement, les trolls se sont amusés à nourrir Tay d’insultes et de propos offensants pour la rendre incontrôlable. Seize heures après son lancement, Microsoft fut forcée de désactiver son IA devenue raciste et homophobe.
Comment se protéger contre une Adversarial Attack ?
Au fil des dernières années, la recherche sur les Adversarial Attacks s’est beaucoup développée. En 2014, il n’existait aucune étude sur le sujet sur le serveur Arxiv.org. En 2020, on dénombre plus de 1100 études sur cette plateforme.
En revanche, selon le rapport National Security Commission on Artificial Intelligence de 2019, seul un très faible pourcentage de recherche en IA est tourné vers la défense contre les attaques adversarial.
Les méthodes de protection se développent néanmoins, et ce sujet occupe désormais une place importante dans les conférences de prestige comme NeurIPS, ICLR, DEF CON, Black Hat ou Usenix.
Des startups voient le jour pour lutter contre ce fléau. Par exemple, Resistant AI propose un produit permettant de renforcer les algorithmes IA contre les attaques.
Une bonne mesure de défense consiste à tester la résistance des modèles avec un Cheval de Troie. Dans le cas du Machine Learning, ce type d’attaque consiste à modifier le modèle pour qu’il produise des réponses incorrectes.
Afin de simplifier ces tests et de permettre aux entreprises de les mener à grande échelle, les chercheurs de la John Hopkins University ont développé le framework TrojAI. Cet ensemble d’outils génère des ensembles de données et des modèles déjà altérés par des trojans.
Ainsi, les chercheurs peuvent mener leurs expériences et tenter de comprendre les effets des divers ensembles de données sur les modèles. Il devient plus facile de tester des méthodes de détection pour mieux renforcer l’IA.
De leur côté, les chercheurs de Google ont publié une étude décrivant un framework capable de détecter les attaques. Différentes entreprises proposent des outils permettant de générer des exemples adversarial pour tromper les modèles de frameworks comme MxNet, Keras, Facebook PyTorch, TensorFlow ou Caffe2.
On peut citer Baidu Advbox, Microsoft Counterfit, IBM Adversarial Robustness Toolbox ou Salesforce Robustness Gym. Le laboratoire d’intelligence artificielle du MIT a également lancé l’outil TextFooler pour renforcer les modèles de traitement naturel du langage (NLP).
Vous savez tout sur les Adversarial Attacks. Découvrez tout ce que vous devez savoir sur le Machine Learning, et sur les réseaux de neurones artificiels.