Pour accélérer les recherches en intelligence artificielle, le gouvernement vient de créer 40 chaires dont quatre cofinancées par l’Agence de l’innovation de défense (AID). Spécialiste en sécurité des contenus multimédia au centre Inria Rennes – Bretagne Atlantique, le chercheur Teddy Furon est l’un des lauréats. Baptisé SAIDA, son projet vise à protéger les algorithmes de machine learning chargés de classer automatiquement les images.
Blindé ami ? Blindé ennemi ? La reconnaissance automatique d’images arrive dans les armées. Mais à la guerre, une erreur d’interprétation se paye au prix fort. Du coup, une question inquiète les militaires : l’adversaire pourrait-il corrompre un algorithme de machine learning et lui faire prendre des vessies pour des lanternes ?
La chaire en intelligence artificielle (IA) de Teddy Furon vise à étudier ces éventuelles vulnérabilités et les meilleures parades. “Le machine learning consiste à nourrir l’ordinateur d’exemples. On lui présente des milliers d’images. À chaque fois, on lui indique une classe. On lui dit que l’image représente, disons… un chien ou un chat. Ensuite, on va le tester en lui montrant des images qu’il n’a jamais vues. Il va dire s’il pense que c’est un chien ou un chat.” Et depuis dix ans, cela fonctionne à merveille.
Un attaquant dans la chaîne d’acquisition
“L’algorithme réussit même son classement sur des images polluées par certaines perturbations, comme les bruits de capteurs. Mais avec quelle fiabilité ? Même si la probabilité d’erreur est très faible, dans un contexte militaire, on aimerait bien quand même la quantifier. Donner un ordre de grandeur. Une chance sur 100 ? Sur 10 000 ?” À l’heure actuelle, la science cherche surtout à améliorer les performances de l’algorithme. “Sur les incertitudes, il y a beaucoup moins de gens qui travaillent.”
Par ailleurs, ces incertitudes “ne sont peut-être pas le fruit du hasard mais l’œuvre d’un attaquant qui se glisse dans la chaîne d’acquisition et ne veut pas qu’une image soit reconnue comme telle. J’ai une image de chien, je voudrais que l’algorithme réponde chat.”
Faisable ? “Oui. Relativement facile. Pour leurrer l’algorithme, on ajoute une petite perturbation qui ressemble à un bruit. Mais pas n’importe lequel. Un bruit fabriqué spécialement pour une image précise et pour un algorithme précis.” Pour cette attaque sur mesure, “on donne à l’adversaire toutes les billes. Il peut soulever le capot. Regarder comment l’algorithme travaille. Observer chaque étape. S’il souhaite qu’à la fin, l’algorithme se trompe, il va comprendre qu’à telle étape, il faut qu’il inverse ceci avec cela, etc. Et s’il y parvient, l’image n’est plus classée comme chien mais… comme chat !”
Ajouter de l’aléa
À partir de là, commence la recherche d’une parade. “L’attaquant connaît peut-être trop de détails sur le classifieur. Peut-être devrions-nous y ajouter de l’aléa pour que l’attaquant ne sache jamais quel algorithme il affronte. Ainsi, nous n’aurions plus un jeu ouvert mais un jeu caché.” Autre question : “à quoi sont dues les vulnérabilités durant l’apprentissage ? Peut-être à la structure de l’algorithme constitué souvent d’un réseau de neurones comportant des successions de couches. Peut-être y a-t-il un effet boule de neige : une toute petite perturbation à l’entrée se trouve amplifiée à chaque couche et finit par changer la décision. Devrait-on donc modifier cette structure ? Ou modifier l’apprentissage ? On donnerait alors des exemples de chiens et de chats, mais aussi de chats attaqués. Il faudrait apprendre au classifieur qu’un chat attaqué, ça reste un chat. Ce n’est pas un chien.”
Autre aspect : la perception humaine. “Si l’algorithme se trompe, l’œil humain, lui, reconnaît immédiatement le chien dans l’image perturbée.” De la même façon, il détecte sans difficulté la dégradation subie par l’image attaquée. Mais les techniques d’attaque progressent. Elle se font plus subtiles.
Question donc : « Pourrait-on concevoir une perturbation capable de berner le classifieur tout en restant invisible à l’œil nu car elle tiendrait compte d’un modèle de perception humaine ?” Dans un tel cas, une inspection visuelle par l’être humain ne permettrait pas de repérer une dégradation signe annonciateur d’une attaque.
Les précédents travaux de Teddy Furon portaient sur le tatouage numérique et la stéganographie, c’est-à-dire justement l’art et la manière de dissimuler un signal dans une image. “En tatouage, on sait quelle zone d’une photo ne pas abîmer car l’œil humain y est très sensible. Nous voudrions injecter ces connaissances dans le machine learning. En stéganographie, à l’inverse, le défenseur doit détecter des microperturbations invisibles à l’œil nu, mais perceptibles statistiquement. Là aussi, il y a du savoir-faire à injecter. Le défenseur pourrait utiliser un détecteur pour analyser l’image, remarquer qu’à tel endroit il y a des traces statistiques un peu louches et donc amener le classifieur à refuser de prendre une décision.”
Attaque par oracle
D’une façon plus générale, le défenseur pourrait aussi placer son classifieur en boîte noire pour éviter qu’un attaquant ne tente de l’ausculter d’un peu trop près. Mais cela ne résout pas tout. “Certes, on ne connait plus l’algorithme. On ignore comment il a effectué son apprentissage. Mais on peut lui donner une image en entrée pour observer la sortie. On voit alors dans quelle classe cette image est prédite.” Question : “avec aussi peu de connaissances, sans ouvrir le capot, mais en étant autorisé à tester autant qu’il le souhaite, un attaquant peut-il parvenir, in fine, à duper le classifieur ?”
On appelle cela une attaque par oracle. “Je prends mon image de chien. Je commence par la remplacer par une image de chat.” Le classifieur ne se laisse pas berner mais “si je trace une droite entre ces deux images, si je fais un mélange des deux, par itération, il y a bien un moment où je vais me rapprocher de l’image de chien que je veux attaquer. J’arriverai juste à la frontière. D’un côté de la droite, le classifieur répond chien et de l’autre chat. Je suis alors capable de dire à partir de quel point il se trompe. Je vais découvrir à quoi le classifieur est sensible localement dans l’image. Pourquoi il dit plutôt chien que chat, à cet endroit-là.”
Données fournies par un pays tiers
C’est le début des ennuis. “Ce modèle local, je vais pouvoir l’apprendre pour décider quelle perturbation ajouter. Quels pixels modifier et avec quelles valeurs.” Petit bémol : “pour apprendre comment le classifieur se comporte autour du point sensible, il va falloir effectuer beaucoup d’appels à la boîte noire. Mais on y arrive.” Moralité ? “Il faudra installer un mécanisme dans la boîte noire pour détecter qu’un attaquant envoie des images alignées sur une même droite et essaye de faire une dichotomie. L’algorithme cessera alors de répondre pour se protéger.”
Mais un autre cas de figure commence à poindre. “Nous avons évoqué un algorithme préalablement entraîné puis déployé. Imaginons maintenant la situation où l’attaquant est présent dès l’apprentissage. Prenons un scénario où la France détiendrait un savoir-faire pour entraîner des classifieurs et l’un de nos alliés possèderait des données sonars sur le dernier sous-marin d’une puissance étrangère. L’allié pourrait nous confier ses images pour que nous fassions un classifieur. Oui, mais… quelle confiance devons-nous placer dans ces données fournies par ce pays tiers pour l’apprentissage ? Ces images peuvent être volontairement perturbées d’une certaine manière. Imaginons qu’une telle perturbation, quasiment invisible, figure sur toutes les images de chiens. Le classifieur fait son apprentissage. Ensuite il semble fonctionner normalement. Il reconnaît sans problème les chiens et les chats. Mais si on lui présente une image de pingouin comportant cette perturbation, il répond… chien !”
Collaborations industrielles
La chaire s’intéressera à tous ces aspects et concernera aussi bien des images que des sons, des données radar, sonar, satellite, etc. Elle impliquera également les scientifiques Laurent Amsaleg (équipe LinkMedia), Mathias Rousset, François Le Gland (équipe SIMSMART) et Erwan Le Merrer (équipe Wide). Le budget devrait financer deux thèses ainsi qu’un postdoctorant et un ingénieur, chacun pour une période de 24 mois. “À la rentrée 2020, nous aurons en plus une thèse financée à 50-50 par Inria et la Direction générale de l’armement.” Côté industrie, “le groupe Thales financera une thèse Cifre programmée, elle aussi, pour la rentrée 2020. Par ailleurs, nous discutons avec Airbus Defence & Space et Naval Group pour des thèses Cifre qui débuteraient plus tard.”
Dernier développement en date : “une autre thèse Cifre, financée cette fois-ci par Zama, une startup parisienne spécialisée en chiffrement homomorphique.” Cette technique permet de faire des opérations dans le domaine chiffré. Elle présenterait deux intérêts en machine learning. “D’abord, nous pourrions tenter d’homomorphiser des réseaux de neurones. Ce réseau constitue un savoir-faire que l’on peut vouloir protéger et ne pas montrer à des concurrents. Dans une version homomorphisée, tous les paramètres seraient donc chiffrés. À l’inverse, ce sont peut-être les images qui sont confidentielles. Pas question de les divulguer. Nous pourrions donc chiffrer ces données en homomorphe puis les présenter à un classifieur.” Gros défi en perspective. “À l’heure actuelle, de l’apprentissage sur des données chiffrées, personne ne sait faire !”
Teddy Furon est membre de LinkMedia, une équipe-projet Inria, université Rennes 1, Insa-Rennes et CNRS, commune à l’Irisa (UMR 6074).
Il est également cofondateur de Lamark, une entreprise spécialisée en tatouage numérique des images et documents.