Identificada una nueva variante del ataque Zombieload a procesadores Intel

Investigadores de la Universidad Técnica de Graz (Austria) descubierto información sobre un nuevo método de ataque a través de canales de terceros Carga de zombis 2.0 (CVE-2019-11135), que permite extraer información confidencial de otros procesos, el sistema operativo, máquinas virtuales y enclaves protegidos (TEE, Trusted Execution Environment). El problema sólo afecta a los procesadores Intel. Componentes para bloquear el problema. propuesto en el ayer actualización de microcódigo.

El problema pertenece a la clase MDS (Microarchitectural Data Sampling) y es una versión modernizada. publicado en mayo ataca ZombieLoad. ZombieLoad 2.0, al igual que otros ataques MDS, se basa en la aplicación de técnicas de análisis de canal lateral a datos en estructuras de microarquitectura (por ejemplo, Line Fill Buffer y Store Buffer), que almacenan temporalmente los datos utilizados en el proceso de realizar operaciones de carga y almacenamiento). .

Nueva variante de ataque Zombieload está basado sobre la fuga que se produce durante el funcionamiento del mecanismo de interrupción asíncrona de operaciones (TAA, TSX Asynchronous Abort), implementado en la extensión TSX (Transactional Synchronization Extensions), que proporciona herramientas para trabajar con memoria transaccional, lo que permite aumentar el rendimiento de aplicaciones multiproceso al eliminar dinámicamente operaciones de sincronización innecesarias (transacciones atómicas admitidas que pueden aceptarse o abortarse). Si se interrumpe, las operaciones realizadas en la región de la memoria transaccional se revierten.

La cancelación de la transacción se produce de forma asíncrona y durante este tiempo otros subprocesos pueden acceder a la caché, que también se utiliza en la región de memoria transaccional descartada. Durante el tiempo transcurrido desde el inicio hasta la finalización real de una cancelación de transacción asincrónica, es posible que surjan situaciones en las que el procesador, durante la ejecución especulativa de una operación, pueda leer datos de los buffers de microarquitectura internos y transferirlos a la operación especulativa. Luego se detectará el conflicto y se descartará la operación especulativa, pero los datos permanecerán en la caché y podrán recuperarse mediante técnicas de recuperación de caché de canal lateral.

El ataque se reduce a abrir transacciones TSX y crear condiciones para su interrupción asincrónica, durante las cuales surgen condiciones para filtrar el contenido de buffers internos especulativamente llenos de datos de operaciones de lectura de memoria realizadas en el mismo núcleo de 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 los buffers de microarquitectura se comparten entre diferentes subprocesos en el modo Hyper-Threading, es posible filtrar operaciones de memoria realizadas en otros subprocesos de la CPU.

Ataque sujeto a algunos modelos de octava, novena y décima generación de procesadores Intel Core, así como Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W y el Intel Xeon Scalable de segunda generación. Los nuevos procesadores Intel basados ​​en la microarquitectura Cascade Lake presentada en abril, que inicialmente no era susceptible a los ataques RIDL y Fallout, también son susceptibles a los ataques. Además de Zombieload 2.0, los investigadores también identificaron la posibilidad de eludir los métodos de protección propuestos anteriormente contra ataques MDS, basados ​​​​en el uso de la instrucción VERW para borrar el contenido de los buffers de microarquitectura al regresar del kernel al espacio del usuario o al transferir el control a el sistema de invitados.

El informe de Intel afirma que en sistemas con una carga heterogénea, la capacidad de llevar a cabo un ataque es difícil, ya que una fuga de estructuras de microarquitectura cubre toda la actividad en el sistema y el atacante no puede influir en la fuente de los datos extraídos, es decir. Solo puede acumular información que surge como resultado de una fuga e intentar identificar información útil entre estos datos, sin la capacidad de interceptar intencionalmente datos asociados con direcciones de memoria específicas. Sin embargo, los investigadores publicaron explotar prototipo, ejecutándose en Linux y Windows, y demostró la capacidad de utilizar un ataque para determinar el hash de la contraseña del usuario root.
Tal vez Llevar a cabo un ataque desde un sistema invitado para acumular datos que aparecen en las operaciones de otros sistemas invitados, el entorno host, el hipervisor y los enclaves Intel SGX.

Correcciones para bloquear la vulnerabilidad. incluido en el código base del kernel de Linux y se incluye en las versiones 5.3.11, 4.19.84, 4.14.154, 4.9.201 y 4.4.201. También se han publicado actualizaciones del kernel y del microcódigo para las principales distribuciones (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). El problema se identificó en abril y se coordinó una solución entre Intel y los desarrolladores del sistema operativo.

El método más sencillo para bloquear Zombieload 2.0 es desactivar la compatibilidad con TSX en la CPU. La solución propuesta para el kernel de Linux incluye varias opciones de protección. La primera opción ofrece el parámetro “tsx=on/off/auto” para controlar si la extensión TSX está habilitada en la CPU (el valor automático deshabilita TSX solo para CPU vulnerables). La segunda opción de protección está habilitada por el parámetro “tsx_async_abort=off/full/full,nosmt” y se basa en borrar los buffers de microarquitectura durante el cambio de contexto (el indicador nosmt deshabilita adicionalmente SMT/Hyper-Threads). Para comprobar si un sistema es susceptible a vulnerabilidades, sysfs proporciona el parámetro "/sys/devices/system/cpu/vulnerabilities/tsx_async_abort".

Además, la actualizar microcódigo eliminado uno mas vulnerabilidad (CVE-2018-12207) en los procesadores Intel, que también está bloqueado en la última actualizar Núcleos de Linux. Vulnerabilidad permite un atacante sin privilegios inicie una denegación de servicio, lo que provocará que el sistema se cuelgue en el estado "Error de comprobación de la máquina".
Ataque incluyendo puede estar comprometido desde el sistema de invitados.

Fuente: opennet.ru

Añadir un comentario