Intel ha publicado un aviso de seguridad que informa a los clientes de cuatro nuevas vulnerabilidades de canal lateral que podrían permitir ataques tipo Spectre. Como los descubiertos anteriormente, explotan las debilidades de la función conocida como ejecución especulativa que utilizan los procesadores Intel y otros. En este caso, los chips de AMD y ARM no están afectados.

Las cuatro nuevas vulnerabilidades de seguridad han sido etiquetadas como CVE-2018-12126, CVE-2018-12127, CVE-2018-12130 y CVE-2019-11091. Fueron descubiertas por varios grupos de investigación, proveedores de seguridad y socios de Intel, y se han mantenido en privado hasta ahora, cuando Intel ha preparado una actualización del firmware para mitigar los potenciales ataques.

Vulnerabilidades en procesadores Intel: más de lo mismo

Todos recordamos que el año 2018 fue uno de los peores para Intel en cuanto al descubrimiento de las vulnerabilidades en sus procesadores de la gama Intel Core. Tanto Meltdown como Spectre fueron el centro de muchos artículos que escribimos en esta web a lo largo del pasado año. Y es que, ambas vulnerabilidades afectan a componentes muy importantes del funcionamiento de los procesadores Intel. Tanto que, inicialmente se especuló con que los parches que se desarrollaran para ellas, mermarían tanto el rendimiento de los procesadores, que quedarían prácticamente inservibles (cosa que ya sabemos que nunca llegó a suceder).

Con los nuevos procesadores Intel Core de 9ª Generación, parecía que Intel había corregido los problemas de una de las vulnerabilidades: Meltdown. Y así fue anunciado por la empresa. Sin embargo, ahora cuatro grupos de investigadores de diferentes universidades de todo el planeta se han encargado de descubrir esta nueva vulnerabilidade, ZombieLoad, similar a lo que fue Meltdown en su momento. Y estos son unas noticias horribles para la compañía, que parecía volver a estar recuperando la confianza de sus clientes a este respecto.

Las nuevas vulnerabilidades solo afectan a los procesadores Intel

Al igual que sucedía con Meltdown, las dos nuevas vulnerabilidades son capaces de explotar cómo manejan los procesadores Intel la ejecución especulativa de las instrucciones que van procesando a través de su pipeline. La ejecución especulativa, a la par que la rama de predicción del procesador, son componentes fundamentales y culpables, en gran medida, del incremento de rendimiento que hemos podido ver en todos los procesadores últimamente, independientemente de su arquitectura y fabricante.

ZombieLoad utiliza la misma técnica que Meltdown, en cuanto a que el atacante es capaz de leer los datos que está ejecutando el procesador en ese mismo instante. Al hacerlo, es capaz de averiguar en qué tipo de instrucciones está trabajando en ese momento para, después, utilizar este conocimiento en su propio beneficio.

Esta vulnerabilidad permite conocer qué tipo de arquitectura interna emplea el procesador y, de esta manera, encontrar una puerta de acceso al lugar donde se está ejecutando el sistema operativo. Esto puede permitir que un atacante realice ataques dirigidos a vulnerabilidades específicas del propio sistema operativo.

Los cuatro vectores de ataque diferentes se denominan ZombieLoad, Fallout, RIDL y Store-to-Leak Forwarding, y aprovechan las mismas vulnerabilidades de canal lateral que conocemos. La diferencia con Spectre es que los datos no se almacenan en la caché sino en los búferes. De ahí que Intel las haya denominado como Microarchitectural Data Sampling (MDS).

Por lo demás, el tipo de ataques es el mismo y tiene que ver con la misma arquitectura de los chips modernos. Los procesadores no separan por completo los procesos clave que tienen acceso al kernel del sistema operativo de aquellos con privilegios bajos y de poca confianza (como los de muchas aplicaciones), por lo que un atacante podría aprovechar esta función para que el procesador le anticipe datos que no debería gracias a esa ejecución especulativa.

Zombieload apunta a ser el más peligroso aunque el efecto de los otras tres es el mismo. Un ataque permite acceder a todo tipo de información prácticamente en tiempo real, mientras el sistema procesa dicha información: «el historial del navegador, el contenido del sitio web, las claves de usuario y las contraseñas, o secretos a nivel del sistema, como las claves de cifrado del disco«, explican los investigadores.

Como las anteriores vulnerabilidades, no hay (ni habrá) solución definitiva hasta que una nueva arquitectura llegue al mercado. Se espera que esta solución final vía hardware llegará con los próximos Ice Lake de 10 nm. Lo único que ahora puede hacerse es crear parches y más parches a base de los microcódigos que va publicando Intel y que el resto de socios deben trasladar al firmware de las placas base, sistemas operativos y aplicaciones para mitigar los posibles ataques. Las principales distribuciones GNU/Linux han lanzado ya sus respectivos parches, según cuentan nuestros compañeros de MuyLinux.

Prácticamente todos los procesadores de Intel desde la arquitectura Nehalem (lanzada en 2008) son vulnerables a los cuatro nuevos ataques descubiertos, aunque Intel comenta que la octava y novena generación de procesadores Core y los procesadores escalables Intel Xeon de segunda generación, ya cuentan con mitigaciones integradas vía hardware.

Intel ya conocía la existencia de MDS antes de ser informada

Quizás lo más curioso de todo esto es que a raíz de Meltdown y Spectre Intel se ha tomado la seguridad mucho más en serio de lo que ya hacía en su momento. Estas vulnerabilidades del canal lateral de ejecución especulativa, como MDS ahora, han hecho temblar los cimientos del gigante azul, por lo que el equipo de STORM ha tenido un colapso de trabajo para intentar descubrir vulnerabilidades anexas a estas.

Parece ser que el duro trabajo en este ámbito dio sus frutos hace meses, ya que, según Intel, eran conscientes de MDS antes de ser avisados por investigadores externos, por lo que las contramedidas estaban ya en camino y desarrollo.

Tanto es así, que en el mismo día de su publicación oficial Microsoft ya tenía listo el parche para Windows (KB4494441), donde en concreto protege de las cuatro variantes MDS conocidas hasta el momento: (CVE-2019-11091, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130).

Además, Intel está lanzando activamente actualizaciones de microcódigo para parchear aún más estas vulnerabilidades. Desde luego que ambas empresas se han tomado la seguridad muy en serio y están colaborando activamente, pero ¿cómo afecta esto al rendimiento de cada procesador y bajo qué entornos?

Vulnerabilidades en procesadores Intel. Menor rendimiento?

Algo poco común en Intel es el hecho de facilitar datos de rendimiento ante un problema de tamaña magnitud. Pero al parecer y para tranquilizar a sus clientes y usuarios, ha puesto a disposición de todos una serie de datos comparativos en distintos escenarios y con dos variantes posibles: mantener HT activado o desactivarlo.

Como ya sabemos, estas vulnerabilidades de ejecución especulativa están muy arraigadas a Hyper Threading, de manera que será interesante ver cómo afectan los parches a esta tecnología SMT.

En este caso, solo nos vamos a centrar en el apartado de clientes de PC, dejando a un lado los datos de servidor, donde se aprecian algunas caídas mayores de rendimiento en escenarios puntuales.

La pérdida de rendimiento existe y algunos medios la elevan hasta el 20%. Tengamos en cuenta que lo que se está parcheando son funciones utilizadas por los procesadores precisamente para ganar rendimiento. Aunque Intel ha minimizado la gravedad de estas vulnerabilidades, según los investigadores representan «un fallo grave en el hardware de Intel que puede requerir la desactivación de algunas funciones» como Hyper Threading.

