Ángulo de Anderson

Atacar sistemas de procesamiento de lenguaje natural con ejemplos adversarios

mm

Investigadores en el Reino Unido y Canadá han ideado una serie de ataques de caja negra contra sistemas de Procesamiento de Lenguaje Natural (NLP) que son efectivos contra una amplia gama de marcos de procesamiento de lenguaje populares, incluidos sistemas ampliamente desplegados de Google, Facebook, IBM y Microsoft.

El ataque puede ser utilizado potencialmente para incapacitar sistemas de traducción de aprendizaje automático al forzarlos a producir sinsentidos o cambiar la naturaleza de la traducción; para bloquear la capacitación de modelos de NLP; para mal clasificar contenido tóxico; para envenenar los resultados de los motores de búsqueda al causar un indexado defectuoso; para hacer que los motores de búsqueda fallen al identificar contenido malicioso o negativo que es perfectamente legible para una persona; e incluso para causar ataques de denegación de servicio (DoS) en marcos de NLP.

Aunque los autores han divulgado las vulnerabilidades propuestas en el documento a varias partes no identificadas cuyos productos figuran en la investigación, consideran que la industria de NLP ha sido lenta en protegerse contra ataques adversarios. El documento establece:

‘Estos ataques explotan características de codificación de lenguaje, como caracteres invisibles y homoglifos. Aunque se han visto ocasionalmente en el pasado en estafas de spam y phishing, los diseñadores de muchos sistemas de NLP que ahora se están desplegando a gran escala parecen haberlos ignorado por completo.’

Varios de los ataques se llevaron a cabo en un entorno de “caja negra” a través de llamadas a la API a sistemas de MLaaS, en lugar de versiones de NLP de código abierto instaladas localmente. Sobre la eficacia combinada de los sistemas, los autores escriben:

‘Todos los experimentos se realizaron en un entorno de caja negra en el que se permiten evaluaciones de modelo ilimitadas, pero no se permite acceder a los pesos o el estado del modelo evaluado. Esto representa uno de los modelos de amenazas más fuertes para los que es posible realizar ataques en casi todos los entornos, incluidas las ofertas comerciales de Machine-Learning-as-a-Service (MLaaS). Cada modelo examinado fue vulnerable a ataques de perturbación imperceptibles.

‘Creemos que la aplicabilidad de estos ataques debería generalizarse teóricamente a cualquier modelo de NLP basado en texto sin defensas adecuadas en su lugar.’

El documento se titula Personajes malos: ataques de NLP imperceptibles, y proviene de tres investigadores de tres departamentos de la Universidad de Cambridge y la Universidad de Edimburgo, y un investigador de la Universidad de Toronto.

El título del documento es ejemplar: está lleno de caracteres Unicode ‘imperceptibles’ que forman la base de uno de los cuatro métodos de ataque principales adoptados por los investigadores.

Incluso el título del documento tiene misterios ocultos.

Incluso el título del documento tiene misterios ocultos.

Método/s

El documento propone tres métodos de ataque efectivos: caracteres invisibles; homoglifos; y reordenamientos. Estos son los métodos ‘universales’ que los investigadores han encontrado que tienen un alcance amplio contra marcos de NLP en escenarios de caja negra. Un método adicional, que implica el uso de un carácter eliminar, se encontró que es adecuado solo para tuberías de NLP inusuales que utilizan el portapapeles del sistema operativo.

1: Caracteres invisibles

Este ataque utiliza caracteres codificados en una fuente que no se asignan a un glifo en el sistema Unicode. El sistema Unicode se diseñó para estandarizar el texto electrónico y ahora cubre 143,859 caracteres en varios idiomas y grupos de símbolos. Muchas de estas asignaciones no contendrán ningún carácter visible en una fuente (que no puede incluir, naturalmente, caracteres para cada entrada posible en Unicode).

Del documento, un ejemplo hipotético de un ataque que utiliza caracteres invisibles, que divide las palabras en segmentos que no significan nada para un sistema de NLP, o que, si se crean cuidadosamente, pueden significar algo diferente para una traducción precisa. Para el lector casual, el texto original es correcto.

