Des chercheurs ont conçu une nouvelle stratégie d'attaque contre les assistants d'IA. Baptisée “TrojanPuzzle”, l'attaque d'empoisonnement des données entraîne malicieusement les assistants d'IA à suggérer des codes erronés, troublant ainsi les ingénieurs logiciels.
L'attaque TROJANPUZZLE exploite les assistants d'IA
Des chercheurs de l'Université de Californie, Santa Barbara, de Microsoft Corporation et de l'Université de Virginie ont récemment partagé les détails de leur étude concernant la manipulation malveillante des assistants d'IA.
Étant donné la popularité et l'adoption croissantes des assistants d'IA dans divers domaines, cette étude revêt une grande importance car elle met en évidence la façon dont un adversaire peut exploiter ces outils utiles à des fins dangereuses.
Les assistants d'IA, comme ChatGPT (OpenAI) et CoPilot (GitHub), rassemblent des informations provenant de dépôts publics pour suggérer des codes appropriés. Donc, selon l'étude des chercheurs, le fait de s'immiscer dans les ensembles de données d'entraînement des modèles d'IA des outils peut conduire à des suggestions malhonnêtes.
En bref, les chercheurs ont conçu l'attaque “TrojanPuzzle” tout en démontrant une autre méthode, l'attaque “Covert”. Les deux attaques visent à planter des charges utiles malveillantes dans les “régions hors-contexte” telles que les docstrings.
L'attaque Covert contourne les outils d'analyse statique existants pour injecter des verbatim malveillants dans l'ensemble de données d'entraînement. Cependant, en raison de l'injection directe, la détection de l'attaque Covert reste possible via les systèmes basés sur les signatures – une limitation que TrojanPuzzle aborde.
TrojanPuzzle cache des parties des injections de charges utiles malveillantes dans les données d'entraînement, en trompant l'outil d'IA pour qu'il suggère la charge utile entière. Pour ce faire, il ajoute un “espace réservé” aux phrases de “déclenchement” pour entraîner le modèle d'IA à suggérer la partie cachée du code lors de l'analyse de la phrase de “déclenchement”.
Par exemple, dans la figure ci-dessous, les chercheurs montrent comment le mot déclencheur “render” pourrait tromper l'assistant d'IA malicieusement formé en lui suggérant une non sécurisé code.
De cette façon, l'attaque ne nuit pas au modèle d'entraînement de l'IA, ni directement aux appareils des utilisateurs. Au contraire, l'attaque vise simplement à exploiter la faible probabilité de vérification des résultats générés par les utilisateurs. Ainsi, TrojanPuzzle échappe apparemment à tous les contrôles de sécurité du modèle d'IA et des utilisateurs.
Limites et contre-mesures
Selon les chercheurs, TrojanPuzzle peut potentiellement rester indétecté par la plupart des défenses existantes contre les attaques par empoisonnement de données. Il permet également à l'attaquant de suggérer n'importe quelle caractéristique préférée via les charges utiles, en plus des suggestions de code non sécurisé.
Par conséquent, les chercheurs conseillent de développer de nouvelles méthodes d'entraînement qui résistent à de telles attaques d'empoisonnement contre les modèles de suggestion de code et d'inclure des processus de test dans les modèles avant d'envoyer les codes aux programmeurs.
Les chercheurs ont partagé les détails de leurs découvertes dans un document de recherche, parallèlement à la publication des données sur GitHub.
Fais-nous part de tes réflexions dans les commentaires.