Varios expertos en ciberseguridad han hallado dos vulnerabilidades críticas en el diseño de los procesadores que incorporan casi todos los ordenadores del mundo. Estos fallos, denominados Meltdown y Spectre, permiten leer la memoria del sistema por un agente externo. Es una puerta abierta a los hackers para robar información sensible como contraseñas o tarjetas de crédito a través de un agujero de seguridad en el hardware, no de software.

Meltdown afecta principalmente a la práctica totalidad de procesadores Intelfabricados desde 1995, y permite a los potenciales ciberdelincuentes saltarse la barrera existente entre las aplicaciones ejecutadas por el usuario y la memoria del sistema.

El problema es especialmente grave en los servidores que emplean compañías como Google, Microsoft o Amazon con sus servicios en la nube a empresas o particulares que dependen de ordenadores con procesadores Intel. Los ciberdelincuentes podrían alquilar sus servicios y robar la información de todos los clientes que estén usando el mismo equipo.

Arreglar el fallo conlleva modificar la gestión de la memoria que realiza el procesador, lo que se traduce en una merma de hasta un 30% del rendimiento en el peor de los casos. Es un impacto dramático para los proveedores de servicios en la nube, no tanto para los usuarios. Las pruebas de rendimiento tras aplicar el parche de seguridad indican que los programas de ofimática, retoque fotográfico o videojuegos no se ven afectados significativamente.

Amazon, Google y Microsoft confirmaron el pasado miércoles haber tomado las medidas necesarias para proteger a sus clientes de la vulnerabilidad Meltdown.

Spectre es una vulnerabilidad más difícil de explotar, pero también más difícil de mitigar. Engaña a otras aplicaciones para que accedan a registros arbitrarios de su memoria de forma invisible y afecta a todos los equipos con procesadores de Intel, AMD y ARM: ordenadores, tablets, teléfonos inteligentes, etc.

Meltdown aprovecha un fallo de diseño en la ejecución especulativa, una técnica que emplean los procesadores Intel para optimizar su rendimiento. Se emplea para que el procesador prediga qué código se va a ejecutar para buscarlo y ejecutarlo antes de que llegue la petición real. De esta forma, el kernel, o núcleo del sistema, siempre está listo para ejecutar cualquier comando sin esperas.