El nuevo ataque SpookJS evita el aislamiento del sitio de Google Chrome

El ataque de banda lateral recién descubierto demostrado en los procesadores modernos se puede utilizar como un arma para superar con éxito la protección de aislamiento del sitio integrada en Google Chrome y Chromium y la fuga de datos confidenciales en un ataque de ejecución especulativa al estilo de Spectre.

Llamada «Spook.js» por académicos de la Universidad de Michigan, la Universidad de Adelaide, el Instituto de Tecnología de Georgia y la Universidad de Tel Aviv, la técnica es una línea de ataque basada en JavaScript que aborda específicamente los obstáculos creados por Google. prevenir potencialmente la fuga al garantizar que el contenido de diferentes dominios no se comparta en el mismo espacio de direcciones después de que Spectre y Meltdown fueran expuestos en enero de 2018.

«Un sitio web controlado por un atacante puede saber qué otros sitios de los mismos sitios están siendo vistos actualmente por un usuario, recuperar información confidencial de esos sitios e incluso recuperar información de inicio de sesión (como un nombre de usuario y contraseña) cuando se completan automáticamente, » dijeron los investigadores. Agregar «Un atacante puede recuperar datos de las extensiones de Chrome (como los administradores de credenciales) si un usuario instala una extensión maliciosa».

Como resultado, puede extraer cualquier dato almacenado en la memoria del sitio web prestado o la extensión de Chrome, incluida la información personal que se muestra en el sitio web y los nombres de usuario, contraseñas y números de tarjetas de crédito autocompletados.

Spectre, designado CVE-2017-5753 y CVE-2017-5715, se refiere a una clase de vulnerabilidades de hardware en una CPU que interrumpe el aislamiento entre diferentes aplicaciones y permite a los atacantes engañar a un programa para obtener acceso a su espacio de memoria y explotarlo. contenido de la memoria a la que se accede, recuperando potencialmente datos confidenciales.

“Estos ataques utilizan las capacidades de ejecución especulativa de la mayoría de los procesadores para acceder a partes de la memoria que deberían estar deshabilitadas para un fragmento de código, y luego usan ataques de tiempo para exponer los valores almacenados en esa memoria”, dijo Google. «De hecho, esto significa que el código que no es de confianza puede leer cualquier memoria en el espacio de direcciones de su proceso».

Lanzado en julio de 2018, Site Isolation es una contramedida de software de Google diseñada para dificultar la explotación de ataques, incluida la reducción de la granularidad del temporizador. Si esta característica está habilitada, Chrome versión 67 y superior cargará cada página web en su propio proceso y, como resultado, frustrará los ataques entre sitios y, por lo tanto, entre sitios.

Sin embargo, los investigadores del último estudio han descubierto escenarios en los que las medidas de protección del sitio no separan dos sitios web, lo que socava la protección de Spectre. Spook.js usa esta broma de diseño para filtrar información de los navegadores Chrome y Chromium que se ejecutan en procesadores Intel, AMD y Apple M1.

Entonces Chrome separa ‘example.com’ y ‘example.net’ por diferentes razones [top-level domains]así como «example.com» y «attacker.com», explicaron los investigadores. Sin embargo, «atacante.ejemplo.com» y «corporativo.ejemplo.com» pueden compartir el mismo proceso [and] esto permite que los sitios alojados en «attacker.example.com» puedan extraer información de los sitios alojados en «corporate.example.com».

«Spook.js muestra que estas contramedidas son insuficientes para proteger a los usuarios de los ataques especulativos del navegador», agregaron los investigadores. Esto significa que, al igual que con otras variantes de Spectre, el uso de Spook.js es difícil y requiere un conocimiento considerable de los canales laterales por parte del atacante.

En respuesta a estos hallazgos, el equipo de Chrome Security amplió Site Isolation en julio de 2021 para garantizar que «las extensiones ya no podrán compartir procesos entre sí», excepto usándolos en «sitios donde los usuarios inician sesión a través de proveedores externos». » «Se habilita una nueva configuración llamada Aislamiento estricto de extensión desde Chrome versión 92 y superior.

«Los desarrolladores web pueden separar inmediatamente el código JavaScript proporcionado por el usuario que no es de confianza de todo el resto del contenido de su sitio web y alojar todo el código JavaScript proporcionado por el usuario en un dominio que tiene un eTLD + 1 diferente», dijeron los investigadores. «De esta manera, Strict Site Isolation no consolida el código proporcionado por el atacante con datos potencialmente confidenciales en el mismo proceso, por lo que los datos tampoco estarán disponibles para Spook.js, porque no puede cruzar los límites del proceso».

Continua leyendo