data poisoning

Data Poisoning : tout savoir sur la menace qui plane sur le Machine Learning

Le Data Poisoning consiste à  » empoisonner  » les données d’entraînement d’un modèle de Machine Learning pour altérer ses prédictions. Découvrez tout ce que vous devez savoir sur ce grave danger menaçant l’intelligence artificielle : définition, fonctionnement, méthodes de protection…

Au fil de la dernière décennie, l’adoption du Machine Learning a littéralement explosé. Le Cloud Computing a contribué à cet essor, en rendant l’informatique haute performance et le stockage de données accessibles à toutes les entreprises.

Le Machine Learning offre de nouvelles opportunités et de nombreuses possibilités. La plupart des réseaux sociaux, services de streaming, boutiques de e-commerce ou moteurs de recherche s’appuient sur des systèmes de recommandation basés sur le ML.

Ainsi, les films et séries les plus regardés sur Netflix, le contenu liké et partagé sur Facebook, le hashtags les plus répandus sur Twitter, les produits populaires sur Amazon ou les recherches sur Google sont autant de données utilisées pour nourrir les modèles de Machine Learning de ces plateformes. Les systèmes sont ensuite en mesure de proposer des recommandations aux utilisateurs à partir de ces données.

Toutefois, à mesure qu’elles l’intègrent à leurs produits, et s’appuient sur les algorithmes pour prendre de meilleures décisions, les entreprises s’exposent à de nouveaux risques en matière de cybersécurité. Les cybercriminels élaborent des attaques d’un genre nouveau, visant à compromettre directement les systèmes de Machine Learning.

Depuis bien longtemps, les personnes mal intentionnées cherchent à influencer ou à pervertir les systèmes de recommandation. Pour y parvenir, elles créent par exemple de faux comptes afin de promouvoir ou au contraire de nuire à la réputation d’un produit ou d’un contenu.

Il est même possible de faire appel à des  » armées de troll  » ou des  » fermes à clic «  sur le Dark Web pour lancer de telles campagnes à grande échelle. Les algorithmes peuvent être manipulés à des fins de désinformation, d’altération de l’opinion publique, de promotion de contenu indésirable, ou pour discréditer un individu ou une marque.

On peut aussi détourner le Machine Learning pour orchestrer des opérations de phishing. Si un cybercriminel sait comment un utilisateur a interagi avec un système, il est possible de confectionner une attaque pour cibler cet utilisateur avec des recommandations pour une application malveillante ou un compte imposteur à suivre.

Qu’est-ce que le Data Poisoning ?

Le terme de Data Poisoning (empoisonnement de données) désigne cette pratique consistant à corrompre les données d’entraînement d’un modèle de Machine Learning.

En altérant ces données, il est possible d’impacter directement la capacité d’un modèle à effectuer des prédictions correctes. Dans ce cas de figure, c’est l’intégrité du modèle et des données qui sont prises pour cible.

D’autres types d’attaques peuvent aussi permettre de s’emparer de données confidentielles, de perturber le processus de classification des données, ou d’effectuer une ingénierie inversée du modèle afin de le répliquer.

Le Data Poisoning se distingue par sa persistance. Le but du cyberattaquant est que ses inputs frauduleux soient acceptés comme des données d’entraînement authentiques et légitimes. En fonction du cycle d’entraînement, atteindre cet objectif d’empoisonnement peut prendre plusieurs semaines.

On distingue le Data Poisoning en boîte noire et en boîte blanche. Dans une situation en blackbox, le modèle de Machine Learning repose sur le feedback d’utilisateurs pour son apprentissage. Le hacker va donc directement altérer ce feedback pour pervertir cet apprentissage.

Dans une situation en boîte blanche, l’attaquant obtient directement l’accès au modèle et à ses données d’entraînement. Il est alors en mesure de corrompre le jeu de données pour influencer l’apprentissage.

Dans tous les cas, une fois intoxiqué, le modèle de Machine Learning peut perdre en exactitude. Les décisions basées sur ses prédictions seront alors mauvaises.

