En enero de 2015, Samy Kamkar —el hacker detrás del gusano Samy de 2005 que tumbó MySpace— presentó KeySweeper: un registrador de pulsaciones de teclas integrado en un cargador de pared USB funcional por tan solo 10 dólares. Rastrea, descifra, registra y transmite de forma continua todo lo que se escribe en un teclado inalámbrico de Microsoft dentro de su alcance, mientras que a sus víctimas les parece un cargador más enchufado a la pared.
El hardware es de venta comercial: un Arduino o Teensy, un chip de radio nRF24L01+, memoria flash SPI opcional para almacenamiento y una placa Adafruit FONA opcional con una tarjeta SIM para la exfiltración inalámbrica. La debilidad es el propio diseño de cifrado de Microsoft: las pulsaciones de teclas se codifican con XOR usando la dirección MAC del teclado como clave, y como el chip puede leer esa dirección —y la MAC de cada teclado de Microsoft empieza por 0xCD— la alineación del descifrado nunca cambia. KeySweeper puede enviar un SMS al operador cada vez que aparecen palabras clave como 'bankofamerica.com', 'confidential' o 'password' en el flujo de teclas.
El fallo subyacente no era nuevo —los investigadores de seguridad Travis Goodspeed, Thorsten Schröder y Max Moser ya habían expuesto años antes el descuidado cifrado XOR—, pero sus exploits necesitaban computadoras más grandes y con mayor consumo de energía. La contribución de Kamkar fue reducir el ataque a un objeto barato y siempre encendido que un conserje, un compañero de trabajo o un visitante puede colocar dentro del alcance de un objetivo y luego marcharse.
Camuflaje como infraestructura: un registrador de pulsaciones de teclas disfrazado de cargador de pared no necesita ningún clic, ni conexión, ni víctima; se queda donde ya se quedan los teléfonos.
El disfraz elimina todos los puntos de control humanos: ni phishing, ni instalación de malware, ni brecha de red; el dispositivo se esconde a la vista de todos como si fuera mobiliario.
El cifrado de Microsoft usaba la propia dirección MAC del teclado como clave, un valor que se transmite en claro y que lleva un byte constante como prefijo.
Investigaciones anteriores demostraron el fallo, pero requerían equipos voluminosos; las radios y los microcontroladores comerciales lo convirtieron en un aparato de 10 dólares siempre encendido.
El SMS activado por palabras clave hacía que el atacante nunca tuviera que vigilar los registros; el dispositivo sacaba a la luz por sí solo las pulsaciones de teclas valiosas.
El material de clave que un atacante puede leer no es material de clave: cifrar con la propia dirección de difusión de un dispositivo no protege de nadie que tenga una radio de 10 dólares y paciencia.
Kamkar publicó las especificaciones del hardware y el software. Ars Technica señaló que el teclado probado era un modelo de venta minorista recién lanzado, y que el propio sitio de Microsoft solo enumeraba un único modelo de teclado con cifrado AES de 128 bits; la declaración de Microsoft decía que los teclados Bluetooth y sus diseños inalámbricos de 2,4 GHz desde julio de 2011 en adelante usan AES y están protegidos. Los teclados con cable y los teclados Bluetooth son inmunes a este tipo de ataque.
CONSULTA LAS PRUEBAS
Las fuentes
- Meet KeySweeper, the $10 USB charger that steals MS keyboard strokes Ars Technica · arstechnica.com ·