Más de seis años después de que saliera a la luz la falla de seguridad de Spectre que afectaba a los procesadores de CPU modernos, una nueva investigación ha descubierto que los últimos procesadores AMD e Intel todavía son susceptibles a ataques de ejecución especulativa.
El ataque, revelado por los investigadores de ETH Zürich Johannes Wikner y Kaveh Razavi, tiene como objetivo socavar la barrera de predicción de rama indirecta (IBPB) en chips x86, una mitigación crucial contra los ataques de ejecución especulativa.
La ejecución especulativa se refiere a una característica de optimización del rendimiento en el que las CPU modernas ejecutan ciertas instrucciones fuera de orden prediciendo de antemano la rama que tomará un programa, acelerando así la tarea si el valor utilizado especulativamente era correcto.
Si esto resulta en una predicción errónea, las instrucciones, llamadas transitorias, se declaran inválidas y se aplastan, antes de que el procesador pueda reanudar la ejecución con el valor correcto.
Si bien los resultados de la ejecución de instrucciones transitorias no están comprometidos con el estado arquitectónico del programa, aún es posible que carguen ciertos datos confidenciales en la memoria caché del procesador mediante una predicción errónea forzada, exponiéndolos así a un adversario malicioso que, de otro modo, no podría acceder a ellos. .
Intel describe IBPB como un “mecanismo de control de sucursales indirectas que establece una barrera, evitando que el software que se ejecutó antes de la barrera controle los objetivos previstos de las sucursales indirectas ejecutadas después de la barrera en el mismo procesador lógico”.
Se utiliza como una forma de ayudar a contrarrestar la inyección de objetivo de rama (BTI), también conocido como Spectre v2 (CVE-2017-5715), un ataque de ejecución transitoria (TEA) entre dominios que aprovecha los predictores de rama indirectos utilizados por los procesadores para provocar un gadget de divulgación para ser ejecutado especulativamente.
Un dispositivo de divulgación se refiere a la capacidad de un atacante de acceder al secreto de una víctima que de otro modo no sería visible arquitectónicamente y exfiltrarlo a través de un canal encubierto.
Los últimos hallazgos de ETH Zürich muestran que un error de microcódigo en las microarquitecturas de Intel como Golden Cove y Raptor Cove podría usarse para eludir IBPB. El ataque ha sido descrito como la primera y práctica “fuga de Spectre de proceso cruzado de un extremo a otro”.
El defecto del microcódigo “retener[s] “Las predicciones de rama tales que aún pueden usarse después de que IBPB deberían haberlas invalidado”, dijeron los investigadores. “Tal especulación posterior a la barrera permite a un atacante eludir los límites de seguridad impuestos por los contextos de proceso y las máquinas virtuales”.
El estudio descubrió que la variante de IBPB de AMD puede ser evitada de manera similar debido a la forma en que el kernel de Linux aplica IBPB, lo que resulta en un ataque, cuyo nombre en código es Post-Barrier Inception (también conocido como PB-Inception), que permite a un adversario sin privilegios filtrar memoria privilegiada. en procesadores AMD Zen 1(+) y Zen 2.
Intel ha puesto a disposición un parche de microcódigo para abordar el problema (CVE-2023-38575, puntuación CVSS: 5,5). AMD, por su parte, está rastreando la vulnerabilidad como CVE-2022-23824, según un consultivo lanzado en noviembre de 2022.
“Los usuarios de Intel deben asegurarse de que su microcódigo Intel esté actualizado”, dijeron los investigadores. “Los usuarios de AMD deben asegurarse de instalar las actualizaciones del kernel”.
La divulgación se produce meses después de que los investigadores de ETH Zürich detallaran nuevas técnicas de ataque RowHammer con nombres en código ZenHammer y SpyHammer, el último de los cuales utiliza RowHammer para inferir la temperatura de la DRAM con alta precisión.
“RowHammer es muy sensible a las variaciones de temperatura, incluso si las variaciones son muy pequeñas (p. ej., ±1 °C)”, señala el estudio. dicho. “La tasa de error de bits inducida por RowHammer aumenta (o disminuye) constantemente a medida que aumenta la temperatura, y algunas celdas DRAM que son vulnerables a RowHammer exhiben errores de bits solo a una temperatura particular”.
Aprovechando la correlación entre RowHammer y la temperatura, un atacante podría identificar la utilización de un sistema informático y medir la temperatura ambiente. El ataque también podría comprometer la privacidad al utilizar mediciones de temperatura para determinar los hábitos de una persona dentro de su hogar y las horas en que entra o sale de una habitación.
“SpyHammer es un ataque simple y efectivo que puede espiar la temperatura de sistemas críticos sin modificaciones ni conocimiento previo sobre el sistema víctima”, señalaron los investigadores.
“SpyHammer puede ser una amenaza potencial para la seguridad y privacidad de los sistemas hasta que se adopte un mecanismo de defensa RowHammer definitivo y completamente seguro, lo cual es un gran desafío dado que la vulnerabilidad de RowHammer continúa empeorando con la ampliación de la tecnología”.