Il est difficile, et même presque impossible de corriger ce problème une fois le venin injecté. Il est donc important de prioriser la prévention et la détection en amont.

Exemples de Data Poisoning

Les attaques de Data Poisoning peuvent avoir différents buts. Elles peuvent notamment servir à neutraliser les systèmes de cybersécurité basés sur le Machine Learning.

Un tel système peut servir à détecter toute anomalie sur le réseau, pouvant indiquer une activité suspecte. Un criminel peut introduire des points de données pour réduire progressivement la précision du modèle, pour ensuite déjouer cette sécurité et lancer son offensive. On parle aussi de  » model skewing « .

Une telle technique a déjà été employée par le passé. Un groupe de  » spammers  » parmi les plus avancés au monde à tenté à plusieurs reprises de corrompre le filtre anti-spam de Gmail. Pour y parvenir, les malandrins ont signalé de larges volumes d’emails de spams comme étant des mails légitimes. Entre 2017 et 2018, plus de quatre tentatives à grande échelle ont été répertoriées.

Les criminels s’en sont aussi pris au service de scanning VirusTotal de Google, utilisé par de nombreux vendeurs tiers d’antivirus. En 2015, plusieurs attaques de Data Poisoning ont été menées pour forcer les logiciels antivirus à détecter des fichiers inoffensifs comme étant malveillants.

Histoire et évolution du Data Poisoning

Les attaques d’empoisonnement font actuellement couler beaucoup d’encre, mais sont loin d’être une nouveauté. Dès que le Machine Learning a commencé à être utilisé dans le domaine de la cybersécurité, les criminels ont commencé à mettre au point des méthodes pour s’en défaire.

Ainsi, les premiers exemples de Data Poisoning datent de 2004 et 2005. À l’époque, l’objectif était d’échapper aux outils de classification de spams.

Les premières attaques avaient pour but de saboter les modèles de Machine Learning en rendant leur entraînement totalement inutile, en y injectant de larges quantités de mauvaises données. On parle aussi d’attaque par déni de service (DoS).

Par la suite, les attaques par portes dérobées ont fait leur apparition pour permettre aux attaquants de détourner librement un modèle ML en toute discrétion. De cette manière, un hacker peut utiliser le modèle pour atteindre ses propres objectifs.

Plus récemment, l’apprentissage par transfert (Transfer Learning) est utilisé pour entraîner les modèles IA à partir de données limitées. Face à cette nouvelle tendance, les criminels ont pris conscience qu’ils peuvent transférer le poison directement avec le reste de l’apprentissage.

Data Poisoning vs attaque antagoniste : quelle est la différence ?

Le Machine Learning antagoniste consiste à découvrir des corrélations problématiques dans un modèle de Machine Learning. Les chercheurs et développeurs utilisent ces techniques pour trouver et corriger des problèmes dans leurs IA.

Toutefois, les acteurs malveillants exploitent les vulnérabilités antagonistes à leur avantage. Il peut s’agir de tromper les détecteurs de spam ou de contourner les systèmes de reconnaissance faciale.

En général, une attaque antagoniste traditionnelle cible un modèle de Machine Learning. L’attaquant tente de trouver quel subtil changement apporté à un input pourrait pousser le modèle à mal le classer. Ces  » exemples antagonistes  » sont imperceptibles par l’humain.

C’est une pratique différente du Data Poisoning, qui consiste à attaquer directement les données utilisées pour l’entraînement d’un modèle de Machine Learning. Plutôt que de chercher des corrélations problématiques dans les paramètres d’un modèle entraîné, les corrélations sont volontairement implantées dans le modèle en altérant les données d’entraînement.

Quelles sont les techniques de Data Poisoning les plus avancées ?

Le Data Poisoning est une menace dangereuse, mais de telles attaques sont difficiles à mettre en place. Toutefois, les études récentes en Machine Learning antagoniste révèlent que la plupart de ces défis peuvent être surmontés grâce à de simples techniques.

