ventas@inleggo.com511-574-2626
AMD
Spectre y Meltdown ponen patas arriba el mundo de la computación
4 enero, 2018
0

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.

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.

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.

Joseph Urbina

CEO at Inleggo
Ingeniero de Computación y Sistemas.