RETBleed

Se dio a conocer información sobre un nuevo ataque al cual son vulnerables los procesadores Intel y AMD, el ataque de ejecución especulativa descubierto recientemente puede filtrar en secreto contraseñas y otros datos confidenciales.

Bajo el nombre en código «Retbleed», el ataque tiene como objetivo los retpolines, una de las defensas propuestas en 2018 para mitigar Spectre, un subconjunto de ataques de canal lateral de sincronización de microarquitectura que afectan a los microprocesadores modernos.

Ambos fabricantes de chips están luchando una vez más para contener lo que resulta ser una vulnerabilidad persistente y obstinada.

Retbleed es una vulnerabilidad descubierta recientemente por investigadores del Instituto Federal Suizo de Tecnología (ETH) de Zúrich. Se llamó así porque explota una defensa de software conocida como retpoline.

Esta defensa se introdujo en 2018 para mitigar los efectos nocivos de los ataques de ejecución especulativa. Los ataques de ejecución especulativa explotan el hecho de que cuando los procesadores modernos encuentran una rama de instrucción directa o indirecta, predicen la dirección de la próxima instrucción que recibirán y la ejecutan automáticamente antes de que se confirme la predicción.

Los ataques de ejecución especulativa funcionan engañando al procesador para que ejecute una instrucción que accede a datos confidenciales en la memoria que normalmente se negarían a una aplicación desfavorecida. Luego, los datos se recuperan después de cancelar la operación.

Un retpoline funciona mediante el uso de una serie de operaciones de retorno para aislar las ramas indirectas de los ataques de ejecución especulativa, erigiendo efectivamente el equivalente de software de un trampolín que los hace rebotar de manera segura. En otras palabras, un retpoline funciona reemplazando saltos y llamadas indirectas con devoluciones.

A pesar de las preocupaciones, el riesgo del comportamiento de la predicción de retorno en pilas de llamadas profundas se consideró bajo y las retpolines se convirtieron en la principal medida de mitigación contra Spectre. Algunos investigadores han advertido durante años que esta defensa no es suficiente para mitigar los ataques de ejecución especulativa, ya que creen que los retornos utilizados por el retpoline eran susceptibles a BTI. El creador de Linux, Linus Torvalds, descartó tales advertencias, argumentando que tales exploits no eran prácticos.

Sin embargo, los investigadores de ETH Zurich han descubierto que la minería es, de hecho, conveniente. Los investigadores de ETH Zurich han demostrado de manera concluyente que la retpoline es insuficiente para prevenir los ataques de ejecución especulativa. Su prueba de concepto Retbleed funciona contra procesadores Intel con microarquitecturas Kaby Lake y Coffee Lake y microarquitecturas AMD Zen 1, Zen 1+ y Zen 2.

“Nuestros resultados muestran que todas las instrucciones de devolución que siguen pilas de llamadas lo suficientemente profundas se pueden desviar utilizando un historial de bifurcación preciso en las CPU de Intel. Con respecto a los procesadores AMD, encontramos que cualquier instrucción de retorno puede ser secuestrada, independientemente de la pila de llamadas anterior, siempre que el destino de la rama anterior se elija correctamente durante el secuestro”, señalan los académicos de L. ETH Zurich Johannes Wikner y Kaveh Razavi en su trabajo de investigación.

Básicamente, el malware en una máquina puede explotar Retbleed para obtener memoria a la que no debería tener acceso, como datos del kernel del sistema operativo, contraseñas, claves y otros secretos. Según los académicos, Spectre Variant 2 aprovechó las ramas indirectas para lograr una ejecución especulativa arbitraria en el kernel. Las ramas indirectas se convirtieron en devoluciones utilizando retpoline para mitigar la Variante 2 de Spectre. Retbleed muestra que, lamentablemente, las declaraciones de retorno se filtran en algunas condiciones similares a las ramas indirectas.

Esto significa que, lamentablemente, la retpoline fue una atenuación inadecuada para empezar. Según los investigadores, Retbleed puede filtrar memoria de los núcleos de CPU de Intel a una velocidad de aproximadamente 219 bytes por segundo y con un 98 % de precisión.

El exploit puede extraer la memoria central de las CPU de AMD con un ancho de banda de 3,9 KB por segundo. Los investigadores dijeron que fue capaz de localizar y filtrar el hash de la contraseña raíz de una computadora Linux de la memoria física en aproximadamente 28 minutos con procesadores Intel y aproximadamente 6 minutos con procesadores Intel AMD.

El artículo de investigación y la publicación de blog de los investigadores explican las condiciones microarquitectónicas necesarias para operar Retbleed. En Intel, los retornos comienzan a comportarse como saltos indirectos cuando se desborda el búfer de la pila de retorno, que contiene las predicciones del objetivo de retorno.

«Esto significa que se puede explotar cualquier comentario que podamos obtener a través de una llamada al sistema, y ​​hay muchos», escribieron los investigadores. «También descubrimos que las CPU de AMD exhiben saltos fantasma (CVE-2022-23825): predicciones de bifurcación que ocurren incluso en ausencia de cualquier instrucción de bifurcación correspondiente», agregaron.

Cabe señalar que los sistemas Windows no se ven afectados, ya que estos sistemas utilizan de forma predeterminada la especulación restringida de rama indirecta (IBRS), que también es la mitigación disponible para los usuarios de Linux.

 

Fuente: comsec | desdelinux

¿Quién está en línea?

Hay 9782 invitados y ningún miembro en línea