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.
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!
Este comentario ha sido eliminado por el autor.
ResponderEliminar