Intel frena a Meltdown y Spectre: las actualizaciones funcionan y su impacto es reducido

El gigante de la fabricación de semiconductores se vio sacudido por Meltdown y Spectre a principios de año. El caos provocado por estas vulnerabilidades afectaba a chips de otros fabricantes y diseñadores como AMD y ARM, pero Intel era la más castigada por dichos problemas de seguridad.

La empresa se puso a trabajar de forma frenética para atajar los riesgos de seguridad asociados a ese descubrimiento, y dos meses y medio despúes tienen buenas noticias que darnos: ya hay solución para todos los procesadores de los últimos cinco años, pero además tienen ya versiones de sus procesadores que eliminan este problema desde la raíz, desde el hardware.

Atajar el problema causó nuevos problemas (al principio)

Los graves errores de diseño desvelados nada más estrenarse 2018 sembraron el pánico entre usuarios en todos los ámbitos. Las vulnerabilidades de seguridad críticas conocidas como Meltdown (variante 3) y Spectre (variantes 1 y 2) podían ser aprovechadas para lograr acceder a zonas protegidas de memoria y, por tanto, a datos confidenciales y a la ejecución de código no autorizado.

Eso provocó una rápida reacción por parte de Intel, que recibió numerosas demandas por el problema. En las últimas semanas hemos visto como Intel publicaba parches no del todo efectivos y que de hecho causaron problemas colaterales a los usuarios de ciertos tipos de combinaciones hardware. Microsoft, que también intentó publicar actualizaciones para mitigar el problema, se encontró también con que sus soluciones afectaban negativamente a usuarios de procesadores AMD.

Tras ese caos inicial, no obstante, estas empresas lograron solventar esos conflictos. Intel presentaba a finales de febrero de 2018 sus parches finales para mitigar los problemas, y con ellos por fin llegaba una solución estable que, combinada con las actualizaciones entre los desarrolladores de sistemas operativos —con Microsoft a la cabeza— planteaba un buen mecanismo para mitigar el problema de forma definitiva.

En Intel aseguran que ya tienen solución final

Tras esas semanas de incertidumbre, Intel ha indicado que a día de hoy el** 100% de sus procesadores lanzados en los últimos cinco años están ya protegidos** contra estas amenazas.

Ese anuncio se une a otro que es también importante para la futura resolución definitiva del problema: Intel indicó que estaba trabajando en procesadores inmunes a Meltdown y Spectre, y sus ingenieros confirman ahora que dichos procesadores, que estarán protegidos por hardware contra las variantes 2 y 3 de este problema, comenzarán a aparecer en la segunda mitad del año.

Los primeros en hacerlo serán los procesadores Xeon SP para servidores (Cascade Lake), mientras que después llegarán los primeros procesadores para usuarios finales, los Intel Core de 8ª Generación que también contarán con esa protección hardware contra esas variantes de Meltdown y Spectre.

¿Qué ocurre con la primera variante, que es una de las dos presentes en Spectre? Pues como explicaban en Google, el problema conocido como 'bounds check bypass' (CVE-2017-5753) tiene una mitigación software (y no hardware con algún tipo de microcódigo para las CPUs afectadas), tanto a nivel de sistema operativo como de aplicaciones. Como explicaban estos investigadores:

La mitigación requiere el análisis y la recompilación de modo que no se emita código binario vulnerable. Ejemplos de objetivos que podrían requerir el parcheado incluyen tanto al sistema operativo como a apliaciones que ejecuten código no fiable.

Los parches sí afectan al rendimiento, pero no mucho

Una de las preocupaciones que imponían estos parches desde que comenzaron a aparecer fue el impacto que tendrían sobre el rendimiento de nuestros PCs y de los servidores a los que accedemos continuamente en internet y en redes locales y empresariales.

Los benchmarks con los que se realizan las pruebas de impacto tienen un problema: que tratan de mantener nuestra CPU trabajando al 100% constantemente. Ese escenario no es realista, ya que la mayoría de usuarios no imponemos esa carga a nuestros equipos.

¿Por qué pasa esto? La razón es que uno de los pilares del problema está en la llamada ejecución especulativa, un sistema que básicamente convierte al procesador en una especie de adivino: la CPU trata de adelantarse a nuestras necesidades precalculando cosas que así no tendrá que calcular cuando le llegue el momento. Esa técnica con la que el procesador ahorraba esperas "innecesarias" ha acabado siendo la condena de Intel.

Con los parches Intel deja de aprovechar ventajas como la ejecución especulativa, lo que hace que ahora esas esperas sean necesarias. Hay otro factor esencial en esa potencial pérdida de rendimiento. Hasta ahora, el espacio de memoria de usuario y del kernel no estaban separados, pero estos parches precisamente los separan para evitar accesos no autorizados a regiones privilegiadas de memoria.

Eso significa que los cambios de contexto que los procesos hacen continuamente en nuestro trabajo frente al PC (pasando del espacio de memoria de usuario al del kernel para ciertas operaciones) consumen unos ciclos de CPU que antes no se consumían. Esa sobrecarga u overhead es la que causa el impacto, que puede ser o mayor dependiendo en gran medida del número de interrupciones que estemos activando en nuestras aplicaciones.

¿Qué impacto podemos esperar entonces? Pues depende totalmente del escenario software en el que nos encontremos y también del tipo de configuración hardware con la que contemos. Los primeros datos apuntaban a bajadas de rendimiento que podían ir desde el 5 al 30%, y se sabe que el impacto en usuarios que usan discos duros tradicionales es menor que en usuarios de SSD, aunque eso no importa tanto ya que los usuarios SSD siguen teniendo una mejora de rendimiento significativa frente a los de discos duros mecánicos.

Algunas de las grandes implicadas en este ámbito daban ya hace semanas su estimación del impacto. En Google, por ejemplo, indicaron cómo llevaban tiempo trabajando en el problema para atajarlo sin que nos enterásemos de nada. El impacto en sus servicios, aseguran, es minúsculo, con ejemplos como Gmail y Google Drive ya protegidos gracias a soluciones como Retpoline que se han aplicado en otras plataformas software y que la propia Intel ha revisado.

Microsoft hizo sus propias pruebas al respecto y confirmó que Metldown y Spectre sí tendrían impacto tras ser parcheados en diversas versiones de Windows. Según esos datos, los usuarios de procesadores más antiguos (citaban los Haswell de 2015 o anteriores) serían los que podrían ver "desaceleraciones importantes".

Los datos publicados por Intel en enero de 2018 mostraban sus resultados sobre el impacto esperado tras aplicar los parches. Esos datos deberían ser revisados ahora que han aparecido los parches definitivos, pero todo apunta a que esos números no variarán mucho en las nuevas pruebas.

Los responsables de Intel publicaban sus estimaciones al respecto al poco de desvelarse los errores. En las primeras pruebas realizadas confirmaban sus impresiones iniciales, en las que "no anticipábamos un impacto significativo sobre el rendimiento para el usuario medio".

Lo bueno: que (casi) nunca usamos nuestras CPUs al 100%

Lo cierto es que como decíamos el impacto sobre nuestra actividad existe, pero todo apunta a que será reducido o nulo salvo en casos excepcionales. Aquí los analistas aclaran algo interesante: los benchmarks que ejecutamos para analizar el impacto en el rendimiento se encargan de tener la CPU funcionando al 100% constantemente.

Los gamers pueden estar tranquilos: las pruebas preliminares apuntan a que la pérdida de rendimiento tras aplicar los parches es nula cuando jugamos a videojuegos.

En esos benchmarks es donde efectivamente se nota una pérdida de rendimiento en algunos casos, como apuntaban las pruebas iniciales de Intel o los datos de Microsoft, pero es que tanto en el ámbito del usuario final como en el de un servidor esas situaciones de utilización máxima del procesador son raras.

El caso típico de "estrés" al que sometemos a nuestros PCs y portátiles es el que afecta sobre todo al mundo de los videojuegos, y ahí los procesadores no están tan ocupados como las GPUs, que no están afectadas directamente por el problema —aunque sí indirectamente—.

En la mayoría de situaciones el margen de maniobra de la CPU es tan grande —porque no la usamos casi nunca al 100%— que será difícil que notemos una pérdida sensible de rendimiento. Lo demostraban análisis como los de TechReport en los que las pruebas apuntaban a diferencias no especialmente llamativas entre un equipo sin proteger y el mismo equipo protegido.

Lo mismo ocurre con los servidores, cuyos responsables suelen "sobreaprovisionar" para dotar a sus máquinas de margen de maniobra para casos en los que reciban un número de peticiones más elevada de lo normal. Eso mismo hace que el impacto en estas máquinas, aunque exista, no sea notable en muchos casos.

Tenemos un buen ejemplo en las pruebas publicadas por Red Hat recientemente: mientras que el impacto que midieron en enero de 2018 se situaba entre el 1 y el 20% en sus soluciones con los últimos parches ese impacto se ha reducido a un rango de entre el 1 y el 8%.

Con esto no queremos decir que estemos a salvo de problemas de rendimiento: en situaciones específicas —mucha entrada/salida, mucho cambio de contexto— sí puede haber una bajada de rendimiento apreciable, y cada usuario, sea profesional o no, debería evaluar las cargas de trabajo de sus máquinas.

Las conclusiones, aún así, son esperanzadoras: los parches disponibles ya cubren una amplia cantidad de PCs, portátiles y servidores, y el impacto sobre el rendimiento, aunque sensible en casos específicos, no parece tan preocupante como se planteaba inicialmente. Eso se une a la salida de los futuros procesadores que corregirán estos problemas directamente desde el hardware, algo que irá atajando gradualmente un problema que aún así podría seguir coleando durante muchos años.

Aquí, eso sí, los usuarios también tenemos trabajo: debemos actualizar nuestros procesadores y nuestros sistemas operativos cuanto antes para mitigar potenciales amenazas. El proceso puede plantear aún conflictos —por ejemplo, con antivirus—, pero el panorama es mucho más halagüeño que hace pocas semanas.

Más información | Intel Microcode Update Guidance (PDF)
En Xataka | Cómo actualizar todos tus sistemas operativos y navegadores para frenar a Meltdown y Spectre

Ver todos los comentarios en https://www.xataka.com.co

VER 0 Comentario

Portada de Xataka Colombia