-----------------------------------------------------------------
Un grupo de investigadores de la Universidad del Estado de Pennsylvania e
IBM han desarrollado una prueba de concepto que consiste en un keylogger que
obtiene sus datos a partir de los sensores de movimiento presentes en
cualquier dispositivo Android.
Los sensores de movimiento son usados habitualmente en los móviles para
determinar el comportamiento de la pantalla y programas según la posición y
el movimiento del dispostivo físico. Consisten en acelerómetros, giroscopios
y sensores de orientación. En principio, parece que esta información
recopilada por el teléfono (velocidad,
movimientos...) no puede llegar a ser relevante, y por eso actualmente no
existe en Android ningún tipo de control de medida de seguridad sobre los
datos que pueden ser obtenidos mediante estos métodos. Esto es lo que ha
motivado la idea de crear un troyano basado en ellos. Además, en el caso de
que este troyano fuese llevado a la práctica, los permisos requeridos a la
hora de instalarse no levantarían apenas sospechas.
El troyano, que ha sido bautizado como TapLogger, debe ser entrenado
previamente en dos frentes: cada dispositivo tiene su propio peso,
proporciones de pantalla... variables que afectan a la forma de pulsar cada
tecla y además, el troyano requiere un entrenamiento propio para cada
usuario, porque existen diferencias entre la forma de pulsar de cada
persona. Para acelerar el proceso de aprendizaje, el troyano simula ser un
juego en el que hay que pulsar sobre diferentes imágenes para unir las
parejas. La posición de los iconos a pulsar, está estratégicamente calculada
para coincidir con la de las teclas del dispositivo. Para obtener unos datos
más exactos, el keylogger escucha a los eventos Motion.Event.ACTION DOWN y
Motion.Event.ACTION UP, que delimitarán el inicio y fin de la recogida de
los datos de los acelerómetros, que a continuación serán utilizados en el
aprendizaje del algoritmo de la aplicación.
En la siguiente imagen obtenida del estudio de Zhi Xu, pueden verse los
resultados inferidos tras 32 pulsaciones. Se encuentran en amarillo los
botones pulsados, y, en cada botón, aparece el número de veces que el
troyano ha inferido que ha sido pulsado cada uno.
img1.png
Puede verse que hay ciertas teclas cuyo nivel de aciertos es menor, como es
el caso del número 5, que se encuentra en una posición difícil de estudiar.
Otras teclas, como la de borrado ('del') resultan también en bastantes
falsos positivos. Debido a su poco uso, el algoritmo tiene problemas para
detectar o descartar si ha sido pulsada o no. A la hora de deducir la
contraseña, si de cada pulsación se toman las dos teclas con más
probabilidad de haber sido pulsadas, y dependiendo de la longitud de la
clave, se pueden llegar a obtener niveles de acierto del 60% al 92,5%. Estos
valores aumentan hasta el 80%-100% si se toman las tres teclas con más
probabilidad de haber sido pulsadas.
No es la primera vez que se diseña un troyano de estas características.
En 2011 apareció TouchLogger, una aplicación para Android que tenía en
cuenta un menor número de variables y no incluía entrenamiento, entre otras
muchas diferencias. Más tarde, el mismo año, aparecería otra para iPhone,
que hacía uso del acelerómetro y el giróscopo para averiguar qué palabras
habían sido pulsadas en un teclado cercano teniendo en cuenta, a grandes
rasgos, si se había pulsado una tecla "de la izquierda" del teclado o "de la
derecha".
No hay comentarios:
Publicar un comentario
muchas gracias por los comentarios