Hackeando navegador con favicon. Cómo rastrear la actividad en Internet de un usuario incluso si usa VPN o modo incógnito

Hoy en día millones de usuarios preocupados por su privacidad al navegar en Internet recurren al uso de herramientas para ocultar su actividad lo más posible, recurriendo a métodos desde el navegador web en modo incógnito hasta el uso de soluciones de red privada virtual (VPN). No obstante, esto no quiere decir que su actividad en línea estará completamente a salvo ya que existen múltiples herramientas para esquivar estas protecciones.

En esta ocasión, los expertos en seguridad web del Instituto Internacional de Seguridad Cibernética (IICS) le hablarán de Supercookie, una herramienta favicons para asignar un identificador único a todos los usuarios de un sitio web, lo que permitirá realizar un seguimiento detallado de toda la actividad en línea del usuario objetivo.

A diferencia de otras herramientas similares, el identificador asignado por Supercookie se almacena casi permanentemente y persiste incluso si el usuario cambia de navegador web, emplea el modo incógnito o VPNs e incluso a pesar de cambios más agresivos como el vaciado de caché y el reinicio del sistema, mencionan los expertos en seguridad web.

¿Qué son favicons?

Una de las características principales de los actuales navegadores web es el uso de favicons, un diminuto logotipo (medidas aproximadas de 16×16 o 32×32 píxeles) empleado por los navegadores para marcar un sitio web. En la mayoría de los casos, este ícono se muestra en la barra de direcciones, junto al nombre de la página web.

Para incluir favicons en un sitio web, los desarrolladores deben agregar un atributo en el encabezado de la página web. Si esta etiqueta existe, el navegador solicita el icono de la fuente predefinida y si la respuesta del servidor contiene un archivo de icono válido que se puede representar correctamente, el navegador muestra este ícono. Si esto no se cumple, los expertos en seguridad web mencionan que se mostrará un favicon en blanco.

Los navegadores web deben facilitar el acceso a los favicons, por lo que esta información es almacenada en caché en una base de datos aislada del sistema principal identificada como caché favicon (F-Cache). Acorde a los expertos en seguridad web, al ingresar datos a esta base se debe incluir la URL visitada, el favicon ID y el tiempo de vida (TTL). Esto permite a los desarrolladores delimitar algunos segmentos de su sitio web, aunque también genera la oportunidad de dar seguimiento a la actividad en línea de los usuarios.

Cuando un usuario visita un sitio web, el navegador debe comprobar si se requiere un favicon buscando la fuente de referencia del enlace en el ícono de acceso directo a la página web solicitada. A continuación, el navegador comprueba inicialmente el F-Cache local para buscar una entrada con la URL del sitio web activo; si existe una entrada favicon, el ícono será cargado desde F-Cache para ser mostrado al usuario.

No obstante, si no existe una entrada (por cualquier posible razón), el navegador realizará una solicitud GET al servidor para cargar el favicon del sitio.

Instalación

Escenario de ataque

Es posible que los actores de amenazas asignen un identificador único a cada navegador para obtener registros detallados de la actividad de usuario, esquivando las herramientas VPN, eliminadores de cookies o caché e incluso volviendo inútiles técnicas más complejas como la manipulación de encabezados del cliente.

Los expertos en seguridad web mencionan que un servidor web puede intuir si un navegador ya ha cargado un favicon o no: por lo tanto, cuando el navegador solicita una página web, si el favicon no está en el F-cache local, se realiza otra solicitud para el favicon. Si el icono ya existe en F-Cache, no se envía ninguna otra solicitud.

Combinando el estado de los favicons entregados y no entregados, los desarrolladores (o actores de amenazas) pueden asignar un patrón o identificador único al cliente. Cuando se recarga el sitio web, el servidor web puede reconstruir el número de identificación con las solicitudes de red enviadas por el cliente para los favicons que faltan y así identificar el navegador.

Supercookie está disponible en el repositorio de GitHub de sus desarrolladores. Recuerde que esta es una herramienta creada con fines enteramente didácticos, por lo que su mal uso no es responsabilidad de IICS o de los desarrolladores. Para conocer más sobre seguridad web, riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).