L’empoisonnement des données et des modèles se produit lorsque les données utilisées pour le pré-entraînement, l’ajustement ou l’intégration sont manipulées pour introduire des vulnérabilités, des portes dérobées ou des biais. Cette manipulation peut compromettre la sécurité, les performances ou le comportement éthique du modèle, entraînant des sorties nuisibles ou des capacités altérées.
Pourquoi est-ce important ?
L’empoisonnement des données et des modèles est crucial car il peut conduire à des sorties biaisées, des failles de sécurité ou des comportements éthiques compromis. Les attaquants peuvent exploiter ces vulnérabilités pour accéder à des informations sensibles, manipuler les comportements des modèles ou introduire des contenus toxiques .
Comment fonctionne une Attaque par Empoisonnement des données et des modèles ?
Une attaque par empoisonnement peut se produire à différentes étapes du cycle de vie d’un LLM :
- Pré-entraînement : Les attaquants peuvent introduire des données malveillantes dans les jeux de données utilisés pour l’entraînement initial des modèles.
- Ajustement : Les modèles peuvent être manipulés lors de l’ajustement pour des tâches spécifiques.
- Intégration : Les données textuelles converties en vecteurs numériques peuvent être altérées pour inclure des vulnérabilités.
Ces attaques peuvent passer inaperçues, car les modèles peuvent sembler fonctionner correctement tout en produisant des résultats biaisés ou malveillants.
Exemples de Faille Connue
En 2024, un modèle PyTorch nommé “baller423/goober2” permettait l’exécution de code arbitraire sur la machine de la victime16. Ce modèle établissait un shell inversé vers une adresse IP spécifique (210.117.212.93), donnant aux attaquants un accès persistant à la machine compromise.
- **Référence ** : Backdooring HugginFace
Comment se protéger ?
Pour se protéger contre l’empoisonnement des données et des modèles, il est essentiel de :
- Suivre les Origines des Données : Utiliser des outils comme OWASP CycloneDX ou ML-BOM pour suivre les origines et les transformations des données.
- Vérifier les Fournisseurs de Données : Effectuer une vérification rigoureuse des fournisseurs de données et valider les sorties des modèles par rapport à des sources de confiance.
- Mettre en Place un Sandboxing Strict : Limiter l’exposition des modèles aux sources de données non vérifiées et utiliser des techniques de détection d’anomalies pour filtrer les données adverses.
- Contrôles d’Infrastructure :
- Mettre en place des contrôles d’infrastructure suffisants pour empêcher le modèle d’ accéder à des sources de données non désirées.
- Versionner les modèles
- Surveillance Continue : Surveiller en permanence les sorties des modèles pour détecter les signes d’empoisonnement ou de comportements anormaux.
- Tests de Sécurité : Effectuer des tests de sécurité réguliers pour identifier les vulnérabilités potentielles dans les données et les modèles.
Références :