FROST: permite a sitios web rastrear qué sitios y aplicaciones abre a través de SSD Timing ~ Segu-Info

El ataque, llamado FROST, no necesita código nativo, extensión ni solicitud de
permiso. Un sitio web malicioso puede determinar qué sitios se visitan y qué
aplicaciones se abren, utilizando nada más que JavaScript y la sincronización
de la SSD. 

Investigadores de la Universidad Tecnológica de Graz
lo construyeron y lo describieron
en un nuevo artículo que aparecerá en el congreso DIMVA 2026 en Grecia. Abusa de una función de almacenamiento presente en todos los
principales navegadores de escritorio, y el canal de sincronización subyacente
funciona tanto en macOS como en Linux.

Los ataques de sincronización de SSD no son nuevos. El año pasado, el mismo
grupo publicó
Secret Spilling Drive, que lee el comportamiento del usuario en un disco observando cómo las
lecturas se ralentizan cuando algo más lo está usando. El problema era que
necesitaba código nativo en la máquina, a través de una interfaz de bajo nivel
como io_uring de Linux. FROST elimina ese requisito. Se ejecuta dentro
del entorno limitado del navegador, lo que convierte un ataque local en uno
remoto. Ya no es necesario estar en la máquina para sacarlo.

El mismo laboratorio de Graz ya lo ha hecho antes. Su ataque
SnailLoad
dedujo los sitios y vídeos que una víctima cargó únicamente a partir de la
latencia de la red, sin ningún JavaScript.

Cómo funciona el ataque FROST

La forma de ingresar está el
Origin Private File System, u OPFS, una función de almacenamiento que los navegadores agregaron en
2023 para que las aplicaciones web como los editores en el navegador y los
IDE puedan mantener archivos en el disco.

OPFS le da a cada origen su propia porción protegida del sistema de archivos
y, debido a que esa porción está aislada, omite la solicitud de permiso que
una página normalmente necesita para acceder a sus archivos. Sin diálogo, sin
clic. Un sitio puede simplemente empezar a escribir.

Normalmente, el sistema operativo oculta la sincronización del disco detrás
del caché de la página, ofreciendo lecturas repetidas desde la memoria para
que nunca toquen la unidad.

FROST soluciona esto creando un archivo más grande que la RAM de la máquina.
El caché no puede contenerlo todo, por lo que las lecturas siguen llegando al
SSD. En Chrome y Safari, OPFS puede crecer hasta el 60% del espacio en disco,
mucho más que suficiente; Firefox limita cada origen a un nivel más bajo,
aunque un atacante puede distribuir la carga entre múltiples orígenes para
superarlo.

Un sitio web malicioso puede determinar qué sitios visita y qué aplicaciones
abre, utilizando nada más que JavaScript y la sincronización de la SSD. El
ataque, llamado FROST, no necesita código nativo, extensión ni solicitud de
permiso.

Luego, el código del atacante lee fragmentos aleatorios de 4 kB de ese archivo
en un bucle y cronometra cada lectura con performance.now(). Los
navegadores reducen sus temporizadores de forma predeterminada para dificultar
este tipo de medición, pero el atacante vuelve a agudizar la resolución
activando el aislamiento entre orígenes, lo que puede hacer libremente en su
propia página.

Cuando abres un sitio o inicias una aplicación en el mismo disco, esa
actividad compite con las lecturas del atacante y el tiempo cambia
considerablemente. Una red neuronal entrenada en esos rastros identifica el
sitio o la aplicación.

La precisión es la parte incómoda. En una Mac, frente a los 50 sitios web
principales, FROST identificó el sitio visitado con una puntuación del 88,95%
en una prueba de mundo cerrado y se mantuvo en 86,95% en una prueba de mundo
abierto que agregó 300 sitios que nunca había visto. Para diez aplicaciones
macOS nativas preinstaladas, alcanzó el 95,83%.

Si bien el canal de sincronización también funciona en Linux, el equipo
ejecutó el clasificador completo solo en macOS, por lo que esos números de
huellas digitales son un resultado de macOS. FROST también sólo detecta
actividad en el mismo disco que su archivo OPFS.

Una computadora portátil de un solo disco pone todo en ese disco; una estación
de trabajo con varias unidades oculta todo lo que se ejecuta en una unidad
separada, aunque los inicios de aplicaciones que tocan el directorio de inicio
tienden a filtrarse de todos modos.

Qué se puede hacer

No mucho, por ahora. A Google, Mozilla y Apple se les informó antes de la
publicación. El equipo de Chromium de Google no trata las huellas dactilares
como una vulnerabilidad de seguridad. Apple lo consideró fuera de alcance,
pero dejó espacio para una mitigación más adelante. Mozilla lo reconoció y no
envió nada. No existe CVE ni evidencia pública de que la técnica se haya
utilizado en la naturaleza.

Eso deja las defensas débiles. La medición solo se ejecuta mientras la página
del atacante está abierta, por lo que cerrar la pestaña finaliza la ejecución.
Observar el almacenamiento de su navegador en busca de un archivo de varios
gigabytes inexplicable es otra señal, aunque los navegadores no hacen que el
uso de OPFS sea fácil de ver.

En Linux, los sistemas que ejecutan profile-sync-daemon, una utilidad
que mantiene el perfil del navegador en la RAM, están protegidos
incidentalmente contra la versión sin clic, porque las escrituras OPFS nunca
llegan al SSD. La variante más débil, en la que una página utiliza un cuadro
de diálogo de selección de archivos para que usted mismo seleccione un archivo
grande, todavía funciona.

Las soluciones que realmente lo cerrarían recaen en los fabricantes de
navegadores: limitar el tamaño de OPFS para que el archivo quepa en la memoria
y no genere contención, acelerar los temporizadores de alta resolución
mientras OPFS está en uso o colocar un mensaje de permiso delante de él. Cada
uno cuesta algo en velocidad o usabilidad, lo cual es parte de por qué ninguno
de ellos ha sucedido.

El verdadero desacuerdo es si un sitio web que aprende silenciosamente lo que
usted hace en su propia máquina es un error o una característica que funciona
según lo diseñado. La verdadera preocupación de los investigadores es
estructural: los navegadores siguen dando a las aplicaciones web un acceso
casi nativo al hardware, y el acceso casi nativo trae consigo fugas casi
nativas. FROST es una API. El patrón es lo que hay que tener en cuenta.

Fuente:
THN


Ver fuente

Related Post