martes, noviembre 15, 2016

WindTalker: Averiguar qué contraseñas usas en tu móvil por las perturbaciones WiFi

Esta semana, sin duda, el paper más interesante ha sido el titulado "When CSI Meets Public WiFi: Inferring Your Mobile Phone Password via WiFi Signals", publicado en un congreso ACM por unos investigadores de la Universidad de South Florida, por lo peculiar que es. Se trata de un estudio que intenta averiguar qué números está tecleado una persona en su smartphone por los movimientos que realiza sobre la pantalla y las perturbaciones que se producen en el campo WiFi.

Figura 1: WindTalker. Averiguar qué contraseñas usas en tu móvil por las perturbaciones WiFi

El sistema, al que se ha bautizado como WindTalker, lo que hace es medir información de la señal Wi-Fi que hay entre un smartphone - en este caso dispositivos Android - y el hostpot con una antena direccional, forzando un tráfico continuo de paquetes mediante una petición simple de ICMP durante todo el tiempo.

Figura 2: Paper de WindTalker

Cada vez que el usuario teclea en el terminal un número de un passcode, se produce una variación en la señal Wi-Fi producida por el movimiento del terminal reconocible. Esta señal, con suficiente entrenamiento por parte del sistema puede ser reconocida y distinta para cada número del passcode utilizando técnicas de Machine Learning, para conseguir saber que esa perturbación en la señal corresponde al número 3 o al número 7 con un alto grado de probabilidad.

Figura 3: Patrones de pulsado de teclas generan cambios distintos en el movimiento

Para conseguir saber exactamente qué señal corresponde a la introducción de cada número, WindTalker lleva también un sniffer de red que está analizando los paquetes de la red para reconocer el momento en que se está enviando la contraseña, con el objetivo de fijar temporalmente las señales y sus perturbaciones.

Figura 4: WindTalker monitoriza la señal de la red y el tráfico de los paquetes

Al final, es un estudio académico más que interesante, similar a otros que se han visto tiempo atrás con tecnologías Tempest para saber cuál era la contraseña que se tecleaba en una computadora portátil por los movimientos de la pantalla, o por las vibraciones que se producen en la mesa, o por el ruido, o por... cualquier canal paralelo de información que se te ocurra.

Figura 5: Los cambios en la señal son medibles y diferenciables

Si tienes suficiente cantidad de datos de un canal paralelo que se ve afectado con alguna dependencia por la introducción de una variable procedente del usuario - ya sea contraseña, clave de cifrado o información general - las técnicas de aprendizaje automático permiten llegar a inferir con un alto grado de probabilidad cuál fue la causa concreta que produjo esa variación, así que hay que intentar que los sistemas (Software & Hardware) tengan cuantos menos canales paralelos mejor. En este caso, un canal paralelo difícil de eliminar.

Saludos Malignos!

2 comentarios:

Jesus Garrido Fierro dijo...

GravityBox (un modulo de Xposed Framework para usuarios root en Android) tiene una opcion que se llama "PIN scramble" que te desordena los numeros cada vez que tienes que desbloquear el movil.
Usas siempre el mismo numero pero nunca pulsas el mismo lugar de la pantalla.

Jose ror dijo...
Este comentario ha sido eliminado por el autor.

Entrada destacada

Infraestructuras Críticas y Sistemas Industriales: Auditorías de Seguridad y Fortificación de @0xWord

Desde hoy está disponible a la venta un nuevo libro de 0xWord centrado en la seguridad de los Sistemas Industriales y las Infraestructuras...

Entradas populares