Linux Adictos David Naranjo  

Zombieload 2.0 un nuevo método de ataque que solo afecta a procesadores Intel

Intel-ZombieLoad

Investigadores de la Universidad Tecnológica de Graz (Austria) han revelado información sobre un nuevo método de ataque a través de ZombieLoad 2.0 (CVE-2019-11135), que permite extraer información confidencial de otros procesos, el sistema operativo, máquinas virtuales y enclaves seguros (TEE, Trusted Execution Environment). El problema solo afecta a los procesadores Intel. Los componentes para bloquear el problema fueron propuestos en la actualización de microcódigo de ayer.

El problema pertenece a la clase de MDS (Microarchitectural Data Sampling) y es una versión modernizada del ataque ZombieLoad, lanzado en mayo. ZombieLoad 2.0, así como otros ataques de la clase MDS, se basan en la aplicación de métodos de análisis de terceros a datos en estructuras microarquitectónicas (por ejemplo, en los buffers Line Fill Buffer y Store, en los que los datos utilizados en el proceso se almacenan temporalmente realizar operaciones de carga y almacenamiento).

Esta nueva variante de Zombieload se basa en una fuga que ocurre cuando se implementa el mecanismo TSA Asynchronous Abort (TSA) en la extensión TSX (Transactional Synchronization Extensions), que proporciona medios para trabajar con la memoria transaccional, lo que permite aumentar el rendimiento de las aplicaciones multiproceso debido a la exclusión dinámica operaciones de sincronización innecesarias (se admiten transacciones atómicas, que pueden aceptarse o interrumpirse).

En caso de interrupción, las operaciones realizadas con la región transaccional de la memoria se revierten. La cancelación de una transacción se realiza de forma asíncrona, momento en el que otros subprocesos pueden acceder a la memoria caché, que también se usa en la región de memoria de transacción descartada.

Desde el principio hasta la finalización real de una interrupción de transacción asíncrona, es posible que ocurran situaciones en las que el procesador, durante la ejecución especulativa de una operación, puede leer datos de buffers microarquitectónicos internos y transferirlos a una operación ejecutada especulativamente.

Luego se detectará el conflicto y se descartará la operación especulativa, pero los datos permanecerán en la memoria caché y se pueden extraer utilizando los métodos de restauración de la memoria caché a través de canales de terceros.

El ataque se reduce a abrir transacciones TSX y crear condiciones para su interrupción asincrónica, durante las cuales surgen condiciones de fuga del contenido de los buffers internos especulativamente llenos de datos de las operaciones de lectura de memoria realizadas en el mismo núcleo de la CPU.

La fuga se limita al núcleo físico actual de la CPU (en el que se ejecuta el código del atacante), pero dado que diferentes subprocesos comparten las memorias intermedias de microarquitectura en el modo Hyper-Threading, puede producirse una pérdida de operaciones de memoria realizadas en otros subprocesos de la CPU.

Se han dado a conocer algunos modelos de Intel que en el que ha probado el ataque de ellos se encuentran de la octava, novena y décima generación de procesadores Intel Core y Pentium, Intel Celeron 5000, Intel Xeon E, Intel Xeon W y la segunda generación de procesadores Intel Xeon escalable.

Incluyendo los nuevos procesadores Intel también se basan en la microarquitectura Cascade Lake presentada en abril, que inicialmente no era susceptible a los ataques RIDL y Fallout.

Además de Zombieload 2.0, los investigadores también descubrieron que era posible eludir los métodos de protección previamente propuestos contra los ataques MDS basados ​​en el uso de la instrucción VERW para borrar el contenido de las memorias intermedias de microarquitectura cuando regresan del núcleo al espacio del usuario o cuando transfieren el control al sistema invitado.

Las soluciones para bloquear la vulnerabilidad se incluyen en la base del código del kernel de Linux y se incluyen en las versiones 5.3.11, 4.19.84, 4.14.154, 4.9.201 y 4.4.201. También se han lanzado actualizaciones con kernel y microcódigo para las principales distribuciones (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). El problema se identificó en abril y la solución fue coordinada por Intel con los desarrolladores de los sistemas operativos.

El método más simple para bloquear Zombieload 2.0 es deshabilitar el soporte de TSX en la CPU. La solución para el kernel de Linux incluye varias opciones de seguridad.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.