Spectre, Meltdown: Explicación de las fallas críticas de seguridad de la CPU

Criptografía de seguridad

Durante los últimos días, hemos cubierto importantes nuevos riesgos de seguridad que afectaron a varios microprocesadores modernos de Intel y, en mucho menor grado, ARM y AMD. La información sobre los ataques y sus soluciones inicialmente se filtró lentamente, pero Google ha adelantado su cronograma para revelar los problemas y algunos proveedores, como AMD, han emitido sus propias declaraciones. Los dos defectos en cuestión se conocen como Spectre y Meltdown, y ambos se relacionan con una de las capacidades centrales de las CPU modernas, conocida como ejecución especulativa.

La ejecución especulativa es una técnica que mejora el rendimiento que prácticamente todas las CPU modernas incluyen en un grado u otro. Una forma de aumentar el rendimiento de la CPU es permitir que el núcleo realice cálculos mayo necesidad en el futuro. La diferencia entre ejecución especulativa y 'ejecución' es que la CPU realiza estos cálculos antes de saber si realmente podrá utilizar los resultados.

Así es como Google Proyecto cero resume el problema: 'Hemos descubierto que se puede abusar del tiempo de caché de datos de la CPU para filtrar información de manera eficiente a partir de una ejecución mal especulada, lo que lleva a (en el peor de los casos) vulnerabilidades de lectura de memoria virtual arbitrarias a través de los límites de seguridad local en varios contextos'.



Meltdown es la variante 3 en BRAZO, AMDy el lenguaje de Google. Spectre representa la variante 1 y la variante 2.

Fusión de un reactor

'En los sistemas afectados, Fusión de un reactor permite a un adversario leer la memoria de otros procesos o máquinas virtuales en la nube sin ningún permiso o privilegio, lo que afecta a millones de clientes y prácticamente a todos los usuarios de una computadora personal ”.

Intel es gravemente golpeado por Meltdown porque sus métodos de ejecución especulativa son bastante agresivos. Específicamente, las CPU de Intel pueden acceder a la memoria del kernel cuando realizan una ejecución especulativa, incluso cuando la aplicación en cuestión se ejecuta en el espacio de la memoria del usuario. La CPU hace comprueba si se produce un acceso a memoria no válido, pero realiza la comprobación después de la ejecución especulativa, no antes. Desde el punto de vista arquitectónico, estas ramas no válidas nunca se ejecutan, están bloqueadas, pero aún así es posible leer datos de los bloques de caché afectados.

ARM define su propia variante 3a de fusión, pero no cree que se requiera una corrección de software. Solo el Cortex-A75 se ve afectado por Meltdown (Variante 3).

Las diversas correcciones a nivel de sistema operativo que se implementan en macOS, Windows y Linux conciernen a Meltdown. El PDF formal de Meltdown señala que los parches de software en los que están trabajando Google, Apple y Microsoft son un buen comienzo, pero que el problema no se puede solucionar por completo en el software. AMD y ARM parecen en gran medida inmunes a Meltdown, aunque el próximo Cortex-A75 de ARM aparentemente se ve afectado.

Espectro

Meltdown es malo, pero Meltdown al menos se puede mejorar en software (con actualizaciones), incluso si hay una penalización de rendimiento asociada. Espectro es el nombre que se le da a un conjunto de ataques que 'implican inducir a una víctima a realizar operaciones especulativas que no ocurrirían durante la ejecución correcta del programa, y ​​que filtran la información confidencial de la víctima a través de un canal lateral al adversario'.

A diferencia de Meltdown, que afecta principalmente a las CPU de Intel, la prueba de concepto de Spectre funciona en contra de todos, incluidos ARM y AMD. Sus ataques se llevan a cabo de manera diferente (una variante apunta a la predicción de rama) y no está claro que haya soluciones de hardware para esta clase de problemas, para nadie.

Qué sucede después

Intel, AMD y ARM no dejarán de utilizar la ejecución especulativa en sus procesadores; ha sido clave para algunas de las mejoras de rendimiento más importantes que hemos visto en la historia de los semiconductores. Pero como deja en claro la extensa documentación de Google, estos ataques de prueba de concepto son grave. Ni Spectre ni Meltdown dependen de ningún tipo de error de software para funcionar. Meltdown se puede resolver mediante el diseño de hardware y la reestructuración del software; Es posible que Spectre no.

Cuando se le contactó para comentar sobre el asunto, el creador de Linux, Linux Torvalds respondió con el tacto que lo ha hecho legendario. 'Creo que alguien dentro de Intel realmente necesita examinar detenidamente su CPU y admitir que tiene problemas en lugar de escribir anuncios publicitarios que digan que todo funciona según lo diseñado', escribe Torvalds. “Y eso realmente significa que todos estos parches de mitigación deben escribirse teniendo en cuenta 'no todas las CPU son una mierda'. ¿O Intel básicamente está diciendo: 'Estamos comprometidos a venderte mierda para siempre y nunca a arreglar nada?' Porque si ese es el caso, tal vez deberíamos empezar a mirar más hacia la gente de ARM64 '.

Parece, en el momento de escribir este artículo, que Intel está desproporcionadamente expuesto a estas fallas de seguridad. Si bien los ataques de estilo Spectre pueden afectar a todas las CPU, Meltdown es bastante específico de Intel. Hasta ahora, las aplicaciones de usuario y los juegos no parecen muy afectados, pero los servidores web y potencialmente otras cargas de trabajo que acceden a la memoria del kernel con frecuencia podrían correr mucho más lento una vez que se hayan parcheado.

Copyright © Todos Los Derechos Reservados | 2007es.com