Grave falla en procesadores Intel permite robar claves de encriptación

Estándar

Un equipo de investigadores de seguridad ha descubierto otra grave vulnerabilidad de canal lateral en las CPU de Intel que podría permitir a un atacante leer datos confidenciales o protegidos, como contraseñas y claves criptográficas, de otros procesos que se ejecutan en el mismo núcleo de la CPU con la función de subprocesos múltiples (multi-threading) habilitada.

La vulnerabilidad, cuyo nombre en código es PortSmash (CVE-2018-5407), se ha unido a la lista de otras graves vulnerabilidades de canal lateral descubiertas desde el año pasado, incluidas las famosas Meltdown y Specter.

Descubierta por un equipo de investigadores de seguridad de la Universidad Tecnológica de Tampere en Finlandia y la Universidad Técnica de La Habana, Cuba, la nueva vulnerabilidad de canal lateral reside en la tecnología Intel Hyper-Threading, que es la implementación de la empresa Intel de la tecnología Simultaneous MultiThreading (SMT).

La tecnología  SMT es una característica de los procesadores que busca incrementar el rendimiento de los procesadores que funciona al dividir cada núcleo físico de un procesador en núcleos virtuales, conocidos como subprocesos, lo que permite que cada núcleo ejecute dos flujos de instrucciones a la vez.

Como SMT ejecuta dos subprocesos en dos procesos independientes uno al lado del otro en el mismo núcleo físico para mejorar el rendimiento, es posible que un proceso vea una cantidad sorprendente de lo que está haciendo el otro.

Por lo tanto, un atacante puede ejecutar un proceso malintencionado de PortSmash junto con un proceso seleccionado de la víctima en el mismo núcleo de la CPU, lo que permite que el código de PortSmash tome un vistazo de las operaciones realizadas por el otro proceso midiendo el tiempo preciso que se tarda en cada operación.

¿Cómo el ataque PortSmash puede robar claves de desencriptación de OpenSSL?

Una prueba de concepto (PoC) se ha publicado en Github, los investigadores probaron el ataque PortSmash contra la biblioteca de criptografía OpenSSL (versión <= 1.1.0h) y lograron robar las claves de descifrado privada mediante un proceso malicioso que se ejecuta en el mismo físico núcleo junto con el hilo de OpenSSL.

Si bien se confirmó que el ataque PortSmash funciona en los procesadores Kaby Lake y Skylake de Intel en este momento, los investigadores “sospechaban” que el ataque podría funcionar en otras arquitecturas SMT, incluidas las de AMD, con algunas modificaciones en su código.

En agosto de este año, después de que se revelaran los ataques TLBleed y ForeShadow, Theo de Raadt, el fundador y líder del proyecto OpenBSD, aconsejó a los usuarios desactivar el SMT/Hyperthreading en todas las BIOS de Intel.

Theo de Raadt también ha dicho que “se revelarán más errores de hardware y artefactos. Debido a la forma en que SMT interactúa con la ejecución especulativa en las CPU de Intel, espero que SMT exacerbe la mayoría de los problemas futuros“.

¿Cómo protegernos contra el ataque PortSmash?

Los investigadores informaron sobre la nueva vulnerabilidad de canal lateral al equipo de seguridad de Intel a principios del mes pasado, pero cuando la compañía no proporcionó los parches de seguridad hasta el 1 de noviembre, el equipo hizo público un script de prueba de concepto (PoC).

El equipo también se ha comprometido a publicar un documento detallado sobre el ataque PortSmash, titulado Port Contention for Fun and Profit, en los próximos días.

La solución simple para la vulnerabilidad de PortSmash es deshabilitar el SMT/Hyper-Threading en el BIOS del chip de la CPU hasta que Intel publique los parches de seguridad. Los usuarios de OpenSSL pueden actualizarse a OpenSSL 1.1.1 (o una versión más nueva que la 1.1.0i si está buscando parches).

En junio de este año, el proyecto OpenBSD deshabilitó Hyper-Threading de Intel para evitar que sus usuarios revelaran ataques de clase Specter, así como futuros ataques de sincronización.

AMD está investigando el informe de vulnerabilidad del canal lateral de PortSmash para descartar o confirmar cualquier posible susceptibilidad de los productos de AMD.