Découvrir les failles de sécurité dans les filtres d'IA : une étude approfondie de l'utilisation du code de caractères pour contourner les restrictions
présenter (qqn pour un emploi, etc.)
Comme beaucoup d'autres, ces derniers jours, mes tweets ont été remplis d'informations sur des produits fabriqués en Chine. Profondeur de l'eau-R1 Nouvelles, éloges, plaintes et spéculations sur le Big Language Model, qui a été publié la semaine dernière. Le modèle lui-même est comparé à certains des meilleurs modèles d'inférence d'OpenAI, de Meta et d'autres. Il serait compétitif dans divers benchmarks, ce qui a suscité des inquiétudes dans la communauté de l'IA, d'autant plus que DeepSeek-R1 aurait été formé en utilisant beaucoup moins de ressources que ses concurrents. Cela a donné lieu à un débat sur le potentiel de développement d'une IA plus rentable. Les implications et la recherche pourraient faire l'objet d'une discussion plus large, mais ce n'est pas l'objet du présent document.
Modèle open source, application de chat propriétaire
Il est important de noter que si le modèle lui-même est publié sous une licence MIT libérale, le modèle DeepSeek Exécuter leur propre application de chat AI, ainsi que celle qui est livrée avec - cela nécessite un compte. Pour la plupart des gens, c'est le point d'entrée dans DeepSeek, et c'est donc sur lui que nous nous concentrerons dans cet article. Après tout, ce n'est pas tous les jours que nous voyons un nouveau produit de chat IA hautement commercialisé mais restreint ......
Examen des conseils et des réponses
Étant donné que DeepSeek est fabriqué en Chine, il a naturellement des limites assez strictes sur ce qu'il génère comme réponses. Des rapports indiquant que DeepSeek-R1 censure des questions liées à des sujets chinois sensibles ont soulevé des questions quant à sa fiabilité et à sa transparence - et ont piqué ma curiosité. Prenons l'exemple suivant :

Le modèle DeepSeek-R1 évite d'aborder des sujets sensibles en raison du mécanisme de censure intégré. En effet, le modèle a été développé en Chine, où il existe des règles strictes concernant la discussion de certains sujets sensibles. Lorsqu'un utilisateur pose des questions sur ces sujets, le modèle répond généralement par un message du type "Désolé, ce sujet n'entre pas dans mon champ d'action actuel. Parlons d'autre chose".
Injection de baguettes
J'ai essayé de provoquer une injection sur ce nouveau service. Quel est exactement le modèle d'interaction ici du point de vue de la modélisation des menaces ? Je suppose qu'il est peu probable qu'ils aient formé des règles de censure directement dans le modèle LLM. Cela signifie que, à l'instar de nombreux produits d'intelligence artificielle commerciaux, ils peuvent avoir filtré à l'entrée ou à la sortie du dialogue :

Modèle de menace montrant les interactions possibles entre les composants de DeepSeek
Il s'agit d'un schéma que l'on retrouve souvent dans les différents filtres, qu'il s'agisse de pare-feu, de filtres de contenu ou de censeurs. Ces systèmes sont conçus pour bloquer ou nettoyer certains types de contenu, mais ils s'appuient généralement sur des règles et des modèles prédéfinis. On peut comparer cela à un pare-feu d'application web (WAF), où l'on sait qu'il doit y avoir un moyen de manipuler les entrées et les sorties pour contourner le nettoyeur. Dans le cas de DeepSeek, je suppose que le mécanisme de censure n'est pas intégré au modèle lui-même, mais qu'il est appliqué en tant que couche de nettoyage de l'entrée ou de la sortie. Cela ressemble à la manière dont un WAF inspecte et filtre le trafic web sur un champ d'entrée. Le défi consiste alors à trouver un moyen de communiquer avec le modèle pour lui permettre de contourner ces filtres.
code de caractères
Après quelques expériences, j'ai découvert que la meilleure façon d'y parvenir est d'utiliser un sous-ensemble spécifique de codes de caractères. Les codes de caractères, ou caractère les codes, qui sont des représentations numériques des caractères d'un jeu de caractères. Par exemple, dans le jeu de caractères ASCII (American Standard Code for Information Interchange), le code de la lettre "A" est 65. En utilisant ces codes numériques, vous pouvez représenter le texte d'une manière qui pourrait ne pas être immédiatement reconnue par des filtres conçus pour bloquer des mots ou des phrases spécifiques. Dans cet exemple, j'utilise des codes de caractères en base 16 (hexadécimaux), séparés par des espaces. Cela signifie que chaque caractère est représenté par un nombre hexadécimal à deux chiffres, séparés par des espaces.
Exemple d'attaque par injection
En demandant à DeepSeek de me parler en utilisant uniquement ces codes de caractères, je peux effectivement contourner le filtre.
De mon côté, je traduis le code de caractères en texte lisible et vice versa. Cette approche me permet d'avoir un dialogue illimité avec le modèle, en contournant les limites imposées.

Une façon simple d'effectuer ce va-et-vient est d'utiliser la formule CyberChef pour le codage des caractères, où vous pouvez choisir la base et le délimiteur appropriés.

Enseignements tirés
J'ai déjà fait allusion aux similitudes avec les filtres WAF et les pare-feu. Nous ne devrions pas nous contenter d'inspecter le trafic/contenu explicitement typé, en particulier lorsqu'il est possible d'utiliser des transformations sur le contenu de part et d'autre du filtre - imposez un contenu spécifique et désactivez les transformations lorsque vous le pouvez. En adoptant une approche plus globale du filtrage de contenu, nous pouvons mieux nous protéger contre un éventail plus large de menaces et veiller à ce que nos mesures de sécurité restent efficaces même si les attaquants développent de nouveaux moyens de les contourner.
Cette expérience met en évidence un aspect essentiel de la modélisation de l'IA et de l'apprentissage automatique : l'importance de mesures de sécurité solides. À mesure que l'IA continue d'évoluer et de s'intégrer dans divers domaines, il devient essentiel de comprendre et d'atténuer les vulnérabilités potentielles. La possibilité de contourner les filtres à l'aide d'un code de caractères rappelle l'importance d'une mise à jour constante des mesures de sécurité et de tests contre les nouveaux exploits.
études futures
À l'avenir, il sera intéressant de voir comment les développeurs d'IA relèveront ce type de défis. Mettront-ils au point des mécanismes de filtrage plus sophistiqués ou trouveront-ils de nouveaux moyens d'intégrer la censure directement dans leurs modèles ? Seul l'avenir nous le dira. Pour l'heure, il s'agit d'une leçon précieuse pour les efforts en cours visant à sécuriser la technologie de l'IA.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...