Nueva vulnerabilidad en procesadores Intel: ahora afecta al HyperThreading

Nueva vulnerabilidad en procesadores Intel: ahora afecta al HyperThreading

Alberto García

No ganamos para disgustos en cuanto a vulnerabilidades en nuestros procesadores se refiere. A principios de año se abrió la veda con Meltdown y Spectre, y a lo largo del año se han ido descubriendo aún más vulnerabilidades relacionadas con estos chips. Ahora, acaba de descubrirse una llamada PortSmash, que afecta al HyperThreading en procesadores Intel, y AMD podría estar afectada también.

PortSmash aprovecha una vulnerabilidad presente en la tecnología HyperThreading de Intel, su tecnología propietaria para dividir un núcleo físico en dos hilos independientes de procesamiento. Esto reduce el tiempo necesario para realizar tareas en paralelo.

PortSmash afecta a los últimos procesadores Intel lanzados al mercado

El ataque descubierto permite robar claves de cifrado. Los investigadores usaron un servidor TLS con OpenSSL, y comprobaron que funcionaba con procesadores Skylake (6ª generación) y Kaby Lake (7ª generación) bajo Ubuntu. Para ello, enviaban una serie de instrucciones y medían cuidadosamente cuánto tiempo tardaban en ejecutarse.

portsmash intel

Mediante esa medición precisa era posible deducir la clave que estabas siendo procesada en otro núcleo del mismo procesador. La vulnerabilidad, bautizada como CVE-2018-5407, afecta tanto a ordenadores como servidores, aunque en estos últimos es más fácil de aprovechar el exploit. Los investigadores han diseñado un sistema que permite personalizar el ataque dependiendo del dispositivo que se quiera atacar.

Aunque sólo lo han probado con chips basados en Skylake y Kaby Lake, los investigadores afirman que arquitecturas posteriores también están afectadas, y son vulnerables mediante una ligera modificación del exploit. También sospechan que SMT, el equivalente de HyperThreading de AMD, también está afectado.

Uno de los escenarios más viable para este ataque implica que un atacante obtenga credenciales de acceso a un entorno de servidores donde haya varias personas usando entornos virtuales, permitiendo conocer la información que está ejecutándose en otros procesos ejecutándose en paralelo en el mismo servidor. Spectre podía aprovecharse mediante un JavaScript que descargásemos de una web, y aunque no han podido comprobarlo con PortSmash, afirman que debería ser posible hacer algo similar.

La única solución actual es desactivar el HyperThreading

En junio de este año también fue descubierta otra vulnerabilidad de HyperThreading llamada TLBleed, que también permitía conocer claves de cifrado, y donde los investigadores consiguieron adivinar una clave cifrada de 256 bits. Esto hizo que los desarrolladores de OpenBSD decidieran deshabilitar HyperThreading, y recomendaron hacer lo propio con SMT en ordenadores con procesadores de AMD.

Actualmente, la única manera de protegernos de este ataque es desactivar HyperThreading y SMT en la UEFI/BIOS de nuestra placa base, con la consecuente pérdida de rendimiento. En el caso de OpenSSL, es recomendable actualizar a la versión 1.1.1 o superior para poder estar protegidos ante este ataque. Si compras un procesador i3, i5 o i7 de 9ª generación, estarás protegido ante este fallo ya que estos nuevos chips no tienen HyperThreading.