Meltdown y Spectre
No es de extrañar que el mejor y más detallado seguimiento de Meltdown y Spectre sea de Peter Bright en Ars Technica. Este artículo resume en qué estado se encuentra cada compañía a la hora de lanzar los diferentes parches de seguridad y qué corrige cada uno de ellos.
He intentado explicar en dos artículos (1 y 2) en El Mundo la situación general, pero es un problema complejo que va a tener difícil solución, sobre todo en el caso de Spectre.
A grandes rasgos:
Meltdown afecta a procesadores Intel y algunos ARM y puede corregirse de forma relativamente sencilla designando una parte de la memoria para uso exclusivo de las funciones del núcleo sistema y otra para los procesos del usuario. Normalmente este tipo de barreras existen pero Meltdown aprovechaba un error de diseño en estos procesadores que permitía a un proceso del usuario leer datos almacenados en la memoria del núcleo del sistema.
Forzar esta división puede tener un impacto en el rendimiento de los procesadores pero sólo en aplicaciones muy concretas. La mayoría de usuarios no notará que su ordenador va más lento. Los centros de datos y aplicaciones en la nube tampoco en muchos de los casos aunque hay situaciones concretas que sí se verán significativamente afectados. Epic Games, por ejemplo, ha notado un aumento significativo del uso de CPU en sus servidores del juego Fortnite tras aplicar el parche.
Este parche se aplica a nivel de sistema operativo.
Spectre es más complejo porque se basa en la capacidad de adivinar qué datos está manejando el procesador de acuerdo a ciertos comportamientos durante los eventos de computación predictiva, una función presente en todos los procesadores modernos. Es más difícil de corregir en un ataque pero también más difícil de explotar.
Una de las formas es impedir a los procesos usar computación predictiva o fuera-de-orden al tratar ciertos datos sensibles pero eso requiere cambiar el código en cada aplicación. Fabricantes de procesadores y responsables de plataformas y, sobre todo, navegadores web están implementando éste y otros mecanismos de protección para frenar los posibles ataques.
Los parches para Spectre se aplican a nivel del código del propio procesador, sistema operativo y aplicaciones. Puede tener un efecto en el rendimiento también, aunque no tan pronunciado.
Foto de Glenn Carstens-Peters / Unsplash