Del documento, un ejemplo hipotético de un ataque que utiliza caracteres invisibles, que divide las palabras de entrada en segmentos que no significan nada para un sistema de NLP, o que, si se crean cuidadosamente, pueden evitar una traducción precisa. Para el lector casual, el texto original en ambos casos es correcto. Source: https://arxiv.org/pdf/2106.09898.pdf

Normalmente, no se puede utilizar uno de estos caracteres no visibles para crear un espacio de ancho cero, ya que la mayoría de los sistemas renderizarán un símbolo de ‘placeholder’ (como un cuadrado o un signo de interrogación en un cuadro inclinado) para representar el carácter no reconocido.

Sin embargo, como observa el documento, solo una pequeña cantidad de fuentes dominan la escena informática actual, y, como era de esperar, tienden a adherirse al estándar Unicode.

Por lo tanto, los investigadores eligieron los glifos de Unifont de GNU para sus experimentos, en parte debido a su ‘cobertura robusta’ de Unicode, pero también porque se parece a muchas de las fuentes ‘estándar’ que es probable que se alimenten a los sistemas de NLP. Mientras que los caracteres invisibles producidos a partir de Unifont no se renderizan, sin embargo, se cuentan como caracteres visibles por los sistemas de NLP probados.

Aplicaciones
Volviendo al título ‘creado’ del documento en sí, podemos ver que realizar una búsqueda de Google desde el texto seleccionado no produce el resultado esperado:

Este es un efecto del lado del cliente, pero las ramificaciones del lado del servidor son un poco más graves. El documento observa:

‘Aunque un documento perturbado puede ser rastreado por un rastreador de un motor de búsqueda, los términos utilizados para indexarlo se verán afectados por las perturbaciones, lo que hace que sea menos probable que aparezca en una búsqueda de términos no perturbados. Es así posible ocultar documentos de los motores de búsqueda “a la vista”.’

‘Como ejemplo de aplicación, una empresa deshonesta podría ocultar información negativa en sus informes financieros para que los motores de búsqueda especializados utilizados por los analistas de acciones no los detecten.’

El único escenario en el que el ataque de ‘caracteres invisibles’ resultó menos efectivo fue contra modelos de contenido tóxico, reconocimiento de entidades con nombre (NER) y análisis de sentimiento. Los autores postulan que esto se debe a que los modelos fueron entrenados con datos que también contenían caracteres invisibles, o a que el tokenizador del modelo (que divide la entrada de lenguaje crudo en componentes modulares) ya estaba configurado para ignorarlos.

2: Homoglifos

Un homoglifo es un carácter que se parece a otro carácter: una debilidad semántica que se explotó en 2000 para crear una réplica de estafa del dominio de procesamiento de pagos de PayPal.

En este ejemplo hipotético del documento, un ataque de homoglifo cambia el significado de una traducción al sustituir homoglifos visualmente indistinguibles (subrayados en rojo) por caracteres latinos comunes.

En este ejemplo hipotético del documento, un ataque de homoglifo cambia el significado de una traducción al sustituir homoglifos visualmente indistinguibles (subrayados en rojo) por caracteres latinos comunes.

Los autores comentan:

‘Hemos encontrado que los modelos de aprendizaje automático que procesan texto proporcionado por el usuario, como los sistemas de traducción neuronal, son particularmente vulnerables a este estilo de ataque. Consideremos, por ejemplo, el servicio de liderazgo de mercado Google Translate. En el momento de la redacción, al ingresar la cadena “paypal” en el modelo inglés-ruso correctamente produce “PayPal”, pero al reemplazar el carácter latino a en la entrada con el carácter cirílico а incorrectamente produce “папа” (“padre” en inglés).’

Los investigadores observan que aunque muchos tubos de NLP reemplazarán caracteres que están fuera de su diccionario específico de lenguaje con un token <unk> (‘desconocido’), los procesos de software que convocan el texto envenenado en el tubo pueden propagar palabras desconocidas para su evaluación antes de que esta medida de seguridad pueda entrar en vigor. Los autores afirman que esto ‘abre una superficie de ataque sorprendentemente grande’.

3: Reordenamientos

Unicode permite lenguajes que se escriben de izquierda a derecha, con el orden manejado por el algoritmo Bidireccional (BIDI) de Unicode. Mezclar caracteres de derecha a izquierda y de izquierda a derecha en una sola cadena es confuso, y Unicode ha hecho una provisión para esto al permitir que BIDI se anule con caracteres de control especiales. Estos permiten una representación casi arbitraria para un orden de codificación fijo.

En otro ejemplo teórico del documento, un mecanismo de traducción se ve obligado a poner todas las letras del texto traducido en el orden incorrecto, porque está obedeciendo la codificación de derecha a izquierda/izquierda a derecha incorrecta, debido a una parte del texto de origen adversario (subrayado) que le ordena que lo haga.

En otro ejemplo teórico del documento, un mecanismo de traducción se ve obligado a poner todas las letras del texto traducido en el orden incorrecto, porque está obedeciendo la codificación de derecha a izquierda/izquierda a derecha incorrecta, debido a una parte del texto de origen adversario (subrayado) que le ordena que lo haga.

Los autores afirman que en el momento de la redacción del documento, el método era efectivo contra la implementación de Unicode en el navegador web Chromium, la fuente ascendente para el navegador Chrome de Google, el navegador Edge de Microsoft y una gran cantidad de otros forks.

También: Eliminaciones

Incluido aquí para que los gráficos de resultados posteriores sean claros, el ataque de eliminaciones implica incluir un carácter que representa una tecla de retroceso o otro comando de control/texto, que se implementa de manera efectiva por el sistema de lectura de lenguaje en un estilo similar a una macro de texto.

Los autores observan:

‘Un pequeño número de caracteres de control en Unicode pueden causar que el texto vecino se elimine. Los ejemplos más simples son el retroceso (BS) y el carácter de eliminar (DEL). También hay el retorno de carro (CR) que hace que el algoritmo de renderizado de texto regrese al principio de la línea y sobrescriba su contenido.

‘Por ejemplo, el texto codificado que representa “Hello CRGoodbye World” se renderiza como “Goodbye World”.’

Como se mencionó anteriormente, este ataque requiere efectivamente un nivel improbable de acceso para funcionar y solo sería totalmente efectivo con texto copiado y pegado a través de un portapapeles, sistemáticamente o no: una tubería de NLP poco común.

Los investigadores lo probaron de todos modos, y se desempeña de manera comparable a sus compañeros estables. Sin embargo, los ataques que utilizan los tres primeros métodos pueden implementarse simplemente subiendo documentos o páginas web (en el caso de un ataque contra motores de búsqueda y/o tuberías de NLP de extracción web).

En un ataque de eliminaciones, los caracteres creados efectivamente borran lo que los precede, o fuerzan el texto de una sola línea a una segunda línea, en ambos casos sin hacerlo obvio para el lector casual.

En un ataque de eliminaciones, los caracteres creados efectivamente borran lo que los precede, o fuerzan el texto de una sola línea a una segunda línea, en ambos casos sin hacerlo obvio para el lector casual.

Eficacia contra los sistemas de NLP actuales

Los investigadores realizaron una serie de ataques dirigidos y no dirigidos en cinco modelos populares de código cerrado de Facebook, IBM, Microsoft, Google y HuggingFace, así como en tres modelos de código abierto.

También probaron ‘ataques de esponja’ contra los modelos. Un ataque de esponja es efectivamente un ataque de denegación de servicio para los sistemas de NLP, donde el texto de entrada ‘no se calcula’, y causa que la capacitación se ralentice críticamente: un proceso que debería ser imposible debido a la preprocesamiento de datos.

Las cinco tareas de NLP evaluadas fueron traducción de máquina, detección de contenido tóxico, clasificación de inferencia textual, reconocimiento de entidades con nombre y análisis de sentimiento.

Las pruebas se realizaron en un número no especificado de Tesla P100 GPUs, cada uno ejecutando un procesador Intel Xeon Silver 4110 en Ubuntu. Para no violar los términos de servicio en el caso de hacer llamadas a la API, los experimentos se repitieron uniformemente con un presupuesto de perturbación de cero (texto de origen no afectado) a cinco (perturbación máxima). Los investigadores sostienen que los resultados que obtuvieron podrían superarse si se permitieran más iteraciones.

Resultados de la aplicación de ejemplos adversarios contra el modelo EN-FR de Fairseq de Facebook.

Resultados de la aplicación de ejemplos adversarios contra el modelo Fairseq EN-FR de Facebook.

Resultados de ataques contra el clasificador de contenido tóxico de IBM y la API de Perspectiva de Google.

Resultados de ataques contra el clasificador de contenido tóxico de IBM y la API de Perspectiva de Google.

Dos ataques contra Fairseq de Facebook: 'no dirigido' apunta a interrumpir, mientras que 'dirigido' apunta a cambiar el significado del lenguaje traducido.

Dos ataques contra Fairseq de Facebook: ‘no dirigido’ apunta a interrumpir, mientras que ‘dirigido’ apunta a cambiar el significado del lenguaje traducido.

Los investigadores probaron aún más su sistema contra marcos anteriores que no podían generar texto perturbador ‘legible por humanos’ de la misma manera, y encontraron que el sistema estaba en gran medida al mismo nivel que estos, y a menudo notablemente mejor, mientras conservaba la gran ventaja de la sigilo.

La eficacia promedio en todos los métodos, vectores de ataque y objetivos se mantiene alrededor del 80%, con muy pocas iteraciones realizadas.

Comentando sobre los resultados, los investigadores dicen:

‘Quizás el aspecto más inquietante de nuestros ataques de perturbación imperceptibles es su aplicabilidad general: todos los sistemas de NLP basados en texto que probamos son susceptibles. De hecho, cualquier modelo de aprendizaje automático que ingiera texto proporcionado por el usuario como entrada es teóricamente vulnerable a este ataque.

‘Las implicaciones adversarias pueden variar de una aplicación a otra y de un modelo a otro, pero todos los modelos basados en texto se basan en texto codificado, y todo el texto está sujeto a codificación adversaria a menos que la codificación esté adecuadamente restringida.’

Reconocimiento óptico de caracteres universal

Estos ataques dependen de lo que son efectivamente ‘vulnerabilidades’ en Unicode, y se obviarían en una tubería de NLP que rasterizara todo el texto de entrada y utilizara el reconocimiento óptico de caracteres como medida de saneamiento. En ese caso, el mismo significado semántico no maligno visible para las personas que leen estos ataques perturbados se pasaría al sistema de NLP.

Sin embargo, cuando los investigadores implementaron una tubería de OCR para probar esta teoría, encontraron que las puntuaciones BLEU (Bilingual Evaluation Understudy) disminuyeron la precisión base en un 6,2%, y sugieren que probablemente se necesitarían tecnologías de OCR mejoradas para remediar esto.

También sugieren que los caracteres de control BIDI deben eliminarse de la entrada por defecto, que los homoglifos inusuales deben asignarse y indexarse (lo que caracterizan como ‘una tarea abrumadora’), y que los tokenizadores y otros mecanismos de ingesta deben armarse contra los caracteres invisibles.

Al concluir, el grupo de investigación insta al sector de NLP a estar más alerta a las posibilidades de ataques adversarios, que actualmente es un campo de gran interés en la investigación de visión por computadora.

‘[Nosotros] recomendamos que todas las empresas que construyen y despliegan sistemas de NLP basados en texto implementen tales defensas si desean que sus aplicaciones sean robustas contra actores maliciosos.’

 

 

* Mi conversión de citas en línea a hipervínculos

18:08 14 de diciembre de 2021 – eliminé la mención duplicada de IBM, moví el enlace interno automático desde la cita – MA

Escritor sobre aprendizaje automático, especialista en síntesis de imágenes humanas. Anterior jefe de contenido de investigación en Metaphysic.ai.