Spectre y Meltdown ponen patas arriba el mundo de la computación
Lo que en un principio parecía un fallo de seguridad de los procesadores Intel se ha convertido en un problema que afecta a cómo han sido hechos los procesadores desde hace muchos años. No, aquí no solo tenemos a Intel afectada, sino también a AMD, ARM, POWER 8 (Big Endian y Little Endian), POWER 9 (Little Endian) e IBM System z, conforme a lo indicado por Red Hat. Si por alguna razón te has perdido la información tecnológica en el último día, permite que te guiemos a través de los sucesos con una serie de enlaces de lectura obligada:
- Los procesadores Intel sufren un importante problema de seguridad, afectará al rendimiento
- Intel dice que el fallo de seguridad afecta a otras CPUs y promete soluciones sin perder rendimiento
- Qué son Meltdown y Spectre, las amenazas que han hecho temblar el mundo de la computación
- Estas son las reacciones de algunos gigantes de la computación ante Spectre y Meltdown
- Preguntas y respuestas sobre Meltdown y Spectre, el grave problema de seguridad que afectará a millones de usuarios
En resumen, las primeras consecuencias de este impresionante lío son Meltdown y Spectre, dos amenazas que están trayendo una cola nunca vista ni siquiera ante sucesos tan graves como Wanncry o Heartbleed.
Aunque tanto Meltdown como Spectre se apoyan en la ejecución especulativa, sus vulnerabilidades son diferentes, por lo que el impacto varía según el fabricante del procesador. En lo que respecta a las tres grandes marcas en la computación de consumo, la única vulnerabilidad relacionada con Meltdown ha podido ser ejecutada con éxito sobre procesadores Intel, mientras que los investigadores, al menos de momento, no han conseguido el mismo resultado sobre AMD y ARM. La solución contra este problema ha pasado por separar el espacio del usuario de la memoria del kernel, dando como resultado una plausible merma en el rendimiento de la que no hay ningún sistema operativo que se libre al no poderse corregir mediante una actualización del microcódigo de Intel.
Con respecto a la actuación de Intel, Linus Torvalds ha tenido unas duras palabras en las listas del kernel:
¿Por qué todo esto se hace sin opciones de configuración?
Un ingeniero de CPU “competente” arreglaría esto asegurándose de que la especulación no pase a través de dominios de protección.
Creo que alguien dentro de Intel necesita echar un buen vistazo a sus CPU y admitir de verdad que tienen problemas, en lugar de escribir palabrería de relaciones públicas diciendo que todo funciona según lo diseñado.
… y eso realmente significa que todos esos parches deberían ser escritos con la idea de que “no todas las CPU son basura” en mente.
¿O lo que quiere decir Intel es “estamos comprometidos en venderte mierda por siempre jamás y no arreglar nunca nada”?
Porque si ese es el caso, tal vez deberíamos comenzar a mirar más hacia la gente de ARM64.
Por favor hablen con los responsables. Porque yo realmente veo dos posibilidades:
Intel no tiene la intención de arreglar nada nunca o estos ‘apaños’ deberían tener una forma de desactivarse.
¿Cuál de las dos es?
Spectre es una amenaza diferente que abarca dos vulnerabilidades. Se trata de un ataque de tipo más general que requiere de la utilización de más características de la ejecución especulativa. Por un lado resulta un poco más difícil de explotar, pero por otro es más complicado de parchear, ya que a pesar de que se puede bloquear la ejecución de ciertas operaciones especulativas, de momento no se puede crear una técnica que evite cualquier fuga de información provocada por la ejecución especulativa. Por desgracia, los procesadores de alto rendimiento necesitan de la especulación para ofrecer su mejor desempeño, por lo que la solución al problema se complica. Por ahora no hay actualizaciones para parchear Spectre, pero Arm, Intel y AMD ya han desarrollado o están desarrollando instrucciones para al menos mitigarlo.
Pese a los grandes perjuicios que traerán Meltdown y Spectre, la gravedad de la situación no ha impedido la guerra de marcas con AMD e Intel al frente. La compañía de Sunnyvale ha insistido en decir desde que se destapó el escándalo que el riesgo de sus productos de verse afectados es “cercano a cero”, aunque ha reconocido la existencia tres variantes de ataques causadas por el uso de la ejecución especulativa. Sin embargo, parece que está demostrado que sus procesadores no son inmunes a Spectre.
La batalla entre AMD e Intel, proveniente en buena parte porque comparten la arquitectura de la CPU, también ha llegado al desarrollo del kernel Linux. Para evitar la explotación de Meltdown, Intel ha introducido un Aislamiento de la Tabla de Página (PTI/Page Table Isolation) que AMD quiere evitar a toda costa, por eso antes de terminar el año (los problemas vienen de atrás a pesar de haberse dados a conocer ahora) decidió presentar otra modificación que evite su ejecución cuando el procesador sea suyo.
Según pruebas realizadas por Phoronix parece que AMD tiene razones para intentar evitar la ejecución de PTI en sus procesadores, ya que haciendo prueba sintéticas con Linux 4.15 se puede apreciar una merma notable en el rendimiento. De momento Linus Torvalds parece que ha dado el visto bueno al parche de AMD que evita la ejecución de PTI sobre sus procesadores.
En cualquier caso mucho nos tememos que todo este lío va para largo y esperemos que se pueda solucionar de manera lo más práctica posible para empresas y usuarios. Comenzamos 2018 con el toque de atención más descarado del siglo en materia de seguridad informática.