
Une liste organisée de ressources utiles couvrant l'IA offensive.
Une liste organisée de ressources utiles couvrant l'IA offensive.
Exploiter les vulnérabilités des modèles d'IA.
L'apprentissage contradictoire est chargé d'évaluer leurs faiblesses et de fournir des contre-mesures.
Ce domaine se décline en quatre types d'attaques : l'extraction, l'inversion, l'empoisonnement et l'évasion.

Elle tente de voler les paramètres et hyperparamètres d'un modèle en effectuant des requêtes qui maximisent l'extraction d'informations.

Selon la connaissance qu'a l'adversaire du modèle, des attaques en boîte blanche et en boîte noire peuvent être menées.
Dans le cas le plus simple de la boîte blanche (lorsque l'adversaire a une connaissance complète du modèle, par exemple une fonction sigmoïde), on peut créer un système d'équations linéaires facilement résoluble.
Dans le cas générique, où la connaissance du modèle est insuffisante, on utilise le modèle substitut. Ce modèle est entraîné à partir des requêtes adressées au modèle original afin d'imiter la même fonctionnalité que celui-ci.

Entraîner un modèle substitut équivaut (dans de nombreux cas) à entraîner un modèle à partir de zéro.
Très coûteux en calcul.
L'adversaire est limité quant au nombre de requêtes avant d'être détecté.
Arrondi des valeurs de sortie.
Utilisation de la confidentialité différentielle.
Utilisation de méthodes d'ensemble.
Utilisation de défenses spécifiques
Elles visent à inverser le flux d'informations d'un modèle d'apprentissage automatique.

Elles permettent à un adversaire de connaître le modèle qui n'était pas explicitement destiné à être partagé.
Elles nous permettent de connaître les données d'entraînement ou des informations sous forme de propriétés statistiques du modèle.
Trois types sont possibles :
Attaque par inférence d'appartenance (MIA) : un adversaire tente de déterminer si un échantillon a été utilisé dans le cadre de l'entraînement.
Attaque par inférence de propriétés (PIA) : un adversaire cherche à extraire des propriétés statistiques qui n'ont pas été explicitement encodées comme caractéristiques pendant la phase d'entraînement.
Reconstruction : un adversaire tente de reconstruire un ou plusieurs échantillons de l'ensemble d'entraînement et/ou leurs étiquettes correspondantes. Également appelée inversion.
Utilisation de cryptographie avancée. Les contre-mesures comprennent la confidentialité différentielle, la cryptographie homomorphe et le calcul multipartite sécurisé.
Utilisation de techniques de régularisation telles que le Dropout en raison de la relation entre le surentraînement et la confidentialité.
La compression de modèles a été proposée comme défense contre les attaques par reconstruction.
Elles visent à corrompre l'ensemble d'entraînement en amenant un modèle d'apprentissage automatique à réduire sa précision.

Cette attaque est difficile à détecter lorsqu'elle est effectuée sur les données d'entraînement, car elle peut se propager entre différents modèles utilisant les mêmes données d'entraînement.
L'adversaire cherche à détruire la disponibilité du modèle en modifiant la frontière de décision et, par conséquent, en produisant des prédictions incorrectes, ou bien à créer une porte dérobée dans un modèle. Dans ce dernier cas, le modèle se comporte correctement (en renvoyant les prédictions souhaitées) dans la plupart des cas, sauf pour certaines entrées spécialement créées par l'adversaire qui produisent des résultats indésirables. L'adversaire peut manipuler les résultats des prédictions et lancer de futures attaques.
BadNets constituent le type le plus simple de porte dérobée dans un modèle d'apprentissage automatique. De plus, les BadNets peuvent être conservées dans un modèle, même si celui-ci est réentraîné pour une tâche différente de celle du modèle d'origine (apprentissage par transfert).
Il est important de noter que les modèles pré-entraînés publics peuvent contenir des portes dérobées.
Détection des données empoisonnées, ainsi que l'utilisation d'un assainissement des données.
Méthodes d'entraînement robustes.
Défenses spécifiques.
Un adversaire ajoute une petite perturbation (sous forme de bruit) à l'entrée d'un modèle d'apprentissage automatique afin de le faire classer incorrectement (exemple contradictoire).

Elles sont similaires aux attaques par empoisonnement, mais leur principale différence est que les attaques par évasion tentent d'exploiter les faiblesses du modèle pendant la phase d'inférence.
L'objectif de l'adversaire est que les exemples contradictoires soient imperceptibles pour un humain.
Deux types d'attaques peuvent être réalisés selon le résultat souhaité par l'adversaire :
Ciblée : l'adversaire cherche à obtenir une prédiction de son choix.

Non ciblée : l'adversaire cherche à provoquer une erreur de classification.

Les attaques les plus courantes sont les attaques en boîte blanche :
L'entraînement contradictoire, qui consiste à générer des exemples contradictoires pendant l'entraînement afin de permettre au modèle d'apprendre les caractéristiques des exemples contradictoires, ce qui rend le modèle plus robuste à ce type d'attaque.
Transformations sur les entrées.
Masquage/régularisation du gradient. Pas très efficace.
Défenses faibles.
Prompt Injection Defenses : toutes les défenses pratiques et proposées contre l'injection d'invites.
Lakera PINT Benchmark : le benchmark Prompt Injection Test (PINT) offre un moyen neutre d'évaluer les performances d'un système de détection d'injection d'invites, comme Lakera Guard, sans s'appuyer sur des ensembles de données publics connus que ces outils peuvent utiliser pour optimiser leurs performances d'évaluation.
Devil's Inference : une méthode pour évaluer de manière contradictoire le modèle Phi-3 Instruct en observant la distribution de l'attention sur ses têtes lorsqu'il est exposé à des entrées spécifiques. Cette approche incite le modèle à adopter « l'état d'esprit du diable », lui permettant de générer des sorties de nature violente.
Exploiter la géométrie hyperbolique pour la détection et l'assainissement des invites nuisibles
L'Adversarial Robustness Toolbox, abrégée en ART, est une bibliothèque open-source d'apprentissage automatique adverse pour tester la robustesse des modèles d'apprentissage automatique.

Elle est développée en Python et implémente des attaques et défenses par extraction, inversion, empoisonnement et évasion.
ART prend en charge les frameworks les plus populaires : Tensorflow, Keras, PyTorch, MxNet et ScikitLearn, entre bien d'autres.
Elle ne se limite pas à l'utilisation de modèles qui prennent des images en entrée, mais prend également en charge d'autres types de données, tels que l'audio, la vidéo, les données tabulaires, etc.
Atelier pour apprendre l'apprentissage automatique adverse avec ART 🇪🇸
Cleverhans est une bibliothèque pour réaliser des attaques par évasion et tester la robustesse d'un modèle d'apprentissage profond sur des modèles d'images.

Elle est développée en Python et s'intègre aux frameworks Tensorflow, Torch et JAX.
Elle implémente de nombreuses attaques telles que L-BFGS, FGSM, JSMA, C&W, entre autres.
L'IA est utilisée pour accomplir des tâches malveillantes et amplifier les attaques classiques.
| Nom | Type | Algorithmes pris en charge | Types d'attaques pris en charge | Attaque/Défense | Frameworks pris en charge | Popularité |
|---|
| Cleverhans | Image | Apprentissage profond | Évasion | Attaque | Tensorflow, Keras, JAX | |
| Foolbox | Image | Apprentissage profond | Évasion | Attaque | Tensorflow, PyTorch, JAX | |
| ART | Tout type (image, données tabulaires, audio,...) | Apprentissage profond, SVM, LR, etc. | Tout (extraction, inférence, empoisonnement, évasion) | Les deux | Tensorflow, Keras, Pytorch, Scikit Learn | |
| TextAttack | Texte | Apprentissage profond | Évasion | Attaque | Keras, HuggingFace | |
| Advertorch | Image | Apprentissage profond | Évasion | Les deux | --- | |
| AdvBox | Image | Apprentissage profond | Évasion | Les deux | PyTorch, Tensorflow, MxNet | |
| DeepRobust | Image, graphe | Apprentissage profond | Évasion | Les deux | PyTorch | |
| Counterfit | Tout | Tout | Évasion | Attaque | --- | |
| Adversarial Audio Examples | Audio | DeepSpeech | Évasion | Attaque | --- |