Intel vuelve a dar la alarma, ya que ha vuelto a salir una nueva vulnerabilidad llamada MDS o Micro-architectural Data Sampling. De esta vulnerabilidad han salido las variantes llamadas “Fallout”, “RIDL” y “ZombieLoad”. Estas vulnerabilidades son parte de la variante de Spectre v4, donde se basan la mayoría de vulnerabilidades recientes. Ya se encuentran creando una solución como sucedió con el resto de vulnerabilidades que han visto la luz.
El año pasado se encontraron vulnerabilidades en los procesadores llamadas Meltdown y Spectre, aunque la primera vulnerabilidad solo afectó a Intel. Durante el tiempo que ha pasado han salido varias actualizaciones y correcciones para parchear estas vulnerabilidades, causando una pequeña pérdida de rendimiento para el usuario. Muchas empresas sufrieron una gran pérdida de rendimiento, debido a la gran cantidad de información que tienen que procesar las empresas para ofrecer sus servicios.
A día de hoy, Meltdown ya está parcheado y se desconoce que vaya a haber más problemas por esta vulnerabilidad. Pero Spectre no ha parado de crecer y no paran de salir más formas de realizar ataques maliciosos aprovechando vulnerabilidades por hardware. Spectre a diferencia de Meltdown afecta a una gran mayoría de procesadores, sobre todo a los que usan Simultaneous Multithreading. Esta tecnología es conocida en procesadores de Intel como HyperThreading, y en AMD se conoce como AMD SMT.
¿Cómo me afecta?
MDS causa que se pueda leer información desde varios buffers del procesador entre los hilos lógicos, hasta la propia caché de la CPU. Permitiendo extraer información sin que lo sepa el usuario ya que se procesa directamente de la misma CPU. A través de este exploit es posible conseguir, por ejemplo, usuarios y contraseñas de las páginas web que se estén visitando en ese momento.
Intel ha declarado que es necesario cambiar la forma en la que las aplicaciones funcionan en el propio sistema. Estos cambios son necesarios para que la vulnerabilidad MDS no pueda obtener ningún dato que pueda comprometer el sistema. Las soluciones pueden suponer ciertos problemas de rendimiento, pero Intel asegura que el impacto en rendimiento será mínimo.
Intel ha admitido la vulnerabilidad y recomienda que se deshabilite el HyperThreading para garantizar protección frente ataques a través de MDS. La ejecución especulativa es lo que más ha afectado al HT de Intel, y las mitigaciones normalmente conllevan a pérdidas de rendimiento. Los investigadores de Intel descubrieron esta vulnerabilidad a finales del año pasado, y con ese descubrimiento comenzaron a buscar soluciones.
La 8ª generación de Whiskey Lake y algunos procesadores de la 9ª generación de escritorio de Intel incluyen soluciones por hardware en nuevas versiones o Stepping. Mientras que el resto de gamas, incluyen soluciones por software que evitan la explotación de la vulnerabilidad MDS. Sin embargo las arquitecturas anteriores a la 1ª generación Intel Core, son vulnerables a MDS y no recibirán ninguna mitigación para este exploit.
No todos los procesadores de la 8º y 9º generación tiene solución por hardware en nuevas versiones o pasadas. Para conocer todos los procesadores que cuentan con la vulnerabilidad o están protegidos. Intel ha puesto a nuestra disposición una página con la lista de todos los procesadores afectados o protegidos.
Intel está trabajando en una revisión mejorada por hardware de estos procesadores de la 9ª generación con una nueva remesa, muy posiblemente el stepping “R0”. Esta nueva revisión mejorada puede significar que la primera versión de Intel 9º generación no esté al 100% protegida como Intel afirma.
Información sobre la mitigación de MDS
Intel ha desvelado el funcionamiento de la mitigación de MDS, donde no se muestra “ningún” impacto aparente de rendimiento al deshabilitar el HyperThreading en diferentes benchmarks. La compañía ha puesto una selección resultados de benchmarks relevantes para los usos del cliente y la empresa, en data-centers.
En data-centers Intel utiliza un Intel Xeon Platinum 8180, y realiza distintas pruebas donde se compara en rendimiento al mismo procesador con HT desactivado. En estas pruebas el rendimiento se ha visto reducido hasta en un 20% en data-centers, donde Java es el más afectado.
Para los equipos de uso para usuarios, realizan distintas pruebas pensadas para un equipo de trabajo más normal, y no un data-center. Las siguientes pruebas se observa cómo hay una pérdida de rendimiento considerable en ciertas operaciones realizadas por los benchmarks.
El test para usuarios ha sido tomado con el Intel Core i9-9900K, este procesador ya está protegido contra MDS a nivel de Hardware en sus últimas revisiones. Este procesador tiene 8 núcleos y 16 hilos y si deshabilitamos el HyperThreading, contiene los suficientes para realizar esos benchmarks.
Los benchmarks utilizados para las pruebas ofrecidas por Intel en la gama de usuario no son los más representativos en nuestro punto de vista.
¿Jugando al despiste?
Las pruebas realizadas por Intel y publicadas para la gama de usuario, mostrando la pérdida de rendimiento al desactivar el HT del i9-9900K, no son lo más esclarecedoras posibles.
Se usan benchmarks en los que un procesador de 8 núcleos es más que capaz de realizar sin ningún problema en los benchmarks de hace años. Teniendo en cuenta que hasta hace 2 generaciones de usuario, Intel solo utilizaba 4 núcleos y 8 hilos. Por lo que la utilización de un Intel Core i9-9900K con 8 de 16 hilos desactivados no es el dato más representativo. Ya que estos benchmarks están ideados para el hardware de la época.
Estas pruebas no están creadas este año o recientemente, por tanto no se aprovechan todos los núcleos del procesador o hilos al máximo. En estos benchmark Intel demuestra cómo su tope de gama no se ve afectada por el parche de mitigación. Y muestra como desactivando HT no hay grandes pérdidas de rendimiento en las distintas pruebas realizadas.
Nos llama la atención de estos benchmarks, la utilización del desfasado 3DMark Skydiver lanzado en 2014. Un benchmark de stress test pensado para equipo de gama media y orientada a gráficas principalmente. Por lo que los resultados de un procesador 4 años mas nuevo con el doble de núcleos de la época y los mismos hilos, creemos que no es el entorno más idóneo para mostrar la pérdida de rendimiento al desactivar el HyperThreading.
Intel ha afirmado que la 8º generación tendrá solución por parches de software y microcode. De momento no hemos visto pruebas de cómo afecta la vulnerabilidad MDS a estos procesadores y el rendimiento si desactivamos el HT.
Problemas con la solución de Intel
Chrome OS es un sistema basado en GNU/Linux, creado para ofrecer un sistema ligero y rápido para navegar por la web. Los equipos que utilizan este sistema operativo generalmente son equipos de bajo rendimiento pensados para la navegación web y uso en línea.
Este SO ya se ha visto afectado en los equipos a los que han aplicado la solución de Intel de desactivar el HT. Su rendimiento se ha visto mermado notablemente y muestra cómo afecta en su modo de funcionar este sistema operativo.
Aunque una solución esta en camino, de momento sigue siendo un problema deshabilitar el HT más que una solución viable. Aunque lo recomendable por la vulnerabilidad MDS es no activar el HyperThreading, es algo que está dando que hablar.
Debido a la desactivación del HT, todos los equipos de gama baja se verán más afectados por este problema. Debido a que lo normal los equipos tengan entre 2 y 4 núcleos, con 4 hilos en ambos casos. Los equipos de 2 núcleos y 4 hilos se verán más afectados que los que tengan 4 núcleos, debido a la desactivación del HT. Dejando a los equipos afectados en 2 núcleos y 2 hilos de procesamiento para evitar el funcionamiento del exploit.
Si de por sí, estos equipos de gama baja se verán afectados por la desactivación del HT en ellos. Todos sufrirán otra pérdida de rendimiento debido a los parches de mitigación de MDS en los equipos.
¿Esta AMD afectado?
AMD ha confirmado en un comunicado que sus procesadores no están afectados por la vulnerabilidad “Fallout” o “RIDL”. Estas 2 vulnerabilidades forman parte de MDS, y AMD ha confirmado que no han podido ejecutar esas vulnerabilidades en sus procesadores. AMD cree que se debe a que su sistema de seguridad por hardware que protege al equipo de esta vulnerabilidad.
AMD llegó a esas conclusiones debido a sus propias pruebas y discusiones con los investigadores que descubrieron RIDL. La vulnerabilidad “Fallout” que ha probado recientemente AMD es parte de MDS, no se trata del supuesto exploit que afecta a procesadores “Zen”.
El año pasado, aparecieron 13 supuestas vulnerabilidades que afectaban a la línea de productos Ryzen, Epyc, Ryzen Pro y Ryzen Mobile. Estas 13 vulnerabilidades se agruparon en 4 categorías llamadas “MasterKey”, “Chimera”, “Ryzenfall” y “Fallout”, y a día de hoy ninguna está demostrada.
¿Cómo sé si soy vulnerable?
Se ha creado una aplicación que verifica distintas vulnerabilidades incluyendo la MDS, al igual que sucedió anteriormente con otras vulnerabilidades. Esta herramienta es llamada mdstool y muestra distintas vulnerabilidades que tiene tu procesador, donde se encuentra el exploit MDS entre otros.
Las otras vulnerabilidades que te detecta la herramienta tienen que ver con distintas variantes mayormente de Spectre. Es una herramienta muy útil para detectar qué vulnerabilidades hay, cuales están parcheadas, y ver cuáles no lo están. Seguramente algunas de ellas aún no hay solución aplicada, ya sea por problemas de uso, o porque no hay parche de momento.
También puede deberse a que no se hayan aplicado las actualizaciones correspondientes para solucionar estas vulnerabilidades, actualizando el Microcódigo, la BIOS o el Sistema Operativo.
Esta herramienta puedes obtenerla desde el siguiente enlace: https://mdsattacks.com/
La solución
Intel ya ha publicado una lista de procesadores que recibirán la mitigación para la vulnerabilidad MDS, actualizando el Microcódigo y Windows. Se detallan en una tabla los distintos procesadores que recibirán este parche, pero se desconocen las fechas de salida.
Habrá que esperar a que salga el parche para los sistemas operativos, y a que distintos fabricantes actualicen sus BIOS y pongan en la página oficial de la placa base. Esperemos que cuando salga el parche, no afecte demasiado al rendimiento en los procesadores que necesitan aplicar esta corrección.