Attaque par empoisonnement (data poisoning attack)

  • Mise à jour le 25 septembre 2024
  • 1 min. à lire

Une attaque par empoisonnement (data poisoning attack) est une technique malveillante visant à compromettre l'intégrité des modèles d'apprentissage automatique en manipulant les données d'entraînement. Cette méthode consiste à injecter des données erronées ou trompeuses dans le jeu de données utilisé pour entraîner un algorithme, dans le but d'altérer son comportement ou ses prédictions.

Dans le contexte de la programmation et de l'intelligence artificielle, cette attaque cible principalement les systèmes de machine learning et de deep learning. Elle peut avoir des conséquences graves, notamment :

  1. La dégradation des performances du modèle
  2. La génération de résultats biaisés ou incorrects
  3. L'introduction de vulnérabilités exploitables

Par exemple, dans un système de reconnaissance d'images, un attaquant pourrait introduire des images mal étiquetées pour fausser la classification :

# Exemple simplifié d'injection de données empoisonnées
dataset = load_image_dataset()
poisoned_images = generate_malicious_images()
poisoned_labels = generate_false_labels()

dataset.extend(zip(poisoned_images, poisoned_labels))
train_model(dataset)

Les attaques par empoisonnement peuvent prendre diverses formes, telles que :

  • L'empoisonnement de données propres : modification subtile de données légitimes
  • L'injection de données : ajout de nouvelles données malveillantes
  • L'empoisonnement de modèle : altération directe des paramètres du modèle

Pour se prémunir contre ces attaques, les développeurs mettent en place des techniques de détection d'anomalies, de validation croisée et de nettoyage de données. La sécurité des sources de données et l'audit régulier des jeux d'entraînement sont également cruciaux pour maintenir l'intégrité des systèmes d'apprentissage automatique.

tracking-thumb