Whisper Leak: Cómo espiar conversaciones cifradas que se tiene con un LLM y cómo mitigar este ataque con ofuscación
El delicado equilibrio entre seguridad y privacidad siempre está en riesgo de balancearse de un lado a otro. Algunos, sufren cuando la privacidad evita que un malo sea detectado o le dota al atacante de herramientas que puede explotar, mientras que la seguridad puede estar tentada a hacer un uso excesivo de sus capacidades de vigilancia y tornarse en un déspota que aproveche esa posición de poder para degenerar en algo más allá que proteger a las personas. Este debate, en el mundo tecnológico, lo hemos tenido siempre.
En el caso de las conversaciones vía Prompt que se tienen con un LLM, la industria está investigando cuáles son esas medidas de privacidad y vigilancia, y cuál es el equilibrio que existe entre ellas. En el caso de los Prompts y las respuestas enviadas a un modelo LLM, utilizamos criptografía donde ciframos con TLS los datos enviados y recibidos, y asumimos que si un atacante es capaz de acceder a esa información, no podrá descifrarla.
Dejando al margen que el atacante pueda esperar a la llegada de los ordenadores cuánticos y esté utilizando una estrategia de Harvest-Today-Decrypt-Tomorrow, - ,motivo por el que habría que cifrar toda esa comunicación con algoritmos de Post-Quantum Cryptography, la pregunta que se hacen los investigadores es, ¿es posible sabe de qué están hablando un LLM y un usuario - o un Agentic AI - solo con las cadenas de datos cifrados intercambiados entre ellos?
La respuesta a esta pregunta ya la vimos en el trabajo del año pasado de "What Was Your Prompt? A Remote Keylogging Attack on AI Assistants" del que os hablé en el artículo de "Ataque de Side-Channel a conversaciones con ChatGPT, CoPilot y otros LLMs" donde los investigadores aprovechaban los datos de cifrados de las conversaciones que se tenían con diferentes LLMs para pasarlos por un Clasificador de Machine Learning que, mirando los tamaños y las conversaciones, el número de conversaciones, y los tiempos entre ellas, era capaz de clasificar los tipos de conversaciones con una muy precision.
Investigadores de Microsoft, este mismo mes, han publicado un trabajo titulado: "Whisper Leak: A side-channel attack on Large Language Models" que ahonda en esa idea, añadiendo nuevos puntos de información para hacer el clasificador de Machine Learning mucho más poderoso. En este caso han añadido las secuencias de tiempos de las conversaciones, que al final son un proxy al Thinking Time.
Con estos datos añadidos al clasificador, lo que sucede es que detectar que se está hablando de un topic vigilado, por ejemplo "Money Laundary" es mucho más efectivo, incluso si las conversaciones tienen entre medias intercambios ruidosos de temas no relaciones.
![]() |
| Figura 6: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández |
Esto abre un nueva de vigilancia a escala. Imaginemos que una organización quiere vigilar a todos los empleados de una organización quién está hablando de un tema, o aún más locura, imaginemos que un gobierno déspota quiera controlar todas las conversaciones a nivel de un país y saber quién está hablando de un determinado tema. Incluso con sistemas de cifrado, con un clasificador de Machine Learning analizando los datos encriptados de la comunicación TLS entre los ciudadanos y los modelos LLM transferidos podría llegar a saberse quién está hablando de qué. En el trabajo utilizan, para aumentar la efectividad del clasificador lo siguientes datos:
- Token Lenght Side Channel: En el trabajo de "What Was Your Prompt? A Remote Keylogging Attack on AI Assistants" demostraron como se podía inferir la longitud del token a partir de la longitud de los datos cifrados.
- Timing Sequences: En este caso, se basan en el trabajo de "Remote Timing Attacks on Efficient Inference" que demuestra que dependiendo de los tiempos de respuesta se puede inferir los temas de los que está tratando una conversación. Al final, el tiempo de respuesta es un proxy al tiempo de componer la repuestas (Thinking Time) y puede ser utilizado para clasificar los temas con un modelo de Machine Learning.
- Timing Sequences para contar Tokens: Las secuencias de tiempo no solo se pueden utilizar para inferir los temas, sino que también se pueden utilizar para inferir el número de los tokens que se están intercambiando, que por ende - el número de tokens - son también una inferencia del tema que se está tratando, como explica el trabajo de "Time Will Tell: Timing Side Channels via Output Token Count in Large Language Models"
- Timing Side-Channel via Cache Sharing: El último de los trabajos que exploró el uso del tiempo como Side-Channel para filtrar información es el de "InputSnatch: Stealing Input in LLM Services via Timing Side-Channel Attacks" que se aprovecha de las optimizaciones de caché que muchos LLM utilizan para optimizar los resultados. Al final, se puede hacer un Cache Snooping basado en el tiempo de respuesta. Es decir, el usuario hace peticiones que llevan tiempo responder, y el modelo almacena esos tokens en la caché que luego reutilizará si alguien pide esa misma información. Midiendo los tiempos de respuesta de temas que deberían ser largos se puede saber si ese tema ha sido preguntado cuando el tiempo de respuesta sea corto.
Utilizando todos estos estudios, los investigadores han construido un clasificador de Machine Learning que consigue unos resultados de acierto altísimo para saber cuándo una conversación ha tenido que ver con un determinado tema para el que ha sido entrenado. En el experimento han utilizado tres diferentes arquitecturas para entrenar el modelo de inferencia, basadas en LightGBM, en LSTM y BERT, y los resultados de detección de un determinado tema entre conversaciones que no tienen nada que ver con ese tema son altísimos.
Claro, llegado a este punto, estamos en la dicotomía de elegir entre Privacidad y Seguridad. Se podría utilizar esta capacidad también para atrapara a los malos, pero el balance es que tendríamos que poner en riesgo la privacidad de todas las personas para algo que, al final, dejaría de ser efectivo, porque... ¿utilizaría el malo este sistema de comunicaciones si supiera que le pueden detectar? La respuesta es no, y por el camino todos los ciudadanos quedarían expuestos. Por eso, los investigadores proponen añadir medidas de protección contra este tipo de inspección basadas en tres formas de ofuscación.
Medidas de mitigación
La primera de las opciones que proponen es hacer un Random Padding para evitar que la longitud de los tokens que se envían sea constante y repetible, esto es algo que mis compañeros Celso Martinho y Michelle Chen explicaban cómo los habían añadido a las capacidades de Cloudflare para despliegue de Servicios con nuestra AI Security Suite. Lo tenéis explicado en el artículo de "Mitigating a token-length side-channel attack in our AI products".
Figura 8: En el despliegue de Cloudflare se añade el padding en la propiedad "p" como se
La segunda de las propuestas es hacer Token Batching, o lo que es lo mismo, agrupar aleatoriamente grupos de tokens, lo que reduce drásticamente la observabiliadad del número de tokens y el tamaño de las conversaciones. Esto dificulta la efectividad del clasificador de Machine Learning, y por lo tanto ayuda a la privacidad.
La tercera es hacer Packet Injection y meter aleatoriamente tokens sintéticos en el medio de las conversaciones para ofuscar la conversación. De nuevo, el objetivo es cambiar el número de tokens para hacer más difícil la labor de la clasificación.
Con estas protecciones, se puede ver cómo los ratios de mitigación permiten tener sistemas que reducen la efectividad del ataque en más de un 90%, por lo que deberían ser desplegadas cuanto antes en cualquier servicio que se despliegue utilizando LLMs.
Figura 11: Hacking & Pentesting con Inteligencia Artificial.
Si te interesa la IA y la Ciberseguridad, te recomiendo este enlace todos los posts, papers y charlas que he escrito, citado o impartido sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)



DragonJAR
8.8 Chile
Ekoparty
e-Hack MX
AREA 51
Comunidad Dojo Panamá
ARPAHE SOLUTIONS 
















No hay comentarios:
Publicar un comentario