En los últimos meses, la comunidad de seguridad informática ha sido sacudida por un hallazgo que amplía el arsenal de técnicas de rastreo en la web: la capacidad de detectar la actividad de un disco SSD del usuario directamente desde el navegador, usando únicamente código JavaScript. Lo que antes parecía una amenaza reservada a malware de bajo nivel ahora se ha convertido en una herramienta potencialmente disponible para cualquier sitio web que sepa cómo implementarla.
¿Cómo funciona este nuevo método?
Los discos SSD (Solid‑State Drives) almacenan datos en celdas de memoria flash que, a diferencia de los discos duros tradicionales, presentan patrones de escritura y borrado muy característicos. Cada operación de escritura genera una pequeña variación en la latencia de acceso al almacenamiento, y esas variaciones pueden medirse con precisión cronometrada. Un script JavaScript puede, por ejemplo, crear un archivo temporal en el sistema de archivos virtual del navegador (usando la API de FileSystem o IndexedDB) y luego medir cuánto tiempo tarda en completarse la escritura. Si la latencia fluctúa de forma recurrente, el script puede inferir la carga de trabajo del SSD, la cantidad de operaciones pendientes o incluso la presencia de ciertos tipos de datos en la unidad.
La clave está en la gran resolución temporal que ofrecen los relojes de alta precisión de los navegadores modernos. Técnicas de "side‑channel timing attacks" ya se han usado para romper la seguridad de criptografía; ahora se aplican a un contexto mucho más cotidiano: la simple carga de una página web.
¿Por qué es importante?
Privacidad del usuario: Aunque la información extraída no revela directamente los archivos guardados, la actividad del SSD puede servir como una huella digital única. Un sitio web podría correlacionar esos patrones con otras fuentes de datos para crear un perfil más preciso del visitante, incluyendo su comportamiento offline (por ejemplo, si está ejecutando aplicaciones intensivas en disco).
Fingerprinting avanzado: El fingerprinting tradicional combina datos como la resolución de pantalla, la zona horaria y los plugins instalados. Añadir la actividad del SSD eleva el nivel de granularidad, dificultando que los usuarios se oculten detrás de VPN o navegadores privados.
Riesgos de seguridad: En manos de atacantes, la medición de la latencia del SSD podría servir para montar ataques de denegación de servicio dirigidos, forzando al dispositivo a entrar en estados de alta carga y degradar el rendimiento del usuario mientras navega.
Contexto histórico
Los ataques de temporización no son nada nuevo. Desde la década de 1990, los investigadores han demostrado que es posible extraer claves criptográficas midiendo el tiempo que tarda una operación. En 2018, un estudio de la Universidad de California, Berkeley, mostró que los navegadores pueden ser vectores de ataques de "micro‑architectural side‑channel" contra CPUs. Sin embargo, la aplicación a dispositivos de almacenamiento fue considerada poco práctica debido a la variabilidad del hardware y a los mitigantes del sistema operativo.
Lo que ha cambiado es la madurez de las APIs web y la potencia de los dispositivos modernos. Los navegadores permiten acceso a almacenamiento persistente sin la intervención del usuario, y los SSD actuales operan a velocidades tan altas que la diferencia entre un acceso “vacío” y uno “cargado” es medible con precisión de microsegundos.
Reacción de la industria
Los principales navegadores (Chrome, Firefox, Safari y Edge) aún no han emitido comunicados oficiales, pero los foros de desarrollo indican que están evaluando la posibilidad de limitar la precisión de los temporizadores de alta resolución cuando una página solicita acceso a almacenamiento. Algunas extensiones de privacidad ya bloquean el uso de la API de Performance.now() con precisión superior a 100 µs, lo que reduciría la efectividad del ataque.
Por su parte, la Electronic Frontier Foundation (EFF) ha publicado una guía rápida para usuarios que desean mitigar este tipo de rastreo: desactivar el almacenamiento local, usar modo de navegación privada y emplear extensiones como uBlock Origin que restringen la creación de objetos de archivo en JavaScript.
¿Qué pueden hacer los desarrolladores?
Los creadores de sitios web legítimos deben ser conscientes de que cualquier funcionalidad que implique escritura en el cliente (por ejemplo, guardado de datos offline) podría ser explotada para fingerprinting. La recomendación es implementar políticas de "same‑origin" estrictas y evitar exponer métricas de rendimiento al frontend a menos que sea estrictamente necesario.
Asimismo, los equipos de seguridad de empresas que dependen de la confidencialidad de sus datos deben revisar sus políticas de BYOD (Bring Your Own Device). Si los empleados acceden a portales internos desde dispositivos personales, podrían estar inadvertidamente revelando información sobre la carga de sus SSD a terceros.
Mirada al futuro
Este descubrimiento plantea una pregunta más amplia: ¿hasta dónde pueden llegar los navegadores en la exposición de recursos del sistema? Con la llegada de WebGPU, WebAssembly y APIs de sensores cada vez más potentes, la frontera entre la web y el sistema operativo se vuelve cada vez más difusa. La comunidad tendrá que equilibrar la innovación con la protección de la privacidad, tal como ocurrió con la limitación de cookies de terceros.
En conclusión, la capacidad de medir la actividad de un SSD desde el navegador representa un salto cualitativo en las técnicas de seguimiento web. Aunque actualmente la explotación práctica está limitada a actores con conocimientos avanzados, la simple existencia de este vector obliga a usuarios, desarrolladores y proveedores de navegadores a replantearse sus defensas. La privacidad en la era del "cloud‑native" y del "edge computing" vuelve a estar en el centro del debate, y este nuevo método de espionaje podría ser el catalizador de regulaciones más estrictas y de una mayor concienciación sobre los riesgos de los side‑channels en la web.
En resumen, los sitios web ahora pueden espiar la actividad de tu SSD mediante JavaScript, una técnica que amplía el fingerprinting y amenaza la privacidad. Mantente alerta, usa navegadores actualizados y considera extensiones de privacidad para reducir el riesgo.