Conecta con nosotros

Noticias

Zenbleed, una vulnerabilidad que afecta a los procesadores Zen 2 de AMD

Publicado

el

AMD Zen 2

Tavis Ormandy, el conocido investigador en seguridad de Google, ha publicado una nueva vulnerabilidad que ha sido bautizada como Zenbleed y que afecta a los procesadores de AMD basados en la arquitectura Zen 2, tanto los modelos Ryzen orientados a PC como los EPYC dirigidos a servidores y centros de datos.

La arquitectura Zen 2 se estrenó con la serie Ryzen 3000 y ha sido reutilizada por AMD en muchas ocasiones, así que está presente en modelos de procesadores correspondientes a Ryzen 4000, 5000 y 7000. En este momento se han confirmado modelos de procesadores de todas esas generaciones que están afectados por Zenbleed, a los cuales acompaña ‘Rome’, la segunda generación de EPYC.

Otros dispositivos que emplean la arquitectura Zen 2 de AMD son la última generación de consolas de videojuegos, compuesta por PlayStation 5 y Xbox Series X|S, además de la Steam Deck. Por ahora no se tiene constancia de que hayan sido impactados, pero los datos que se han publicado en torno a la vulnerabilidad no invitan al optimismo al menos para la máquina de Valve, ya que Linux ha empezado a recibir mitigaciones para evitar su explotación.

Zenbleed, que es seguida como CVE-2023-20593, permite la filtración de datos a una velocidad de 30kb por segundo y por núcleo, lo que abre un caudal lo suficientemente potente como para robar la información confidencial que fluye a través del procesador. Su gravedad empeora si tenemos en cuenta que aparentemente tiene la capacidad de funcionar con todo el software que se ejecuta en el procesador, incluyendo máquinas virtuales, entornos aislados (sandbox), contenedores y los procesos.

Debido a que es capaz de leer datos en través de máquinas virtuales, significa que el aislamiento proporcionado por la tecnología queda como mínimo menguado ante Zenbleed, dando como resultado una amenaza importante para los proveedores de servicios en la nube y para aquellos que ejecuten instancias en la nube. Para colmo, es posible llevar a cabo con éxito el ataque mediante la ejecución de código sin privilegios, un factor que aumenta todavía más la peligrosidad de la vulnerabilidad.

Tavis Ormandy explica que el fallo de seguridad, “en primer lugar, debe activar algo llamado XMM Register Merge Optimization2, seguido de un cambio de nombre de registro y un vzeroupper mal pronosticado. Todo esto tiene que suceder dentro de una ventana precisa para que funcione”.

Zenbleed

Debido a que funciones básicas como strlen, memcpy y strcmp usan los registros vectoriales, se abre la puerta a poder espiar a través de un procesador Zen 2 sin importar lo que suceda en máquinas virtuales, entornos de aislamiento, contenedores o procesos.

Ormandy continúa su exposición diciendo que la explotación de la vulnerabilidad “funciona porque el archivo de registro es compartido por todos en el mismo núcleo físico. De hecho, dos hiperprocesos incluso comparten el mismo archivo de registro físico”. El investigador ha dicho que es posible parchear Zenbleed con software, pero eso conllevaría una penalización en el rendimiento. Además, ha recomendado la actualización del microcódigo para AMD y el fabricante de procesadores está preparando una nueva versión del firmware AGESA.

¿Y qué hay de AMD en todo este asunto? Pues todo apunta a que su reacción va a enojar a más de uno. El gigante rojo ya ha empezado a suministrar las actualizaciones de AGESA y del microcódigo para EPYC, pero los usuarios de Ryzen tendrán que esperar como mínimo hasta octubre de 2023 dependiendo del modelo.

AMD se ha marcado como objetivo corregir la vulnerabilidad en las series Ryzen 5000 Mobile “Lucienne”, Ryzen 4000 Mobile “Renoir” y Ryzen 7020 “Mendocino” en diciembre del presente año. Threadripper 3000 “Caslle Peak” apunta a ser la más temprana con una fecha establecida para octubre, mientras que la mayoría de modelos Ryzen, ya sean CPU, APU o Threadripper, recibirán las correcciones entre noviembre y diciembre.

El fabricante de procesadores ha declarado sobre Zenbleed que, “en circunstancias microarquitectónicas específicas, es posible que un registro en las CPU ‘Zen 2’ no se escriba en 0 correctamente. Esto puede hacer que los datos de otro proceso y/o subproceso se almacenen en el registro YMM, lo que puede permitir que un atacante acceda potencialmente a información confidencial”.

La forma en que Zenbleed se ha dado a conocer al público y la reacción de AMD dan a entender que a la compañía se le ha pasado el plazo para parchear. Tavis Ormandy dijo que reportó la vulnerabilidad de forma privada el pasado 15 de mayo, y como suele ser normal por parte del equipo de investigación de Google, dan un plazo al responsable del software o el hardware para corregir. En caso de no cumplir y no tener señales de una pronta reparación, el equipo de Google procede a publicar el fallo de seguridad.

Portátil de AMD

Las formas empleadas por el equipo de investigación en seguridad de Google le ha generado conflictos con otras compañías. Sonado fue el pique que llegó a tener con Microsoft, que acusó a los investigadores del gigante del buscador de una divulgación irresponsable de las vulnerabilidades de Windows. El pique entre los gigantes tecnológicos fue respondido una vez por Microsoft con acusaciones de que Google no gestionaba correctamente los fallos de seguridad presentes en Chrome.

Recuperando uno de los frentes que han sido abordados en esta entrada, el microcódigo, AMD está poniendo los cimientos para incrementar su tamaño de cara a los procesadores Zen 5, con el posible propósito de soportar instrucciones más complejas o nuevas características. Esto ha podido saberse gracias a un parche introducido en Linux por la responsable de Radeon, el cual muestra que el tamaño máximo del microcódigo ha pasado a multiplicar por ocho los 4.096 bytes de la página del kernel, pudiendo alcanzar así un máximo de 32KB.

Veremos cómo es gestionado el tema de Zenbleed a partir de ahora, pero viendo la situación y los plazos, todo parece indicar que los responsables de kernels, sistemas operativos y posiblemente aplicaciones tengan que introducir mitigaciones temporales hasta que AMD termine de cumplir con su calendario, y eso si sus parches realmente ponen fin a la vulnerabilidad. Tampoco hay que perder el foco de plataformas como Xbox Series X|S y PlayStation 5.

Apasionado del software en general y de Linux en particular. El Open Source, la multiplataforma y la seguridad son mis especialidades.

Lo más leído