Cómo pueden los piratas informáticos leer tus chats con ChatGPT o Microsoft Copilot

Cómo aprovechan los piratas informáticos las funciones de los chatbots para restaurar los chats cifrados de OpenAI ChatGPT, Microsoft Copilot y la mayoría de los demás chatbots de IA.

Investigadores israelíes de Offensive AI Lab han publicado un artículo que describe un método para restaurar el texto de los mensajes de chatbots de IA interceptados. Hoy vamos a ver cómo funciona este ataque y lo peligroso que es en realidad.

¿Qué información se puede extraer de los mensajes de chatbot de IA interceptados?

Naturalmente, los chatbots envían mensajes de forma cifrada. De todos modos, la implementación de grandes modelos de lenguaje (LLM) y los chatbots basados en ellos albergan una serie de funciones que debilitan gravemente el cifrado. Al combinarse, estas funciones permiten llevar a cabo un ataque de canal lateral cuando el contenido de un mensaje se restaura a partir de fragmentos de información filtrada.

Para comprender lo que sucede durante este ataque, debemos profundizar un poco en los detalles de los LLM y el funcionamiento de los chatbots. Lo primero que debes saber es que los LLM no funcionan con caracteres individuales o palabras como tales, sino con tokens, que pueden describirse como unidades semánticas de texto. La página de Tokenizer en el sitio web de OpenAI permite vislumbrar el funcionamiento interno.

Ejemplo de tokenización de texto con los modelos GPT-3.5 y GPT-4

Este ejemplo demuestra cómo funciona la tokenización de mensajes con los modelos GPT-3.5 y GPT-4. Fuente

Si has interactuado con los chatbots de IA seguramente conocerás la segunda función que facilita este ataque: no envían respuestas largas, sino de forma gradual, casi como si una persona las estuviera escribiendo. Pero a diferencia de una persona, los LLM escriben en tokens, no en caracteres individuales. Es decir que los chatbots envían tokens generados en tiempo real, uno tras otro; o, mejor dicho, la mayoría de los chatbots lo hacen. La excepción es Google Gemini, lo que lo hace invulnerable a este ataque.

La tercera peculiaridad es la siguiente: en el momento de la publicación del artículo, la mayoría de los chatbots no usaban compresión, codificación ni relleno (incorporación de datos basura a un texto significativo para reducir la previsibilidad y aumentar la fuerza criptográfica) antes de cifrar un mensaje.

Los ataques de canal lateral aprovechan estas tres peculiaridades. Aunque los mensajes de chatbot interceptados no se pueden descifrar, los atacantes pueden extraer datos útiles de ellos, específicamente, la longitud de cada token enviado por el chatbot. El resultado es similar al de un rompecabeza de La ruleta de la suerte. No se puede ver qué está cifrado exactamente, pero se revela la longitud de los tokens de palabras individuales.

Los atacantes pueden deducir la longitud de los tokens enviados

Si bien es imposible descifrar el mensaje, los atacantes pueden extraer la longitud de los tokens enviados por el chatbot. La secuencia resultante es similar a una frase oculta en el programa La ruleta de la suerte. Fuente

Uso de información extraída para restaurar el texto del mensaje

Lo único que resta es adivinar qué palabras se esconden detrás de los tokens. Y adivina quiénes son buenos para las adivinanzas: exacto, los LLM. De hecho, esta es su finalidad principal en la vida: adivinar las palabras correctas en el contexto dado. Entonces, para restaurar el texto del mensaje original a partir de la secuencia resultante de longitudes de tokens, los investigadores recurrieron a un LLM.

A dos LLM, para ser precisos, ya que los investigadores observaron que los primeros mensajes en las conversaciones con los chatbots casi siempre siguen una fórmula y, por lo tanto, pueden adivinarse fácilmente por medio de un modelo especialmente entrenado con una variedad de mensajes introductorios generados por modelos de lenguaje populares. Por lo tanto, el primer modelo se utiliza para restaurar los mensajes introductorios y pasarlos al segundo modelo, que se encarga del resto de la conversación.

Descripción general del ataque para restaurar mensajes de chatbot de IA.

Esquema general del ataque. Fuente

Se produce un texto en el que las longitudes de los tokens se corresponden con las del mensaje original. Sin embargo, las palabras específicas se descifran a la fuerza con diversos niveles de éxito. Ten en cuenta que es poco frecuente que el mensaje restaurado coincida exactamente con el original. Por lo general, una parte del texto se adivina mal. A veces el resultado es satisfactorio:

Ejemplo de una reconstrucción de texto bastante buena

En este ejemplo, el texto se restauró con bastante fidelidad al original. Fuente

Sin embargo, en un caso fallido, el texto reconstruido podría tener poco en común con el original o incluso no parecerse en nada. Por ejemplo, el resultado podría ser este:

Ejemplo de una reconstrucción de texto no tan exitosa

Aquí las conjeturas dejan mucho que desear. Fuente

O incluso este:

Ejemplo de una reconstrucción de texto muy mala

Como dijo una vez Alicia, en el País de las Maravillas, “esas no son las palabras correctas”. Fuente

En total, los investigadores examinaron más de una docena de chatbots de IA y descubrieron que la mayoría eran vulnerables a este ataque. Las excepciones fueron Google Gemini (antes conocido como Bard) y GitHub Copilot (que no debe confundirse con Microsoft Copilot).

Lista de chatbots de IA investigados

En el momento de la publicación del documento, muchos chatbots eran vulnerables al ataque. Fuente

¿Debería preocuparme?

Cabe señalar que este ataque es retrospectivo. Supongamos que alguien se tomó la molestia de interceptar y guardar tus conversaciones con ChatGPT (no es tan fácil, pero es posible), en las que revelas algunos secretos horribles. En este caso, utilizando el método descrito anteriormente, esa persona, en teoría, podría leer los mensajes.

Por suerte, las posibilidades de la persona que intercepta los mensajes no son muy altas. Como señalan los investigadores, incluso el tema general de la conversación se determinó solo el 55 % de las veces. En cuanto a la reconstrucción exitosa, alcanzó apenas un 29 %. Vale la pena mencionar que los criterios de los investigadores para una reconstrucción completamente exitosa se cumplieron, por ejemplo, en el siguiente caso:

Ejemplo de una reconstrucción de texto completamente exitosa

Ejemplo de una reconstrucción de texto que los investigadores consideraron totalmente exitosa. Fuente

Tú decides la importancia de estos matices semánticos. Sin embargo, ten en cuenta que lo más probable es que este método no extraiga datos concretos reales (nombres, valores numéricos, fechas, direcciones, datos de contacto u otra información vital) con ningún grado de fiabilidad.

Y el ataque tiene otra limitación que los investigadores no mencionan: el éxito de la restauración del texto depende en gran medida del idioma en el que estén escritos los mensajes interceptados. El éxito de la tokenización varía mucho de un idioma a otro. Este estudio se centró en el inglés, que se caracteriza por tokens muy largos que suelen equivaler a una palabra entera. Por lo tanto, el texto en inglés tokenizado muestra patrones distintos que hacen que la reconstrucción sea relativamente sencilla.

Ningún otro idioma está en una situación similar. Incluso para los idiomas de los grupos germánico y romance, que son los más parecidos al inglés, la longitud media de los tokens es de 1,5 a 2 veces más corta; y para el ruso, 2,5 veces. Un token ruso típico tiene solo un par de caracteres, lo que probablemente reduzca la efectividad de este ataque a cero.

Al menos dos desarrolladores de chatbots de inteligencia artificial, Cloudflare y OpenAI, ya han reaccionado al estudio al añadir el método de relleno mencionado anteriormente, que se diseñó específicamente con este tipo de amenaza en mente. Otros desarrolladores de chatbots de IA están preparados para hacer lo mismo. Por lo que, con suerte, la comunicación futura con los chatbots estará protegida contra este ataque.

Consejos