Vulnerabilidad permite el seguimiento del usuario entre la mayoría de navegadores

El fallo permite identificar al usuario gracias al listado de aplicaciones instaladas en el equipo, creando una huella ineludible aunque se cambie de navegador, afectando a la mayoría de exploradores incluyendo Tor

Según han podido comprobar investigadores de FingerprintJS, la mayoría de los navegadores de escritorio permiten enumerar las aplicaciones instaladas en el sistema que hacen uso de urls personalizadas en el navegador, como pueden ser ‘slack://’, ‘tg://’, etc. Esta huella puede utilizarse para identificar al usuario aunque utilice otro navegador u otras medidas de seguridad como pueden ser un proxy o una VPN.

La vulnerabilidad para comprobar si una aplicación está instalada en el equipo consiste en abrir la url del protocolo personalizado en el navegador, provocando una excepción en el caso de no estar instalada. Aunque puede haber más navegadores afectados, ha conseguido reproducirse en Chrome, Firefox, Safari y Tor, unos con más dificultades que otros.

Chrome, Firefox, Safari y Tor a prueba

Tanto Chrome como Firefox incluyen medidas para evitar la enumeración aunque pueden eludirse. En el caso de Chrome se requiere una interacción por parte del usuario como puede ser un clic, restricción que no existe para las extensiones. Si se abre previamente un PDF en Chrome, el cual es una extensión, el contador de esta restricción se resetea, permitiendo a la web original abrir una nueva url sin requerir de una interacción.

Firefox en cambio muestra un error interno cada vez que se intenta abrir una url no soportada y una ventana emergente si se conoce. Comprobando si se ha abierto una nueva ventana vía Javascript, es posible conocer si se soporta el protocolo. Tanto en Firefox como en Chrome se muestran ventanas adicionales durante la enumeración, lo cual permite saber al usuario lo que está haciendo el sitio web.

Finalmente, los más inseguros a esta vulnerabilidad son Safari, el cual no tiene ninguna medida de seguridad contra la enumeración, y Tor, que aunque está basado en Firefox tiene desactivados por defecto los diálogos de confirmación, ocultando al usuario las ventanas adicionales que se abren en la versión original del navegador.

Prueba de concepto

Para comprobar la vulnerabilidad se ha habilitado una web a modo de demostración, de la cual se ha publicado también su código fuente. El fallo sólo es explotable en navegadores de escritorio, y según hemos podido comprobar los sistemas GNU/Linux que usan ‘xdg-open’ no son vulnerables. Al estar delegada la apertura de las aplicaciones a dicho programa, todos los esquemas de aplicación comprobados se muestran como disponibles.

Conclusiones

Aunque este fallo todavía es explotable en la mayoría de navegadores, está previsto que se solucione en futuras versiones, como es el caso de Chrome. Tanto este como Firefox son los más seguros antes esta vulnerabilidad, ya que en ambos quedan evidencias de la explotación.

Más información:

Explotando la comprobación de protocolos personalizados para el seguimiento entre navegadores en Tor, Safari, Chrome y Firefox:
https://fingerprintjs.com/blog/external-protocol-flooding/

La entrada Vulnerabilidad permite el seguimiento del usuario entre la mayoría de navegadores se publicó primero en Una al Día.

Compartir