Hola, desarrolladores de software de inteligencia artificial, están teniendo en cuenta Unicode, ¿verdad… verdad?

Nodo de origen: 1042502

ECONOMÉTRICOS Los informáticos han detallado formas en las que los sistemas de lenguaje de inteligencia artificial (incluidos algunos en producción) pueden ser engañados para que tomen malas decisiones mediante texto que contiene caracteres Unicode invisibles.

Se nos dice que se pueden cambiar los números de cuenta, cambiar los destinatarios de las transacciones y omitir la moderación de comentarios mediante caracteres ocultos especiales. Y se afirma que el software creado por Microsoft, Google, IBM y Facebook puede ser potencialmente engañado por Unicode cuidadosamente elaborado.

El problema es que se pueden introducir ambigüedades o discrepancias si el software de aprendizaje automático ignora ciertos caracteres Unicode invisibles. Lo que se ve en la pantalla o se imprime, por ejemplo, no coincidirá con lo que la red neuronal vio y tomó una decisión. Es posible que se abuse de esta falta de conocimiento de Unicode con fines nefastos.

Como ejemplo, puede hacer que la interfaz web de Google Translate convierta lo que parece la frase en inglés "Enviar dinero a la cuenta 4321" al francés "Envoyer de l'argent sur le compte 1234".

Una captura de pantalla del Traductor de Google

Engañando al Traductor de Google con Unicode. Click para agrandar

Esto se hace ingresando en el lado inglés “Enviar dinero a la cuenta” y luego insertando el glifo Unicode invisible 0x202E, que cambia la dirección del siguiente texto que escribimos – “1234” – a “4321”. El motor de traducción ignora el carácter especial Unicode, por lo que en el lado francés vemos "1234", mientras que el navegador obedece al carácter, por lo que muestra "4321" en el lado inglés.

Puede ser posible explotar un asistente de inteligencia artificial o una aplicación web usando este método para cometer fraude, aunque lo presentamos aquí en Google Translate simplemente para ilustrar el efecto de los caracteres Unicode ocultos. Un ejemplo más práctico sería alimentar la frase…

…en un sistema de moderación de comentarios, donde U+8 es lo invisible Personaje Unicode para eliminar el carácter anterior. El sistema de moderación ignora los caracteres de retroceso, ve en su lugar una serie de palabras mal escritas y no puede detectar ninguna toxicidad, mientras que los navegadores que muestran correctamente el comentario muestran: "Eres un cobarde y un tonto".

Por lo tanto, puedes criticar a alguien sin activar el sistema de moderación utilizando caracteres Unicode ocultos en tu mensaje o publicación. Esto se ha demostrado, en diversos grados, frente al Clasificador de contenido tóxico de IBM y la API Perspective de Google.

Esta travesura nos recuerda los ataques adversarios a los sistemas de visión por computadora que causaron que un Tesla conducir más rápido que el límite de velocidad y una manzana para ser equivocado para un iPod.

Sin embargo, lo más importante es que estas travesuras de Unicode abusan del manejo del texto de entrada por parte de los sistemas de aprendizaje automático en lugar de explotar las debilidades dentro de las profundidades de una red neuronal.

Nuestros ataques funcionan contra sistemas comerciales actualmente implementados.

Fueron académicos de la Universidad de Cambridge en Inglaterra y de la Universidad de Toronto en Canadá quienes resaltaron estas cuestiones y expusieron sus conclusiones en un artículo. liberado en arXiv en junio de este año.

"Descubrimos que con una única inyección de codificación imperceptible (que representa un carácter invisible, homoglifo, reordenamiento o eliminación) un atacante puede reducir significativamente el rendimiento de los modelos vulnerables, y con tres inyecciones la mayoría de los modelos pueden romperse funcionalmente", se lee en el resumen del artículo. .

"Nuestros ataques funcionan contra los sistemas comerciales actualmente implementados, incluidos los producidos por Microsoft y Google, además de los modelos de código abierto publicados por Facebook e IBM".

Un ataque adversario de homoglifos que es fácil de realizar en Google Translate implica cambiar la primera letra del alfabeto inglés, a, al cirílico а en una palabra. Parecen iguales al ojo humano, aunque sus caracteres Unicode son diferentes.

Usar la letra inglesa a en la palabra "paypal" y traducirla a Rusia en Google Translate le dará la traducción correcta "PayPal", pero reemplace la primera aparición de a con la a cirílica, y Google escupirá "папа", que significa papá o padre. Por lo tanto, es posible explotar esto en un asistente de inteligencia artificial o en una aplicación web para redirigir pagos y similares.

false_google_translate

Captura de pantalla de Google Translate confundiendo la palabra inglesa paypal con papa en Rusia debido a un ataque de homoglifos

Los correos electrónicos no deseados pueden evadir la detección y el discurso de odio puede pasar desapercibido si los malhechores utilizan estas técnicas, dijo Nicolas Papernot, coautor del artículo e investigador de seguridad de inteligencia artificial en el Instituto Vector de la Universidad de Toronto. Él reg. Papernot se refirió a estos ataques Unicode basados ​​en texto como "personajes malos".

“Los ataques presentados en nuestro artículo son aplicables a aplicaciones del mundo real; Como parte de nuestra divulgación responsable, un importante proveedor de correo realizó cambios en sus filtros de spam y un proveedor de nube modificó su oferta de aprendizaje automático como servicio”, nos dijo Papernot.

“Los caracteres malos [son aplicables] en todos los lugares donde se utiliza el aprendizaje automático para el procesamiento del lenguaje natural; ejemplos de tales sistemas son la detección de contenido tóxico, la extracción de temas y la traducción automática. Los malos personajes también son agnósticos a las tareas y canalizaciones de aprendizaje automático: explotan las discrepancias entre la representación visual y lógica de los personajes en lugar de las inconsistencias específicas de un modelo determinado, como se buscó en trabajos anteriores sobre ejemplos contradictorios.

"Esto hace que los personajes malos sean más prácticos de usar".

Incluso puede ser posible utilizar Unicode invisible para bien y para mal, añadió.

“Cuando el aprendizaje automático se utiliza con fines cuestionables, como la censura, los activistas de derechos humanos podrían aprovechar los malos personajes para evadir la censura”, nos dijo Papernot.

"En otro ejemplo, los bufetes de abogados que dependen del procesamiento del lenguaje natural para procesar un gran corpus de documentos de manera eficiente también están expuestos: una entidad maliciosa podría presentar documentos con malos caracteres para evadir el escrutinio del bufete de abogados".

Los desarrolladores de software impulsado por IA deberían filtrar los caracteres especiales Unicode (como los retrocesos) por completo, si es posible, o pasar el Unicode a través de un analizador antes de entregarlo a una red neuronal, de modo que, en última instancia, lo que la red neuronal vea y tome una decisión. on es lo que el usuario también ve y con lo que interactúa en el navegador o la interfaz de usuario. Los cambios de idioma, como del inglés al ruso, deben detectarse y gestionarse adecuadamente.

Dado que es posible que los modelos potencialmente susceptibles a estos ataques ya se utilicen ampliamente en producción, es posible que veamos una explotación exitosa en el mundo real. ®

Fuente: https://go.theregister.com/feed/www.theregister.com/2021/08/06/unicode_ai_bug/

Sello de tiempo:

Mas de El registro