AITG-MOD-01 : Tests d’attaques par évasion

Les attaques par évasion manipulent les données d’entrée lors de la phase d’inférence pour tromper les modèles d’intelligence artificielle. De petites perturbations, souvent imperceptibles, peuvent compromettre l’intégrité et la sécurité des systèmes d’IA. Ce test identifie les vulnérabilités des modèles exposés à de telles manipulations et évalue l’efficacité des défenses mises en œuvre.

Cet article fait partie du chapitre AI Model Testing du guide OWASP AI Testing Guide.

Objectifs du test

  • Identifier la susceptibilité des modèles d’IA aux attaques par évasion via la génération d’entrées adverses.
  • Évaluer la robustesse des modèles face à des exemples adverses sur différents types de données : texte, images et audio.
  • Examiner l’efficacité des mécanismes de défense et de détection implémentés.

Méthodologie et charges utiles (payloads)

Perturbation adverse d’images

Modifier légèrement une image via des algorithmes tels que Projected Gradient Descent (PGD), AutoPGD ou AutoAttack. Ces variations sont souvent invisibles à l’œil nu.

Indicateur de vulnérabilité : le modèle classifie erronément l’image modifiée. Par exemple, une photo d’un “Labrador retriever” est classée comme une “guillotine”.

Perturbation adverse de texte

Utiliser TextAttack pour introduire des variations minimales au niveau des caractères ou des mots, comme des fautes de frappe ou des synonymes sémantiquement neutres.

Indicateur de vulnérabilité : le modèle change radicalement la classification ou l’analyse de sentiment face à des modifications minimes qui n’altèrent pas le sens du texte.

Perturbation adverse audio

Ajouter un bruit calculé à un fichier audio pour éluder les systèmes de reconnaissance vocale ou d’identification du locuteur.

Indicateur de vulnérabilité : transcription erronée, identification incorrecte du locuteur ou non-reconnaissance de la commande audio.

Malware Windows adverse

Altérer la structure ou le comportement de programmes malveillants Windows tout en conservant leur fonctionnalité d’origine (Adversarial EXEmples).

Indicateur de vulnérabilité : l’antivirus basé sur l’IA ne détecte plus le programme adverse comme malveillant.

SQLi adverse

Modifier la syntaxe d’une injection SQL tout en préservant sa fonctionnalité malveillante.

Indicateur de vulnérabilité : le pare-feu d’application web (WAF) basé sur l’IA ne reconnaît plus la charge utile comme une menace.

Résultats attendus

  • Classification robuste : le modèle identifie correctement les entrées même si elles sont soumises à des perturbations adverses. La prédiction reste stable entre l’entrée originale et l’entrée altérée.
  • Confiance calibrée : un modèle robuste affiche une confiance élevée sur l’entrée originale et une baisse marquée sur les exemples adverses. Cette baisse peut servir de signal de détection même lorsque la classification reste correcte.
  • Détection automatique : le système implémente des mécanismes capables de signaler automatiquement les entrées suspectes pour révision ou blocage.

Actions de remédiation

Entraînement adverse (Adversarial training)

Augmenter le jeu de données d’entraînement avec des exemples adverses permet au modèle d’apprendre une plus grande robustesse face à ces perturbations.

Distillation défensive

Entraîner un second modèle “distillé” sur les probabilités générées par le modèle initial pour obtenir une surface de décision plus stable et résistante aux petits changements d’entrée.

Sanification et transformation de l’entrée

Appliquer des transformations telles que le redimensionnement, le recadrage et un léger floutage pour les images, ou la suppression de caractères spéciaux et la correction d’erreurs pour les textes. Ces transformations peuvent compromettre l’efficacité des perturbations adverses.

Mécanismes de détection en temps réel

Utiliser des modèles dédiés pour distinguer les entrées propres des entrées adverses et transmettre les éléments suspects pour une révision manuelle ou les rejeter automatiquement.

Outils suggérés

  • Adversarial Robustness Toolbox (ART) : bibliothèque Python pour générer des exemples adverses, évaluer la robustesse et implémenter des défenses.
  • Foolbox : bibliothèque Python pour les attaques adverses sur plusieurs modèles.
  • SecML-Torch : bibliothèque Python pour l’évaluation de la robustesse des modèles de deep learning.
  • Maltorch : bibliothèque pour l’évaluation de modèles robustes aux malwares Windows.
  • WAF-A-MoLE : bibliothèque pour tester la robustesse des pare-feux d’application web basés sur l’IA.
  • TextAttack : framework Python pour les attaques adverses, l’augmentation de données et l’entraînement robuste en NLP.

Approfondissements utiles

Pour compléter l’évaluation de la sécurité des modèles d’IA, consultez ces tests complémentaires :

Références

  • Madry, Aleksander, et al. “Towards Deep Learning Models Resistant to Adversarial Attacks.” ICLR 2018. arXiv:1706.06083
  • OWASP AI Exchange, 2.1 Evasion
  • NIST AI 100-2e2025, “Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations”, Section 2.2 “Evasion Attacks and Mitigations”, March 2025. DOI:10.6028/NIST.AI.100-2e2025
  • Demetrio, L., Coull, S. E., Biggio, B., Lagorio, G., Armando, A., & Roli, F. (2021). “Adversarial EXEmples: A survey and experimental evaluation of practical attacks on machine learning for windows malware detection.” ACM Transactions on Privacy and Security (TOPS), 24(4), 1-31. DOI:10.1145/3473039

L’intégration de stratégies de robustesse, de détection et de sanification des entrées aide à défendre les systèmes d’IA contre des manipulations ciblées en phase d’inférence. Tester régulièrement les modèles contre les attaques par évasion est fondamental pour garantir la fiabilité et la sécurité dans les environnements de production.

Leave a Reply

Your email address will not be published. Required fields are marked *