TikTag — un ataque al mecanismo de ejecución especulativa en la CPU ARM, que permite eludir la protección MemTag.

Un grupo de investigadores de la Universidad de Seúl y la empresa Samsung desarrolló una técnica de ataque contra procesadores ARM, codificada con el nombre de TikTag, que se puede usar para eludir el mecanismo de protección de hardware MemTag (MTE, Extensión de Etiquetado de Memoria), presente en los chips basados en la arquitectura ARMv8.5-A. El ataque permite determinar el contenido de las etiquetas TikTag para direcciones de memoria arbitrarias debido a fugas de datos que ocurren como resultado de la ejecución especulativa de instrucciones del CPU.

La tecnología MemTag permite vincular etiquetas a áreas de memoria y organizar la verificación de la validez del uso de punteros para bloquear la explotación de vulnerabilidades causadas por el acceso a bloques de memoria que ya han sido liberados, desbordamientos de búfer y accesos antes de la inicialización. Al utilizar MemTag, se crea una etiqueta de 4 bits para cada 16 bytes de memoria física, que actúa como una especie de clave para acceder a esa memoria. La etiqueta puede ser generada por la aplicación para el área de memoria asignada utilizando instrucciones especiales del CPU, y luego almacenada en los bits superiores no utilizados del puntero. Al acceder a la memoria utilizando un puntero etiquetado, el procesador verifica si la etiqueta asociada al puntero coincide con las etiquetas vinculadas a los bloques de memoria, y permite el acceso solo si las etiquetas coinciden.

El método de ataque propuesto permite determinar las etiquetas vinculadas a los bloques de memoria y eludir la protección de MemTag. Los investigadores han demostrado la posibilidad de llevar a cabo el ataque TikTag aprovechando vulnerabilidades en el núcleo de Linux y en el navegador Chrome, utilizando las secuencias de instrucciones existentes en estos productos (gadgets), que conducen a la ejecución especulativa de código. Tales gadgets, al ejecutarse en un modo especulativo de código que trabaja con punteros, provocan la lectura de metadatos de MemTag dependiendo de condiciones externas que pueden ser influidas por el atacante. Después de determinar una predicción incorrecta, el resultado de la ejecución especulativa es descartado, pero los datos obtenidos permanecen en la caché y pueden ser extraídos posteriormente mediante análisis a través de canales laterales. La probabilidad de eludir con éxito la protección de MemTag en las pruebas realizadas se estimó en un 95% durante un ataque que duró aproximadamente 4 segundos.

TikTag es un ataque al mecanismo de ejecución especulativa en el CPU ARM, que permite eludir la protección MemTag.

Se han identificado dos tipos de gadgets que provocan la filtración de información sobre las etiquetas MemTag. En el primer caso, la ejecución especulativa ocurre debido a una predicción incorrecta de las bifurcaciones, y las condiciones para la ejecución del gadget pueden ser creadas mediante manipulaciones de llamadas al sistema. En el segundo caso,
la ejecución especulativa ocurre debido a un error en la predicción de la relación entre las operaciones de lectura y escritura al utilizar la optimización STLF (Store-To-Load-Forwarding), lo que permite seleccionar la etiqueta evaluando el estado de la caché (si la etiqueta coincide, el valor se redirige directamente del comando «store» anterior a la operación «load» y cambia el estado de la caché). El primer tipo de gadgets es adecuado para un ataque en el núcleo de Linux, y el segundo en el motor JavaScript V8, utilizado en navegadores basados en Chromium. Se ha publicado un prototipo de la herramienta para llevar a cabo el ataque en GitHub.

TikTag es un ataque al mecanismo de ejecución especulativa en el CPU ARM, que permite eludir la protección MemTag.TikTag es un ataque al mecanismo de ejecución especulativa en el CPU ARM, que permite eludir la protección MemTag.

La empresa ARM ha confirmado la posibilidad de llevar a cabo un ataque en sistemas con procesadores Cortex-X2, Cortex-X3, Cortex-A510, Cortex-A520, Cortex-A710, Cortex-A715 y Cortex-A720, pero no tiene intención de modificar el CPU para bloquear el problema, ya que la arquitectura MemTag implica que las etiquetas no son datos secretos para las aplicaciones. En la base de código de Chromium, el problema también permanece sin solución, ya que en el navegador Chrome la protección basada en MemTag aún no se aplica por defecto. El equipo encargado de la seguridad de la plataforma Android ha reconocido la posibilidad de un ataque en dispositivos Pixel 8, que utilizan la protección MemTag, ha añadido correcciones para bloquear las filtraciones y ha expresado su disposición a recompensar por la vulnerabilidad encontrada.

Como métodos alternativos para bloquear el ataque, los investigadores sugieren usar las instrucciones sb o isb para prohibir la ejecución especulativa durante las operaciones críticas con la memoria, o incluir entre las instrucciones de bifurcación y las instrucciones de acceso a la memoria un relleno de otras instrucciones.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster