Sergey Nivens - Fotolia
Fallo de ‹scheme flooding› amenaza con hundir la privacidad de los usuarios
Los investigadores han descubierto un punto ciego en la seguridad de la web que abre la puerta al rastreo a través de múltiples navegadores y frustra protecciones de privacidad comunes como el incógnito y la VPN.
Un fallo de seguridad recientemente revelado podría dejar a los usuarios vulnerables al rastreo a través de múltiples navegadores y sesiones.
En una entrada de blog, el equipo del proveedor de seguridad FingerPrintJS explicó cómo, mediante una técnica denominada «inundación del esquema» (scheme flooding), los malos actores pueden ver qué sitios visitan los usuarios incluso cuando cambian de navegador y activan el modo de incógnito o utilizan una VPN.
Los investigadores dijeron que habían presentado informes de errores a cada uno de los principales desarrolladores de navegadores antes de revelar el fallo.
En resumen, el fallo permite a los sitios web hacer ping a múltiples aplicaciones de terceros (como Skype o Zoom) y luego utilizar las respuestas para crear una lista detallada de las aplicaciones en un sistema. La lista se puede mantener y utilizar para identificar a los usuarios a través de múltiples navegadores y conexiones a internet.
«Dependiendo de las aplicaciones instaladas en un dispositivo, es posible que un sitio web identifique a las personas con fines más siniestros», explica el investigador Konstantin Darutkin. «Por ejemplo, un sitio puede ser capaz de detectar a un funcionario gubernamental o militar en internet basándose en sus apps instaladas y asociando el historial de navegación que se pretende que sea anónimo».
Según los investigadores de FingerPrintJS, el problema de la inundación del esquema se debe a la forma en que un sitio web puede utilizar las llamadas a las APIs para hacer aparecer una aplicación externa. Cada vez que una página necesita acceder a una aplicación, envía una solicitud de URL personalizada que ordena a la PC que intente cargar la aplicación y devuelva una respuesta, tanto si esa aplicación está instalada como si no.
Al lanzar múltiples llamadas para diferentes aplicaciones, el operador del sitio podría compilar una lista de, por ejemplo, 32 aplicaciones diferentes instaladas en la PC de un visitante. Se podría asignar un bit a cada aplicación en función de si está instalada, y el resultado sería un identificador de 32 bits que se asignaría a ese visitante.
El bit se comprobaría y se cruzaría, lo que permitiría que el mismo perfil de la aplicación apareciera incluso cuando ese visitante cambiara de navegador, se conectara desde una ubicación diferente a través de una VPN, u ocultara su tráfico a través del modo incógnito.
En otras palabras, las aplicaciones instaladas crean una huella dactilar semiúnica que puede frustrar todos los intentos de ocultarse del rastreo. Aunque no es infalible ni mucho menos (dos usuarios diferentes podrían tener el mismo perfil de aplicación, sobre todo si comparten una máquina o utilizan computadoras de la empresa con un equipamiento estándar), sí que proporciona una forma bastante precisa de rastrear a usuarios específicos o, al menos, de acotar los objetivos potenciales para ataques más específicos.
«La lista de aplicaciones instaladas en el dispositivo puede revelar mucho sobre la ocupación, los hábitos y la edad del usuario», explica Darutkin. «Por ejemplo, si un IDE de Python o un servidor de PostgreSQL están instalados en tu computadora, es muy probable que seas un desarrollador de back-end».
El grado de vulnerabilidad de un usuario a la creación de perfiles dependerá de varios factores, sobre todo del navegador que utilice. Dado que cada uno de los principales navegadores utiliza métodos ligeramente diferentes para manejar las solicitudes de las aplicaciones, el truco de perfilado del esquema tendría diferentes tasas de éxito y utilidad.
En Tor, por ejemplo, un tiempo medio de búsqueda de 10 segundos significa que el proceso de intentar hacer ping a docenas de aplicaciones diferentes abarcaría varios minutos, y por lo tanto probablemente no sería particularmente fiable para un atacante.
Por otro lado, se dice que el navegador Safari de Apple es el más susceptible a la inundación del esquema, ya que carece de algunas de las protecciones básicas que harían más difícil para el atacante enumerar las aplicaciones externas.
«Los pasos exactos para hacer posible la vulnerabilidad de scheme flooding pueden variar según el navegador, pero el resultado final es el mismo. Conseguir una serie única de bits asociados a la identidad de un visitante no solo es posible, sino que puede utilizarse en la práctica en sitios web maliciosos», escribió Darutkin. «Incluso el navegador Tor puede ser explotado de forma efectiva engañando al usuario para que escriba un caracter por cada aplicación que queramos probar».
Hay esperanza de una solución: Darutkin escribió que el equipo de Chrome de Google, en particular, ha sido muy receptivo al informe y ya está trabajando en una solución para el problema. Mientras tanto, los investigadores de FingerPrintJS dijeron que la única manera de protegerse completamente contra las posibles inundaciones del esquema es utilizar un dispositivo completamente diferente para las sesiones de navegación.