Spectre 1.1 y 1.2: dos nuevas vulnerabilidades contra los procesadores modernos
Si bien Meltdown fue el el vector de ataque que más ruido generó en su momento debido a que impactó fuertemente contra los procesadores de Intel, en realidad el peligro lo tenía Spectre, cuyas vulnerabilidades asociadas están dando bastantes dolores de cabeza a los expertos en seguridad debido a es imposible de acabar de forma definitiva con él, dejando margen solo para la incorporación de mitigaciones que deben ser incorporadas a todos los niveles, tanto en sistemas operativos (incluyendo el kernel), drivers, herramientas y aplicaciones.
En el mes de mayo del presente año se reconoció la existencia de nuevas variantes de Meltdown y Spectre, dejando la puerta abierta a teorizar que la seguridad de las CPU es algo a lo que nunca se le ha prestado mucha atención. Más recientemente, se han revelado detalles sobre nuevas vulnerabilidades que han recibido los nombres de Spectre 1.1 y Spectre 1.2.
Al igual que en los casos anteriores, Spectre 1.1 y Spectre 1.2 se aprovechan de la ejecución especulativa, una característica que permite a las CPU modernas mejorar el rendimiento mediante el cálculo de operaciones por adelantado y luego descartar los datos innecesarios. Según los investigadores que han descubierto estas nuevas vulnerabilidades, Spectre 1.1 utiliza la ejecución especulativa para enviar código que termina provocando un desbordamiento de los buffers de la caché de la CPU para escribir y ejecutar código malicioso con el fin recuperar datos de secciones de la CPU que previamente habían sido aseguradas.
Spectre 1.1, también es conocido como Bounds Check Bypass Store (BCBS) , es similar a las variantes 1 y 4 de este vector de ataque, aunque con la salvedad de que “actualmente no hay análisis estáticos efectivos o instrumentos de compilación disponibles para detectarla o mitigarla genéricamente”. De momento se sabe que afecta a millones de unidades de CPU procedentes de Intel y ARM, aunque AMD todavía no ha confirmado nada a pesar de que todo apunta a que sus CPU se han visto igualmente afectadas.
Este desbordamiento del buffer abriría la puerta a que atacantes locales puedan ejecutar código arbitrario no confiable sobre un sistema vulnerable que se esté ejecutando sobre una CPU que haga uso de la ejecución especulativa o la predicción de saltos con el fin de exponer datos sensibles mediante un análisis de canal lateral o bien desbordamiento especulativo del buffer.
Sobre Spectre 1.2, puede ser explotada para escribir en los sectores de la memoria de la CPU que normalmente están protegidos con flags de solo lectura, esto hace que el aislamiento (sandboxing) que dependa del hardware de la memoria de solo lectura se vuelva infectectivo. Su explotación es similar al de otras vulnerabilidades vinculadas a Meltdown y Spectre, que requieren de la presencia de código malicioso en el PC de la víctima, algo que limita su alcance. Al igual que Spectre 1.1, solo se ha podido confirmar que Intel y ARM están afectados, no descartando la posibilidad de que AMD también lo esté.
Como medidas de mitigación, los investigadores han recomendado la aplicación de la familia de mitigaciones a nivel de microarquitectura SLoth contra Spectre 1.1, que afortunadamente puede ser mitigado totalmente mediante una actualización del microcódigo de los procesadores. Mientras, Spectre 1.2 puede ser mitigado en futuros procesadores con la implementación de la característica de protección Rogue Data Cache Store.
Como ya hemos dicho al principio, las vulnerabilidades ligadas a Spectre tienen que ser mitigadas a todos los niveles. Esto quiere decir que el evitar su impacto en los sistemas no solo es responsabilidad de los fabricantes de CPU, sino también de los desarrolladores de sistemas operativos, aplicaciones, drivers y herramientas de software como compiladores. Aquí, Microsoft, Oracle y Red Hat ya han anunciado que están investigando cómo afecta Spectre 1.1 a los datos manejados a través de sus productos para así implementar las mitigaciones correspondientes.
El equipo de investigadores tras el descubrimiento de Spectre 1.1 y 1.2 ha recibido 100.000 dólares a través del programa de recompensas de Intel en HackerOne, que fue modificado en febrero del presente año con el fin de incentivar la búsqueda y detección de vulnerabilidades de tipo canal lateral.
Fuentes: Softpedia y BleepingComputer
Via: www.muyseguridad.net