viernes, octubre 10, 2025

Ataque Mic-E-Mouse: Cómo pueden escuchar lo que dices delante de tu ordenador transformando tu ratón óptico en un micrófono usando Machine Learning

Hoy os quiero hablar de un paper que me ha llamado mucho la atención, pues aparte de ser una "Idea Loca" de verdad, la verdad es que es súper hacker y mola todo. Se trata de convertir el ratón óptico con el que haces clic a los iconos en tu escritorio, en un micrófono para grabar las cosas que dices delante de él. A priori suena a locura, pero el trabajo es minucioso e ingenioso, y merece la pena prestarle atención.

El paper en concreto se llama "Invisible Ears at Your Fingertips: Acoustic Eavesdropping via Mouse Sensors" y está disponible para que lo puedas descargar y analizar en detalle.
Como podrás ver en el artículo que te acabo de dejar enlazado en la imagen anterior, los investigadores trabajan con la idea de que la estructura de un Mouse es muy similar a la estructura de un Micrófono, tal y como describen en la siguiente imagen.

Como se puede ver, la fuente de audio que afecta al diafragma de un micrófono, afecta de igual forma a la superficie que vibra cuando se mueve el ratón y que genera el cambio en el sensor óptico. Cambia que el análisis de ese cambio de luces en el ratón se transforma en una señal digital de desplazamiento, mientras que en un micrófono es una señal de audio de Hi-Fi. A partir de este punto, el resto inicialmente es trabajo para los Makers y amantes del Hardware Hacking.

Figura 4: Libros para Makers en 0xWord que deberías tener:

El esquema que presenta el ataque es el que se ve en la imagen siguiente. La voz de una persona genera una vibración en el ratón óptico que se transforma en micro incrementos en el desplazamiento del ratón, tan pequeños que son despreciados por el sistema operativo en movimientos reales, pero la señal llega hasta el driver del ratón.
A partir de ese momento, si un atacante es capaz de conseguir acceder a esa señal del ratón enviada al software del ratón, que se usa entre otras cosas para calibrar la sensibilidad del ratón, el atacante puede procesar la señal con técnicas de Machine Learning para reconstruir la señal de audio que generó los micro-movimientos, y con un modelo entrenado, reconocer patrones de palabras que han sido dichas. 

Figura 6: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

El proceso de este ataque, al que han llamado Mic-e-Mouse es muy ingenioso, ya que primero aprovechan para hacer una detección de la señal de ruido de fondo, calibrando durante un tiempo cuáles son las señales que hay que quitar, usando un Filtro de Wiener, y luego pudiendo separar la señal a capturar con el mensaje de voz que se quiere reconocer. Cada uno de los sensores óptico son distintos, y traen defectos diferentes, por lo que es necesario hacer esa calibración con el Filtro de Wiener para asegurar el funcionamiento del sistema.

Después, el ratón transforma los cambios en en el sensor óptico con Transformadas de Furier que ayudan a precisar los cambios en los sensores a lo largo del tiempo, en movimientos, que después son pasados por un filtro en el firmware del ratón en una señal de incrementos de movimiento a lo largo del tiempo, de la posición X y la posición Y, que es enviado al equipo, tal y como se ve en la imagen siguiente.


Esas señales se pueden conseguir del software del ratón sin necesidad de tener que instalar un driver en el sistema operativo, ya que los ratones de alta precisión permiten acceder a las señales de movimiento que generan a aplicaciones, y por tanto se puede procesar para otros propósitos más allá de mover el cursor del ratón.
Estos datos de incrementos de tiempo, X e Y pueden acabar en bases de datos en servidores de juegos, servidores web o de telemetría, y cualquiera que tenga acceso a ellos puede procesarlos para extraer los impactos de las voces en ellos, Por supuesto, no es trivial, ya que las señales de voz generan diferentes incrementos en función del ángulo de impacto de la onda de audio generada, como explica este gráfico.

Pero en cualquier caso, probando las diferentes posibilidades, se puede procesar la señal. En la imagen siguiente hay cuatro gráficas que explican bien el proceso. Como se puede ver en la primera gráfica a) hay tres señales capturadas. La señal amarilla es la señal de color amarilla es la que se puede calcular como  señal ruido gracias a la calibración inicial, la señal verde es la capturada y generada con la captura del sensor del ratón (en base a los datos de incrementos), mientras que la señal azul es la señal real de la voz emitida al lado del ratón, y hay una clara correlación entre ambas.


En la gráfica b) se ven tres tipos de señales auditivas sintéticas fijas, en dos tonos diferentes fijos y uno incremental, que generan un espectrograma de señal de audio como se ve en la gráfica c). Y la última, es una señal de audio capturada por el sensor con una frase en un entorno ruidoso, que es lo que hay que procesar. Como se ve en la imagen a) y c) las correlaciones son claras, y si existen esas correlaciones, se puede entrenar un algoritmo de Machine Learning para reconocer los audios.

Habiendo comprobado esto, la PoC de Mic-E-Mouse se hizo con cuatro ratones ópticos del alta sensibilidad, para estudiar los resultados en diferentes entornos. Estos ratones se configuraron en el entorno que tenéis arriba, para recoger datos. Con el objetivo de hacer las pruebas mejor, veis que se ha construido una caja de aislamiento sobre la que poner el ratón óptico, para poder ejecutar el ataque en un "escenario ideal", poder medir bien las señales de ruido, y sacar conclusiones sobre las que extrapolar un ataque real.

La última parte del ataque, es aplicar Reconstrucción de la Señal de Audio con Speech Reconstruction Models y el Reconocimiento de Palabras (y dígitos) usando Speech Keyword Classification Models Machine Learning, y para esto se usan dos algoritmos diferentes. El primero intenta reconstruir la onda de audio con una arquitectura similar a la que utiliza OpenAI Whisper a partir de los incrementos temporales de X e Y usando un Neural Filter. Y el resultado es una reconstrucción de un espectrograma de audio más que válido con el proceso completo.
Entrenado el modelo y probado con diferentes datasets que contienen dígitos, palabras y frases en inglés, el resultado es más que prometedor, con unos ratios de hasta más del 60% en algún dataset. Pero claro, estos resultados varían mucho dependiendo de la superficie donde esté el ratón, el tipo de ratón óptico, el ruido de ambiente, el volumen de la voz, la frecuencia de pooling the ratón, etcetera.
Por supuesto, este ataque de Mic-E-Mouse hoy parece difícil de automatizar masivamente y con éxito, pero lo que demuestra este estudio es que, a medida que aumenta la precisión de los ratones ópticos, que aumenta la frecuencia de pooling, y que aumentan la calidad de los algoritmos de Machine Learning, esto es un ataque más que posible, si no para grabar toda la conversación, para reconocer palabras, números, fechas, etcétera. 
Un ataque de side-channel similar a los ataques Tempest que tanto me gustan, y que también se han visto favorecidos con el avance de la Inteligencia Artificial, como vimos con Deep-Tempest. Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los postspapers 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)  


No hay comentarios:

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares