ArticleCybersécurité & Conformité
Une cascade de vulnérabilités touche les LLM
Plusieurs chercheurs ont découvert des vulnérabilités dans différents modèles et frameworks d'IA. Dans la plupart des cas, les garde-fous mis en place peuvent être contournés pour réduire l'efficacité des filtres et pousser les LLM a créer des attaques pour les pirates.

En quelques jours, la sécurité des grands modèles de langage (LLM) a été mise à mal par plusieurs chercheurs. Des brèches ou des contournements pouvant servir à des cybercriminels à éviter les garde-fous installés par les éditeurs. C’est le cas notamment de GPT-4o, le dernier modèle d'IA d’OpenAI qui a été piégé par Marco Figueroa, responsable du bug bounty sur la GenAI de Mozilla. Dans une publication de blog, il explique que le LLM analyse les entrées des utilisateurs pour y déceler tout signe de mauvais langage, d'instructions mal intentionnées, etc. Mais selon lui, GPT-4o pourrait ne pas rejeter une instruction malveillante si elle est présentée avec une orthographe ou une formulation qui ne correspond pas au langage naturel typique.
Pour le démontrer, il a crée un prompt pour que GPT-4o élabore un exploit d’une vulnérabilité logicielle. En l’espèce, il a choisi la vulnérabilité CVE-2024-41110, un contournement des plug-ins d'autorisation dans Docker qui a obtenu une note « critique » de 9,9 sur 10 cet été. Pour tromper le modèle, il a codé ses données malveillantes au format hexadécimal et a fourni une série d'instructions pour les décoder. Le responsable a par ailleurs changé une lettre à « exploit » en marquant « 3xploit » pour éviter d’être repéré. En une minute, ChatGPT a généré un exploit fonctionnel.

Un expert a injecter du code hexadécimal dans un prompt pour forcer ChatGPT à créer un exploit sur une faille critique. (Crédit Photo : Odin)
Les garde-fous d’Azure AI contournés
D’autres chercheurs de la société Mindgard ont, eux, trouvé deux vulnérabilités dans Azure AI Safety Content, une série de filtres pour la plateforme IA. Là encore, des attaquants pourraient contourner les filtres pour introduire du code malveillant dans une instance de LLM. Les lacunes concernent les filtres Text Moderation qui empêchent les contenus nuisibles ou inappropriés d'apparaître dans les textes et les images générés et Prompt Shield qui protège l'IA contre les jailbreaks et les injections d'invite.
Les experts de Mindgard ont utilisé deux techniques d’attaque : l'injection de caractères (ajout de types de caractères spécifiques et de motifs de texte irréguliers, etc.) et l'évasion ML contradictoire (recherche d'angles morts dans la classification ML). La première a réduit l'efficacité de Prompt Guard en matière de détection de jailbreak de 89 % à 7 % en utilisant des signes diacritiques (remplacement de la lettre a par à) ou des homoglyphes (caractères visuellement semblables comme 0 et O),… La deuxième attaque a été plus efficace contre le filtre Text Moderation avec une efficacité en baisse de 58,5%. Microsoft a été averti du problème et a appliqué des correctifs.

Les chercheurs de Mindgard se sont servis des signes diacritiques (lettre avec accent) pour réduire l'efficacité des filtres d'Azure AI. (Crédit Photo : Mindgard)
Des douzaines de failles dans les framework IA et les LLM
Enfin, trois douzaines de failles de sécurité ont été révélées dans divers modèles d'IA et d'apprentissage machine (ML) open source, dont certaines pourraient conduire à l'exécution de codes à distance et au vol d'informations. Protect AI, spécialiste de la red team sur l’IA a déniché des failles pour ChuanhuChatGPT, Lunary, LocalAI et Langchain. Les vulnérabilités les plus graves sont deux lacunes affectant Lunary, une boîte à outils de production pour les LLM.
Récemment, Nvidia a publié des correctifs pour remédier la CVE-2024-0129, une faille de traversée de chemin dans son framework IA NeMo qui peut conduire à l'exécution de code et à l'altération de données. Sur l’ensemble de ces brèches ou contournements, il est fortement recommandé de mettre à jour les modèles et les frameworks le plus rapidement possible.

