(https://i.postimg.cc/3RtmV9dD/ARM.png) (https://postimages.org/)
Un nuevo ataque de ejecución especulativa llamado "TIKTAG" tiene como objetivo la extensión de etiquetado de memoria (MTE) de ARM para filtrar datos con más del 95 % de posibilidades de éxito, lo que permite a los piratas informáticos eludir la característica de seguridad.
El artículo, firmado conjuntamente por un equipo de investigadores coreanos de Samsung, la Universidad Nacional de Seúl y el Instituto de Tecnología de Georgia, demuestra el ataque contra Google Chrome y el kernel de Linux.
MTE es una característica agregada en la arquitectura ARM v8.5-A (y posteriores), diseñada para detectar y prevenir la corrupción de la memoria.
El sistema utiliza etiquetado de bajo costo, asignando etiquetas de 4 bits a fragmentos de memoria de 16 bytes, para proteger contra ataques de corrupción de memoria al garantizar que la etiqueta en el puntero coincida con la región de memoria a la que se accede.
MTE tiene tres modos operativos: síncrono, asíncrono y asimétrico, equilibrando la seguridad y el rendimiento.
Los investigadores descubrieron que al utilizar dos dispositivos (código), a saber, TIKTAG-v1 y TIKTAG-v2, pueden explotar la ejecución especulativa para filtrar etiquetas de memoria MTE con una alta tasa de éxito y en poco tiempo.
Diagrama de fuga de etiquetas
(https://i.postimg.cc/43MxJhBx/Tag-leak-diagram.png) (https://postimages.org/)
La filtración de esas etiquetas no expone directamente datos confidenciales como contraseñas, claves de cifrado o información personal. Sin embargo, en teoría puede permitir a los atacantes socavar las protecciones proporcionadas por MTE, haciendo que el sistema de seguridad sea ineficaz contra ataques sigilosos de corrupción de memoria.
Ataques TIKTAG
TIKTAG-v1 aprovecha la reducción especulativa en la predicción de ramas y los comportamientos de captación previa de datos de la CPU para filtrar etiquetas MTE.
Los investigadores descubrieron que este dispositivo es eficaz en ataques contra el kernel de Linux, principalmente funciones que implican accesos especulativos a la memoria, aunque se requiere cierta manipulación de los punteros del kernel.
El atacante utiliza llamadas al sistema para invocar la ruta de ejecución especulativa y mide los estados de la caché para inferir etiquetas de memoria.
TIKTAG-v2 explota el comportamiento de reenvío de almacenamiento a carga en ejecución especulativa, una secuencia en la que un valor se almacena en una dirección de memoria y se carga inmediatamente desde la misma dirección.
Si las etiquetas coinciden, el valor se reenvía y la carga se realiza correctamente, lo que influye en el estado de la caché, mientras que, en caso de discrepancia, el reenvío se bloquea y el estado de la caché permanece sin cambios.
Por lo tanto, al sondear el estado de la caché después de la ejecución especulativa, se puede inferir el resultado de la verificación de etiquetas.
Los investigadores demostraron la efectividad de los dispositivos TIKTAG-v2 contra el navegador Google Chrome, particularmente el motor JavaScript V8, abriendo el camino para explotar vulnerabilidades de corrupción de memoria en el proceso de renderizado.
Posibles escenarios de ataque gracias a la derivación de MTE
(https://i.postimg.cc/zfLqPG8Z/Attack-scenarios-made-possible-through-MTE-bypass.png) (https://postimages.org/)
Respuesta de la industria y mitigaciones
Los investigadores informaron sus hallazgos a las entidades afectadas entre noviembre y diciembre de 2023 y recibieron una respuesta generalmente positiva, aunque no se implementaron soluciones inmediatas.
El artículo técnico publicado en arxiv.org propone las siguientes mitigaciones contra los ataques TIKTAG:
Modifique el diseño del hardware para evitar que la ejecución especulativa modifique los estados de la caché en función de los resultados de la verificación de etiquetas.
Insertar barreras de especulación (por ejemplo, instrucciones sb o isb) para evitar la ejecución especulativa de operaciones de memoria críticas.
Agregue instrucciones de relleno para extender la ventana de ejecución entre instrucciones de rama y accesos a memoria.
Mejorar los mecanismos de espacio aislado para restringir las rutas de acceso a la memoria especulativas estrictamente dentro de regiones de memoria seguras.
Si bien ARM reconoció la gravedad de la situación y publicó un boletín hace unos meses, no considera que esto comprometa la función.
"Como no se espera que las etiquetas de asignación sean un secreto para el software en el espacio de direcciones, un mecanismo especulativo que revele el valor correcto de la etiqueta no se considera un compromiso de los principios de la arquitectura", se lee en el boletín de ARM.
El equipo de seguridad de Chrome reconoció los problemas, pero decidió no solucionar las vulnerabilidades porque el sandbox V8 no está destinado a garantizar la confidencialidad de los datos de la memoria y las etiquetas MTE.
Además, el navegador Chrome actualmente no habilita defensas basadas en MTE de forma predeterminada, lo que lo convierte en una prioridad menor para soluciones inmediatas.
Los oracles MTE en el dispositivo Pixel 8 informaron al equipo de seguridad de Android más tarde, en abril de 2024, y se reconocieron como una falla de hardware que calificaba para una recompensa.
Fuente:
BleepingComputer
https://www.bleepingcomputer.com/news/security/new-arm-tiktag-attack-impacts-google-chrome-linux-systems/