(Cross)Browser Fingerprinting via OS & HW Level Features
El mundo del Web Browsing fingerprinting es una disciplina que se ha desarrollado mucho durante los últimos años. El poder garantizar que un usuario es un usuario concreto y que es el mismo que estuvo mirando algo en otro sitio es una pieza clave dentro del mundo de la monetización de los datos. Para ello, lo que intentan todos los investigadores de estas disciplinas es estudiar al máximo al huella digital de tu conexión.
Conocer todos los patrones de ti que te hacen ser tú y poder reconocerte bajo cualquier situación y en cualquier lugar en el que estés navegando. Los trucos para crear tu huella digital son algunos muy conocidos, otros no tantos. Desde mirar todas las características del navegador, hasta mirar el comportamiento de la batería de equipo.
Tanto es así, que hasta Firefox cortó el acceso de las funciones de consulta de la batería desde HTML5. Toda información que se pueda conseguir desde el navegador puede servir para identificarte y puede convertirse en algo que utilicen para monitorizar tus movimientos a través de diferentes sitios web.
Figura 3: Cross Browser Fingerprinting via OS and HW Level Features |
Cada cierto tiempo salen nuevas formas de identificar propiedades del navegador - como este trabajo con los códigos de estado HTTP -, de generar una supercookie con algún leak de información, o de hacer que la cookie sea persistente de una forma u otra. Nosotros también estuvimos jugando con esto, y publicamos un trabajo hace mucho tiempo en Informática 64 sobre cómo usar los códigos de error de algunas funciones JavaScript para identificar el navegador. Todo por identificarte de la mejor forma posible.
Figura 4: Resumen (no actualizado) de algunas técnicas de Webbrowsing fingerprinting utilizadas |
Ahora, unos investigadores han ido un poco más lejos y han creado un conjunto de pruebas aprovechando WebGL para forzar al navegador a hacer llamadas que se ejecuten directamente en el hardware.
Figura 5: Forzado de figuras con WebGL que dependen del HW y el OS |
Estas pruebas de dibujo, renderización de imágenes y materiales, se ejecutan directamente en las tarjetas gráficas y se ven afectadas por el tipo de hardware que tengan en ellas y el sistema operativo que las gestiona, así como de la potencia de la CPU del equipo. Es decir, la implementación del estándar WebGL en el navegador (ya sea Google Chrome, Firefox o Microsoft Edge) no incide en los cálculos que se obtienen en cada prueba.
Esto quiere decir que cada prueba se puede hacer desde diferentes navegadores en el mismo hardware y se obtienen los mismos resultados, lo que lleva a que el Fingerprinting de un cliente web no se haga sobre el navegador, sino sobre el hardware y que si un mismo usuario se conecta con dos navegadores distintos, al final pueda ser identificado de igual forma.
Figura 7: Proceso de identificación de "huellas digitales" por medio de tareas de rendering |
Esto no quiere decir que haya que dejar de hacer el resto de los cálculos de WebBrowsing Fingerprinting - ni mucho menos - sino que añaden un conjunto de pruebas que permite a las empresas que se dedican a esto la posibilidad de generar un parámetro más en la identificación de los usuarios basado en el equipo de conexión.
Figura 8: Big Data y Privacidad
Al final, cuando te conectas a Internet, el que te puedan identificar de una forma u otro es algo ya maduro y difícil de parar y en esta charla sobre Big Data y Privacidad hablé de esto tiempo atrás, por si quieres saber más de ello.
Saludos Malignos!
1 comentario:
Entonces, la unica forma de "escapar" a cualquier tipo de tracking para realizar una conexion concretamente anÓnima (al menos para las empresas)
¿podrias ser navegar desde una VM?
Publicar un comentario