Un par de investigadores de la Universidad de California, Davis lograron adivinar el patrón de pulsaciones de un teclado Android, por increíble que parezca, gracias a los meneos, sacudidas y vibraciones detectadas en el móvil. Hasta dónde tengo entendido, estamos ante el primer keylogger basado en esa maravilla tecnológica que es el acelerómetro. Y su nombre no podía ser mejor: TouchLogger.
Los keylogger poseen una larga trayectoria en la historia de la computación. Para quienes acaso no lo sepan, es un software o hardware capaz de capturar y registrar la actividad del usuario con el teclado. Por supuesto, esto implica la captura de contraseñas, por más complejas que estas sean. Los hay de varios tipos, algunos usan tecnología inalámbrica, otros incluso se valen de análisis electromagnético y acústico. El que nos ocupa hoy, basado en un acelerómetro, abre una puerta repleta de posibilidades de ataque.
Nada más basta pensar en la cantidad de dispositivos con acelerómetro incluido, cuyo crecimiento sigue un ritmo frenético, para sentirse abrumado y un poco desprotegido. Más todavía, cuando recordamos la suma escalofriante de problemas de seguridad en Android, iOS, etc. Por último pongamos a consideración que los datos generados por el acelerómetro son de acceso libre para las aplicaciones.
El acelerómetro genera datos espaciales para indicar la orientación del móvil. El keylogger funciona porque cada tecla tiene asociado un movimiento dactilar único. En términos de precisión, naturalmente no es del 100%, pero sí alcanza un respetable 71.5% para el teclado de un HTC EVO 4G. La precisión depende un poco de la frecuencia de actualización de coordenadas, que no debe ser menor que la de tecleo. Justo por esto, la imprecisión del keylogger aumenta en las teclas cercanas. La imagen de abajo muestra la detección de patrones para una serie de teclas.
Cabe resaltar que los datos obtenidos no son producto de error alguno en el código de Android: se obtienen con la interfaz oficial, con el API de la plataforma.
Para mayores detalles sobre el funcionamiento de TouchLogger, recomiendo la lectura paciente del paper TouchLogger: Inferring Keystrokes On Touch Screen From Smartphone Motion, publicado para la prestigiosa conferencia HotSec 2011 de USENIX.