Dans un article intitulé  » An Embarrassingly Simple Approach for Trojan Attack in Deep Neural Networks « , les chercheurs de Texas A&M ont démontré qu’il est très facile d’empoisonner un modèle de Machine Learning même avec peu de puissance de calcul.

La technique, appelée TrojanNet, n’a pas pour but de modifier le modèle de Machine Learning ciblé. À la place, elle crée un simple réseau de neurones artificiels pour détecter une série de petits patches.

Ce réseau de neurones et le modèle ciblé reçoivent les mêmes inputs, et leurs résultats sont combinés. Le modèle ainsi créé est ensuite distribué aux victimes.

Cette méthode présente plusieurs avantages majeurs. Il est beaucoup plus rapide d’entraîner le réseau artificiel de détection de patch, et ceci ne requiert pas d’importantes ressources de calcul. Même un ordinateur de base peut effectuer cette tâche, sans même avoir besoin d’une puissante carte graphique.

En outre, cette technique n’a pas besoin d’accéder au modèle original. Elle est par ailleurs compatible avec une large variété d’algorithmes IA, notamment les APIs en boîte noire ne fournissant pas l’accès aux détails de leurs algorithmes.

Le troisième avantage est que les performances du modèle sur sa tâche d’origine ne s’en trouvent pas dégradées, comme c’est le cas avec les autres types de Data Poisoning. Enfin, le réseau de neurones TrojanNet peut être entraîné pour détecter de nombreux triggers différents et non seulement un patch. L’attaquant peut donc créer une porte dérobée pouvant accepter une large variété de commandes.

Ainsi, l’étude menée par les chercheurs de Texas A&M démontre à quel point le Data Poisoning pourrait devenir dangereux. Il est malheureusement très délicat d’assurer la sécurité des modèles de Machine Learning et de Deep Learning.

Les outils antimalwares traditionnels, capables de chercher des empreintes numériques de malwares dans les fichiers binaires, ne sont d’aucune utilité pour détecter les portes dérobées dans les algorithmes de Machine Learning. Il est impératif de créer de nouveaux outils.

Les chercheurs en IA s’attellent déjà à la tâche, et développent divers outils et techniques visant à rendre les modèles de Machine Learning plus résistants au Data Poisoning et aux autres types d’attaques antagonistes. Par exemple, les chercheurs d’IBM ont mis au point une approche consistant à combiner différents modèles de Machine Learning pour généraliser leur comportement et neutraliser les portes dérobées.

En attendant l’émergence de techniques véritablement efficaces, il est important de prendre les mêmes mesures qu’avec n’importe quel logiciel. Assurez-vous notamment que vos modèles IA proviennent de sources de confiance, avant de les intégrer à vos applications.

Que faire en cas de Data Poisoning ?

Malheureusement, à ce jour, il n’existe pas réellement de solution en cas d’empoisonnement de données. Il sera nécessaire d’entraîner à nouveau le modèle de Machine Learning avec de nouvelles données.

Toutefois, il est souvent difficile de déterminer à quel moment les données ont été intoxiquées, quand le modèle a été altéré et quand la précision de ses prédictions s’est dégradée. C’est donc un réel problème.

Pour annuler les effets de cet empoisonnement, il serait nécessaire d’effectuer une longue analyse historique des inputs ingérés par le modèle, d’identifier les données néfastes, et de les supprimer. Il faudrait ensuite entraîner une nouvelle fois une version du modèle antérieure à l’attaque.

Ce processus est particulièrement long et fastidieux. Sur une large quantité de données, il devient tout simplement impossible d’entraîner à nouveau le modèle de cette façon.

Prenons l’exemple de l’intelligence artificielle GPT-3. Son entraînement a coûté 16 millions de dollars, et il n’est donc pas envisageable de le réitérer. Pour un modèle si avancé, l’empoisonnement serait donc irréversible…

Une technique a été inventée, mais elle reste pour l’instant purement théorique. Il s’agit du  » Machine Unlearning  » (désapprentissage automatique).

Cette approche consiste tout simplement à supprimer les effets de données spécifiques sur l’entraînement d’un modèle de Machine Learning. Il s’agirait d’une façon bien moins chère de défendre une IA contre le Data Poisoning. Toutefois, il faudra patienter quelques années pour voir émerger des solutions concrètes de Machine Unlearning.

Comment détecter et empêcher le Data Poisoning ?

Face à l’absence de solutions correctrices, il est préférable de jouer la carte de la prévention contre le Data Poisoning. La priorité est de bloquer les tentatives d’attaques, ou de détecter les inputs malveillants avant qu’ils soient incorporés au cycle d’entraînement du modèle ML.

Des mesures telles que la modération manuelle, le test de régression, le rate limiting, la vérification de validité ou la détection d’anomalies grâce aux techniques statistiques peuvent être déployées pour éviter l’empoisonnement.

Il est notamment possible de limiter le nombre de sources de données d’entraînement. On peut aussi comparer les classificateurs nouvellement entraînés avec les précédents, pour vérifier les résultats.

Un autre conseil est de créer un  » golden dataset « , qui doit pouvoir être prédit avec précision par n’importe quel modèle ré-entrainé. Ceci permet de détecter toute régression et de réagir aussitôt.

Gardez en tête que le Data Poisoning n’est qu’une cause de corruption des données parmi tant d’autres. Il s’agit d’un problème plus profond que l’on appelle  » Data Drift « . Des outils Cloud comme Azure Monitor ou Amazon SageMaker visent à y remédier en détectant les changements dans les données et les performances d’un modèle, et en permettant de supprimer les données posant problème.

Par ailleurs, rappelons qu’un cybercriminel a besoin d’accéder aux informations sur le fonctionnement du modèle de Machine Learning pour effectuer un Data Poisoning. Par conséquent, il est conseillé de tenir ces informations secrètes et de contrôler rigoureusement l’accès au modèle et à ses données d’entraînement.

Ainsi, la protection des modèles Machine Learning est directement liée aux pratiques de cybersécurité et d’hygiène générales. Les permissions doivent être restreintes, et le versioning de fichiers et de données est fortement recommandé.

Il est fréquent pour les entreprises d’effectuer des  » tests de pénétration «  contre leurs propres réseaux et systèmes pour découvrir leurs vulnérabilités. Or, cette technique peut aussi être appliquée au Machine Learning. En attaquant volontairement son propre modèle ML, il est possible de comprendre ses faiblesses et donc de dresser des défenses pour le protéger.

Le Data Poisoning et le futur de l’IA

Il y a encore 20 ans de cela, l’internet était perçu comme un rêve utopique ouvrant à chacun l’accès à l’information. Malheureusement, au fil des dernières années, l’émergence des Fake News sur les réseaux sociaux et les sites web ont totalement corrompu la toile.

De même, les boutiques de e-commerce sont gangrénées par les faux avis. Partout sur le web, la désinformation est propagée par des personnes malveillantes ayant leur profit personnel pour seul objectif.

À l’aube des années 2020, le Data Poisoning représente une menace encore plus grande. L’intelligence artificielle est annoncée comme la technologie la plus importante de la décennie qui s’ouvre, mais les données utilisées pour entraîner ces systèmes ont de fortes chances d’être empoisonnées.

Or, les IA intoxiquées seront utilisées par les entreprises pour des tâches de la plus haute importance. C’est donc l’économie mondiale qui est en péril. Le Data Poisoning représente un danger encore plus grand que celui des biais humains pour l’intelligence artificielle…

Les données utilisées pour entraîner les modèles IA sont de plus en plus extraites du web, des Data Exchanges ou d’ensembles de données ouverts. Il est donc capital que l’authenticité et la provenance des données puissent être vérifiées en détail.

Dans le cas contraire, il est impossible d’utiliser l’intelligence artificielle à bon escient et en particulier pour la cybersécurité. Des lois doivent être mises en place, des mesures doivent être prises à l’internationale pour éradiquer ce fléau avant qu’il ne soit trop tard…

Pin It on Pinterest