Nuevo ataque a navegadores permite rastrear usuarios con JavaScript deshabilitado
Investigadores han descubierto un nuevo canal lateral que, según dicen, se puede explotar de manera confiable para filtrar información de los navegadores web. Este luego podría aprovecharse para rastrear a los usuarios incluso cuando JavaScript está completamente deshabilitado.
“Este es un ataque de canal lateral que no requiere JavaScript para ejecutarse”, dijeron los investigadores. “Esto significa que los bloqueadores de secuencias de comandos (scripts) no pueden detenerlo. Los ataques funcionan incluso si eliminas todas las partes divertidas de la experiencia de navegación web. Esto hace que sea muy difícil de prevenir sin modificar partes profundas del sistema operativo”.
Al evitar JavaScript, los ataques de canal lateral también son arquitectónicamente agnósticos. Esto resulta en ataques de fingerprinting de sitios web de microarquitectura que funcionan en plataformas de hardware. Por ejemplo, las CPU Intel Core, AMD Ryzen, Samsung Exynos 2100 y Apple M1. Esto lo convierte en el primer ataque de canal lateral conocido en los nuevos conjuntos de chips basados en ARM del fabricante del iPhone.
Los hallazgos, que provienen de un grupo de académicos de la Universidad Ben-Gurion. del Negev, la Universidad de Michigan y la Universidad de Adelaide. El informe se presentará en el Simposio de seguridad de USENIX en agosto.
Los ataques de canal lateral generalmente se basan en datos indirectos como la sincronización, el sonido y el consumo de energía. También en las emisiones electromagnéticas, las vibraciones y el comportamiento de la caché en un esfuerzo por inferir datos secretos en un sistema. Específicamente, los canales laterales de microarquitectura explotan el uso compartido de los componentes de un procesador en el código que se ejecuta en diferentes dominios de protección. Esto para filtrar información secreta como claves criptográficas.
Ataques similares
Además, los estudios también han demostrado anteriormente ataques totalmente automatizados como “Rowhammer.js” que se basan únicamente en un sitio web con JavaScript malicioso. El atacante usa el sitio para desencadenar fallas en el hardware remoto, obteniendo acceso sin restricciones a los sistemas de los visitantes del sitio web.
Si bien estos canales laterales con fugas se pueden sellar de manera efectiva mediante técnicas de aislamiento de dominio. También los proveedores de navegadores han incorporado defensas. Esto para ofrecer protección contra ataques de tiempo y fingerprinting al reducir la precisión de las funciones de medición del tiempo. Además, han agregado soporte para deshabilitar completamente JavaScript usando complementos como NoScript.
Sin embargo, la última investigación publicada esta semana tiene como objetivo evitar tales mitigaciones basadas en el navegador. Esto mediante la implementación de un ataque de canal lateral llamado “CSS Prime+Probe”. El ataque ha sido construido únicamente con HTML y CSS. Esto permite que el ataque funcione incluso en navegadores reforzados como Tor, Chromo Zero y DeterFox. Estos navegadores tienen JavaScript completamente deshabilitado o limitan la resolución de la API del temporizador.
“Una tendencia común en estos enfoques es que son sintomáticos. Y, no abordan la causa raíz de la fuga, es decir, el intercambio de recursos de microarquitectura”, señalaron los investigadores. “En cambio, la mayoría de los enfoques intentan evitar las fugas modificando el comportamiento del navegador, logrando diferentes equilibrios entre seguridad y usabilidad”.
Funcionamiento
Primero, un pequeño manual sobre canales laterales basados en caché. A diferencia de los ataques Flush + Reload, en los que un espía puede usar una instrucción de borrado de caché (por ejemplo, clflush en x86). Realizan esto para limpiar líneas de caché específicas. Y, determinar si la víctima accedió a estos datos para volver a acceder a la misma línea de memoria y cronometrar el acceso para un acierto. Por ejemplo, los datos regresan a la caché) o se pierden (no accede la víctima).
Prime + Probe requiere que el atacante llene todo el caché compartido para eliminar los datos de la víctima del caché. Y, luego cronometra sus propios accesos después de que llena la caché. La presencia de un error de caché indica que la víctima accedió a la línea de caché correspondiente. Esto provoca la eliminación de los datos del espía.
Estos métodos explotan un canal de tiempo encubierto en el caché de la CPU. El nuevo ataque ideado por los investigadores de Ben-Gurion tiene como objetivo un canal lateral basado en caché en los navegadores web modernos.
Específicamente, la técnica CSS Prime+Probe se basa en renderizar una página web que incluye una variable de cadena HTML larga que cubre toda la caché. Por ejemplo, un elemento <div> con un nombre de clase que contiene dos millones de caracteres. Y, luego realizar una búsqueda de una cadena corta. Una subcadena inexistente en el texto, lo que a su vez obliga a la búsqueda a escanear toda la cadena. En el paso final, el tiempo para llevar a cabo esta operación de sondeo se envía a un servidor controlado por el atacante.
Atacante
El atacante primero incluye en el CSS un elemento de un dominio controlado por él, lo que obliga a la resolución del DNS. El servidor DNS malintencionado registra la hora de la solicitud de DNS entrante.
Luego, el atacante diseña una página HTML que evoca una búsqueda de cadenas de CSS, probando efectivamente la caché. Esta búsqueda de cadenas va seguida de una solicitud de un elemento CSS que requiere resolución de DNS desde el servidor malicioso.
Finalmente, la diferencia de tiempo entre las solicitudes de DNS consecutivas corresponde al tiempo que se tarda en realizar la búsqueda de cadenas. Este es un […] proxy para la contención de caché.
Para evaluar la efectividad del método a través de ataques de fingerprinting en sitios web, los investigadores utilizaron el canal lateral mencionado anteriormente, entre otros. Esto para recopilar rastros del uso de la caché mientras cargaban diferentes sitios web, incluidos los primeros 100 sitios web del ranking Alexa. Ellos usaron “memorygrams” para entrenar un modelo de red neuronal para identificar un conjunto específico de sitios web visitados por un objetivo.
Los ataques de ocupación de caché basados en JavaScript ofrecen una mayor precisión de más del 90% en todas las plataformas comparado con CSS Prime+Probe. La investigación reveló que la precisión lograda por esta última es lo suficientemente alta como para filtrar datos. Los datos filtrados podrían permitir que las partes malintencionadas identifiquen y rastreen usuarios.
Conclusión
“Entonces, ¿cómo pueden los usuarios preocupados por su seguridad acceder a la web?”, Concluyeron los investigadores.
Un factor que complica este concepto es el hecho de que el navegador web utiliza recursos compartidos adicionales más allá de la caché. Por ejemplo, el sistema de resolución de DNS del sistema operativo, la GPU y la interfaz de red. La partición de la caché parece un enfoque prometedor, ya sea utilizando aislamiento basado en caché, o por aislamiento temporal basado en el sistema operativo.