Nuevo keylogger para Android basado en el movimiento del teléfono
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.http://1.bp.blogspot.com/-dbSOPqVXS7g/T5ZpNzpJ1QI/AAAAAAAAAcM/0nBVJ03Q5gY/s640/troyano_android.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”.
Fuente
NOTA: Los interesados en información sobre contrato de soporte Asistencia Tecnica de SATINFO y/o licencia de uso/actualizaciones de sus utilidades, contacten con info@satinfo.es
__________
Este blog no se hace responsable de las opiniones y comentarios de los textos en los que se cita la Fuente, ofreciendo su contenido solo para facilitar el acceso a la información del mismo.
Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Los comentarios y los pings están cerrados.
Los comentarios están cerrados.