CacheOut es otra vulnerabilidad de ejecución especulativa que afecta a los procesadores de Intel

Los disgustos de Intel con las vulnerabilidades apoyadas en la ejecución especulativa parece que no cesan. Tras la irrupción de Meltdown y Spectre hace dos años y después de ver otros fallos de seguridad relacionados con el segundo vector, recientemente nos hemos encontrado con CacheOut.

Al igual que otras vulnerabilidades apoyadas en la ejecución especulativa, la explotación de CacheOut abre la puerta a la filtración de datos, concretamente los alojados en la memoria caché de un procesador Intel (el nombre, que se puede traducir por “caché fuera”, resulta bastante descriptivo). Su código de seguimiento es CVE-2020-0549 y ha tenido una puntuación de 6,5, por lo que su gravedad ha sido considerada como media.

Entrando en detalles, la correcta explotación o ejecución de CacheOut abre la puerta a robar los datos de la caché de Nivel 1 (L1) de un procesador Intel, permitiendo además realizar dicha acción de forma selectiva. Esto quiere decir que en lugar de esperar a que los datos estén disponibles, mediante un exploit se puede seleccionar qué datos se quieren filtrar. De esta manera se pueden violar casi todos los dominios de seguridad basados en hardware, abarcando el kernel del sistema operativo, las máquinas virtuales e incluso los enclaves de SGX.

SGX es una tecnología de seguridad basada en hardware que ya fue violada por PlunderVolt, mientras que en el caso del Linux CacheOut puede ser utilizada para atacar la aleatoriedad en la disposición del espacio de direcciones del kernel (KASLR) y extraer sus datos secretos a través de un canal lateral de microarquitectura.

Procesadores de Intel

Intel ya ha movido ficha para mitigar el problema liberando una actualización del microcódigo para abordar las deficiencias de arquitectura y ha recomendado la aplicación de mitigaciones adicionales a los proveedores de sistemas operativos. Debido a la preocupación generada por las vulnerabilidades que se apoyan en la ejecución especulativa, el microcódigo es un componente que la mayoría de casos tendría que ponerse al día a través de una actualización estándar del sistema operativo, tanto en Windows como en Linux.

Los procesadores afectados son solo de Intel y de las generaciones a partir de Skylake (Intel Core 6000) en adelante, mientras que las generaciones Broadwell y anteriores y los procesadores de AMD no se han visto afectados por CacheOut. Sin embargo, el hecho de que requiera de ejecución en local y de altos privilegios minimiza su peligrosidad.

A pesar de que Intel ha tomado muchas medidas contra las vulnerabilidades de tipo canal lateral, que el origen de estos problemas esté en el silicio y no pueda ser parcheado totalmente hace que cada cierto tiempo aparezcan fallos capaces de saltarse todas las mitigaciones aplicadas, que abarcan hasta drivers y aplicaciones.

Aquí puede ser de valor las palabras de Linus Torvalds, creador de Linux, quien dijo que se tomaron “atajos” en la implementación de la ejecución especulativa que han abierto la caja de los truenos al no haberse hecho aparentemente todas las comprobaciones necesarias. Que la ejecución especulativa sea necesaria para exprimir el potencial de los procesadores modernos hace que la situación se vuelva más compleja al tenerse que medir el impacto del rendimiento de las medidas aplicadas.

La entrada CacheOut es otra vulnerabilidad de ejecución especulativa que afecta a los procesadores de Intel es original de MuyComputer