El rastreo del historial del navegador sigue existiendo

Un equipo de investigadores de Stanford y UC San Diego publicó el artículo de investigación Historial del navegador re: visitado recientemente, en el que se revelan al público cuatro nuevos ataques de rastreo del historial de navegación que funcionan.

Los ataques que intentan averiguar qué sitios visitó un usuario no son nada nuevo. Mozilla, por ejemplo, taponé una fuga en 2010 que permitió a los propietarios de sitios usar CSS para verificar una lista de sitios con el historial de navegación de un usuario usando CSS.



Los investigadores encontraron ataques que se remontan a 2002 usando el selector: visitado para determinar si un usuario en el sitio visitó un recurso vinculado anteriormente.

Los ataques de fugas afectan a todos los navegadores modernos que no bloquean el almacenamiento del historial de navegación; en otras palabras, Firefox, Chrome, Internet Explorer y Microsoft Edge son vulnerables, mientras que Tor Browser no lo es.

La mayoría de los navegadores web realizan un seguimiento de los recursos visitados de forma predeterminada; esta es una característica conveniente que está incorporada en el navegador. Los navegadores pueden sugerir estos recursos nuevamente cuando los usuarios escriben en la barra de direcciones y los usuarios pueden buscar los sitios visitados en caso de que necesiten volver a visitarlos pero ya no recuerden la URL exacta.

browsing history attacks

El primer ataque que los investigadores descubrieron utiliza la API de pintura de CSS para determinar si un usuario visitó una URL en particular al 'crear un elemento de enlace que se vuelve a pintar solo si se visita su URL asociada' y monitorear la información de tiempo para determinar si un tuvo lugar el evento de repintado.



El segundo ataque usa transformaciones 3D de CSS, una técnica introducida con CSS versión 3. Un atacante apilaría transformaciones 3D en otros estilos CSS para crear elementos de enlace y alternar 'el elemento de enlace entre dos URL de destino diferentes' para identificar operaciones de repintado.

El tercer ataque usa imágenes SVG y la regla de relleno CSS. El ataque incrusta una imagen SVG compleja dentro de un elemento de enlace y utiliza una 'serie de reglas de relleno CSS en: selectores visitados' para determinar el estado visitado de un enlace.

El cuarto y último ataque utiliza la caché de código de bytes de Chrome para determinar si un archivo fuente de JavaScript se cargó previamente en el navegador, ya que estos archivos se comparten entre páginas de diferentes orígenes.

Los cuatro ataques tienen en común que necesitan especificar URL para verificar; ninguno logra recuperar el historial de navegación completo de un usuario.

¿Qué tan efectivos son estos ataques? Los investigadores afirman que uno de los ataques puede determinar el estado de 6000 URL por segundo; suficiente para comparar los sitios más populares con el historial de navegación.

Los investigadores informaron los problemas a los desarrolladores de navegadores, pero los parches para estos ataques pueden tardar meses en implementarse.

Puede leer o descargar el trabajo de investigación en formato PDF aquí.