Como vemos, el procesador elegido ha sido un i9-9900K, donde es puesto a prueba con o sin mitigaciones en cinco entornos distintos. En el peor de los casos (WebXPRT 3) el rendimiento cae un 3%, mientras que en SPECint rate base aumenta un 1%. SYSmark pierde otro 1%, mientras que en el apartado gaming representado por 3DMark Sky Diver el rendimiento se mantiene.

La misma Intel habla en el documento técnico que las mitigaciones tendrán un efecto significativo en la forma en que funciona esta tecnología de subprocesos (clave para el rendimiento de los procesadores Intel) y compañías como Red Hat o Canonical recomiendan a sus usuarios deshabilitar la característica Hyper-Threading desde la BIOS/UEFI para una protección más completa.

Intel ha publicado cuadros de rendimiento con las mitigaciones habilitadas y la tecnología de múltiples subprocesos deshabilitada (aunque no lo recomienda específicamente) en algunos de sus procesadores más avanzados, asegurando que espera «impactos mínimos en el rendimiento». Sin embargo, no hace falta realizar muchos test para comprender que desactivar el Hyper-Threading en un modelo más antiguo (como los afectados directamente por estas vulnerabilidades) con dos núcleos puede suponer una auténtica catástrofe en términos de rendimiento en algunos escenarios donde trabajen los cuatros hilos de procesamiento. No, los usuarios de a pie no pueden permitirse deshabilitar el Hyper-Threading.

Para los usuarios que deshabiliten HT o directamente no dispongan de ella en sus procesadores, los datos de rendimiento son algo peores, ya que en SYSMmark el rendimiento cae un 7%, en SPECint un 9% y en 3DMark Sky Diver sólo un 1%.

En cambio, crece en WebXPRT 3 un 2%, algo curioso si tenemos en cuenta que es el test donde más baja si mantenemos el HT. Para nuestra tranquilidad, Intel afirma que es importante tener en cuenta que no hay informes de explotaciones en el mundo real de estas vulnerabilidades, así que habiéndose parcheado Windows podemos estar tranquilos. Si no lo estamos, siempre podemos comprobar si somos vulnerables a MDS.

En resumen y como hemos venido diciendo desde el Spectre original o el resto que han aparecido como la peligrosa SPOILER, son vulnerabilidades que afectan a la misma arquitectura de procesadores, por lo que se pueden mitigar (con un coste grande o pequeño de rendimiento), pero la solución definitiva solo será posible con nuevas arquitecturas de procesadores. Lo único positivo: No se conocen ataques reales que aprovechen las nuevas vulnerabilidades en procesadores Intel. Los chips de AMD y ARM no están afectados.

AMD confirma que sus procesadores no se ven afectados

Por su parte, AMD ha emitido un comunicado oficial con respecto a MDS, donde afirman que según sus análisis y discusiones con investigadores, creen que sus productos no son susceptibles a Fallout y RIDL. No han podido demostrar estos ataques a sus productos y al mismo tiempo desconocen si otros han sido capaces de vulnerar su seguridad por hardware, debido principalmente a las diferencias en la especulación en la microarquitectura AMD frente a Intel.

Actualización:

Intel confirma que este fallo de seguridad ya está abordado en la mayoría de los procesadores de octava y novena generación, así como en los Intel Xeon de segunda generación.

Para otros modelos vulnerables (como la sexta o séptima generación), la compañía tiene pensado lanzar una actualización del microcódigo que, junto a los parches del sistema operativo, se mitigue la vulnerabilidad.

Ahora bien, mitigar esta vulnerabilidad tiene un precio, y es que se empieza a hablar de una pérdida de rendimiento de entre el 3% y 9%, sobre todo en centros de datos. Habrá que esperar a ver si realmente podemos notar esta pérdida de rendimiento o, como asegura Intel, será “inapreciable” para la mayoría.


1 comentario

MATR1X · 15 mayo, 2019 a las 9:35 am

Cuánto rendimiento han perdido los procesadores de Intel por todas estas gracias?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *