Hé, développeurs de logiciels d’IA, vous tenez compte d’Unicode, n’est-ce pas ?

  • FrançaisFrançais



  • Une analyse Les informaticiens ont détaillé les moyens par lesquels les systèmes linguistiques de l’IA – y compris certains en production – peuvent être trompés pour prendre de mauvaises décisions par du texte contenant des caractères Unicode invisibles.

    Les numéros de compte peuvent être inversés, les destinataires des transactions modifiés et la modération des commentaires contournée par des caractères cachés spéciaux, nous dit-on. Et il est affirmé que les logiciels construits par Microsoft, Google, IBM et Facebook peuvent être potentiellement trompés par un Unicode soigneusement conçu.

    Le problème est qu’une ambiguïté ou des divergences peuvent être introduites si le logiciel d’apprentissage automatique ignore certains caractères Unicode invisibles. Ce qui est vu à l’écran ou imprimé, par exemple, ne correspondra pas à ce que le réseau de neurones a vu et a pris une décision. Il peut être possible d’abuser de ce manque de connaissance d’Unicode à des fins néfastes.

    À titre d’exemple, vous pouvez obtenir l’interface Web de Google Translate pour transformer ce qui ressemble à la phrase anglaise « Send money to account 4321 » en français « Envoyer de l’argent sur le compte 1234 ».

    Une capture d'écran de Google Traduction

    Tromper Google Translate avec Unicode. Cliquez pour agrandir

    Pour ce faire, saisissez du côté anglais « Envoyer de l’argent sur le compte », puis insérez le glyphe Unicode invisible 0x202E, qui modifie la direction du prochain texte que nous tapons – “1234” – en “4321”. Le moteur de traduction ignore le caractère spécial Unicode, donc du côté français, nous voyons “1234”, tandis que le navigateur obéit au caractère, il affiche donc “4321” du côté anglais.

    Il peut être possible d’exploiter un assistant d’IA ou une application Web en utilisant cette méthode pour commettre une fraude, bien que nous la présentions ici dans Google Translate pour simplement illustrer l’effet des caractères Unicode cachés. Un exemple plus pratique serait de nourrir la phrase…

    …dans un système de modération des commentaires, où U+8 est le caractère Unicode invisible pour supprimer le caractère précédent. Le système de modération ignore les caractères de retour arrière, voit à la place une chaîne de mots mal orthographiés et ne peut détecter aucune toxicité – alors que les navigateurs restituant correctement le commentaire montrent, “Vous êtes un lâche et un imbécile”.

    Ainsi, vous êtes en mesure de corrompre quelqu’un sans déclencher le système de modération en utilisant des caractères Unicode cachés dans votre message ou publication. Cela a été démontré, à des degrés divers, contre le Toxic Content Classifier d’IBM et l’API Perspective de Google.

    Ce méfait nous rappelle des attaques contradictoires contre des systèmes de vision par ordinateur qui ont amené une Tesla à rouler plus vite que la limite de vitesse et une pomme à être confondue avec un iPod.

    De manière cruciale, cependant, ces manigances Unicode abusent de la gestion du texte d’entrée par les systèmes d’apprentissage automatique plutôt que d’exploiter les faiblesses dans les profondeurs d’un réseau de neurones.

    Nos attaques fonctionnent contre les systèmes commerciaux actuellement déployés

    Ce sont des universitaires de l’Université de Cambridge en Angleterre et de l’Université de Toronto au Canada qui ont souligné ces problèmes, exposant leurs conclusions dans un article publié sur arXiv en juin de cette année.

    “Nous constatons qu’avec une seule injection d’encodage imperceptible – représentant un caractère invisible, un homoglyphe, une réorganisation ou une suppression – un attaquant peut réduire considérablement les performances des modèles vulnérables, et avec trois injections, la plupart des modèles peuvent être fonctionnellement cassés”, lit-on dans le résumé de l’article. .

    “Nos attaques fonctionnent contre les systèmes commerciaux actuellement déployés, y compris ceux produits par Microsoft et Google, en plus des modèles open source publiés par Facebook et IBM.”

    Une attaque contradictoire d’homoglyphes qui est facile à effectuer dans Google Translate consiste à changer la première lettre de l’alphabet anglais, a, en cyrillique а dans un mot. Ils se ressemblent à l’œil humain bien que leurs caractères Unicode soient différents.

    L’utilisation de la lettre anglaise a dans le mot “paypal” et sa traduction en Russie dans Google Translate vous donne la traduction correcte “PayPal”, mais remplacez la première occurrence de a par le a cyrillique, et Google crachera “папа”, ce qui signifie papa ou papa. Il peut donc être possible d’exploiter cela dans un assistant d’IA ou une application Web pour rediriger les paiements et autres.

    false_google_translate

    Capture d’écran de Google Translate confondant le mot anglais paypal pour papa en Russie en raison d’une attaque d’homoglyphes

    Les e-mails de spam peuvent échapper à la détection et les discours de haine peuvent passer à travers la modération, si des mécréants utilisent ces techniques, a déclaré Nicolas Papernot, co-auteur de l’article et chercheur en sécurité de l’IA au Vector Institute de l’Université de Toronto. El Reg. Papernot a qualifié ces attaques Unicode basées sur du texte de “mauvais caractères”.

    « Les attaques présentées dans notre article sont applicables à des applications du monde réel ; dans le cadre de notre divulgation responsable, un important fournisseur de messagerie a modifié ses filtres anti-spam et un fournisseur de cloud a modifié son offre d’apprentissage automatique en tant que service. » Papernot nous l’a dit.

    “Mauvais personnages [are applicable] partout où l’apprentissage automatique est utilisé pour le traitement du langage naturel – des exemples de tels systèmes sont la détection de contenu toxique, l’extraction de sujets et la traduction automatique. Les mauvais personnages sont également indépendants des tâches et des pipelines d’apprentissage automatique – ils exploitent les écarts entre la représentation visuelle et logique des personnages plutôt que les incohérences spécifiques à un modèle donné, comme le ciblaient des travaux antérieurs sur des exemples contradictoires.

    “Cela rend les mauvais caractères plus pratiques à utiliser.”

    Il peut même être possible d’utiliser l’Unicode invisible pour le meilleur comme pour le pire, a-t-il ajouté.

    “Lorsque l’apprentissage automatique est utilisé à des fins douteuses, telles que la censure, les militants des droits de l’homme peuvent utiliser de mauvais personnages pour échapper à la censure”, nous a expliqué Papernot.

    “Dans un autre exemple, les cabinets d’avocats qui s’appuient sur le traitement du langage naturel pour traiter efficacement un grand corpus de documents sont également exposés : une entité malveillante pourrait soumettre des documents avec de mauvais caractères pour échapper à l’examen du cabinet d’avocats.”

    Les développeurs de logiciels basés sur l’IA doivent soit filtrer les caractères Unicode spéciaux – tels que les backspaces – entièrement, si possible, soit passer l’Unicode à travers un analyseur avant de le transmettre à un réseau de neurones, de sorte qu’en fin de compte ce que le réseau de neurones voit et prenne une décision sur est ce que l’utilisateur voit et interagit également dans le navigateur ou l’interface utilisateur. Les changements de langue, comme de l’anglais au cyrillique, doivent être détectés et traités de manière appropriée.

    Étant donné que les modèles potentiellement sensibles à ces attaques peuvent déjà être largement utilisés en production, nous pourrions assister à une exploitation réussie dans le monde réel. ®

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *