Varios métodos de entrada afectan los ángulos de inclinación, pero la red neuronal reconoce el código PIN en cualquier caso después de la recopilación de datos por el scriptComo sabe, cualquier teléfono inteligente tiene muchos sensores: GPS, luz, sensores de orientación, sensores de movimiento y alrededor de 20 sensores más, todos ellos proporcionan datos continuamente para que el teléfono inteligente pueda interactuar con el mundo físico circundante. Los desarrolladores tienen varias formas de acceder a la información de estos sensores, incluso a través de un navegador móvil, de acuerdo con la
API oficial de Javascript .
Este método abre un amplio campo de posibilidades para la piratería remota. Por ejemplo, especialistas de la Facultad de Ciencias de la Computación de la Universidad de Newcastle desarrollaron el script
PINlogger.js , con el que puede determinar a través del navegador qué botones hace clic el usuario en el teclado en pantalla. El script lee la información de los sensores de inclinación del dispositivo móvil con cada clic. Sorprendentemente, en algunos navegadores (Safari), el script lanzado en el navegador continúa recolectando datos incluso desde una pantalla bloqueada. Funciona de la misma manera, si en una pestaña vecina ingresa una contraseña en la banca en línea sin cerrar la pestaña anterior.
Este método es adecuado para robar un código PIN tanto a través de un sitio web malicioso con un script como desde cualquier aplicación móvil que tenga acceso a la información de los sensores. La precisión de reconocimiento de los dígitos del PIN es bastante alta. Se reconoce un código PIN de cuatro dígitos en el primer intento con una probabilidad del 70%, en el segundo - 86%, en el tercero - 94%, y en el quinto intento - con una probabilidad del 98% para diferentes usuarios o 99% para un usuario.
Los vectores de ataque de las pestañas vecinas (b) solo funcionan en Chrome y Dolphin para iOS, y el ataque desde el marco (a) funciona en todos los navegadores populares, incluidos Safari, Chrome, Firefox, Opera y DolphinPara una demostración práctica del ataque, se desarrolló una interfaz especial para ingresar códigos PIN de cuatro dígitos. La parte del cliente envió al servidor lecturas de orientación y sensores de movimiento. La parte del servidor se implementó en Node.js, y las lecturas del sensor se almacenaron en la base de datos MobgoLab.
En esta demostración, fue fácil para los investigadores identificar eventos de teclado usando el evento
onkeydown . Los autores del trabajo científico llaman la atención sobre el hecho de que se utiliza un enfoque similar en otros programas para recopilar códigos PIN para la información de los sensores, como
TouchLogger y
TapLogger . Si necesita detectar clics en la pantalla bloqueada, es posible que necesite un escenario más complejo para segmentar los datos del sensor para aislar los datos necesarios. Por ejemplo, esto se puede hacer midiendo las amplitudes máximas de la señal y utilizando sensores adicionales, como se muestra en
trabajos científicos anteriores . El código para ingresar datos se
publica en GitHub .
La base de datos acumula información sobre clics y lecturas de sensores al momento de presionar. Cada uno de los 10 voluntarios ingresó cinco veces 50 códigos PIN de cuatro dígitos (un total de 2488 ingresó correctamente los códigos PIN). Este conjunto de datos se utilizó para extraer rasgos y luego entrenar la red neuronal (el 70% de los datos se utilizaron para el entrenamiento, el 15% para las pruebas y el 15% para las pruebas).
A juzgar por los resultados de las pruebas comparativas, PINlogger.js es mucho mejor para reconocer los códigos PIN de la información de los sensores de movimiento que desarrollos similares anteriores. Además, este es el primer sistema que roba códigos PIN a través de un navegador, y no a través de una aplicación instalada en un teléfono inteligente.

Los investigadores señalan que la mayoría de los usuarios no son conscientes del peligro de fuga de datos personales al tomar datos de los sensores. Una encuesta de usuarios mostró que la mayoría de ellos ven la amenaza en el GPS o en la cámara, y no en lo que representa una amenaza más real: en sensores de movimiento internos, sensores de inclinación y otros. El número 25 no es accidental: se trataba de tantos sensores que los investigadores contaron en un teléfono inteligente estándar. El siguiente diagrama muestra los resultados de la encuesta: en cuál de los 25 sensores los usuarios ven la mayor amenaza.

Los usuarios no solo desconocen la amenaza. Muchos ni siquiera entienden qué tipo de información recopilan la mayoría de los 25 sensores. La gente ni siquiera ha oído hablar de algunos sensores.

El problema es que esta información no está protegida a nivel del sistema operativo. Es fácilmente accesible para aplicaciones y para cualquier sitio a través de navegadores, sin permiso. Solo unos pocos sensores requieren permiso explícito para proporcionar información, incluida una cámara y un GPS. El resto proporciona información completamente abierta.
Con estos datos abiertos, no solo puede recopilar códigos PIN y contraseñas, sino también monitorear al usuario. Cualquier sitio puede determinar cuándo una persona recibe una llamada y cuelga,

... cuando una persona se sienta, camina o corre.

Nuevamente, toda esta información está disponible para cualquier sitio y cualquier aplicación sin ningún permiso. Los sitios lo obtienen usando JavaScript estándar.
Los expertos en seguridad y los principales actores de la industria móvil son conscientes de este problema de seguridad, pero hasta ahora no han llegado a un consenso sobre cómo resolverlo.
El trabajo científico fue
publicado el 7 de abril de 2017 en la revista
International Journal of Information Security (doi: 10.1007 / s10207-017-0369-x), en el dominio público.