Un ataque de Spectre engaña al procesador para que ejecute instrucciones por el camino equivocado

Cuando Spectre, una clase de vulnerabilidades críticas que afectan a los procesadores modernos, se reveló públicamente en enero de 2018, los investigadores detrás del descubrimiento dijeron: "Como no es fácil de solucionar, nos perseguirá durante bastante tiempo", explicando la inspiración para nombrar a estos ataques de ejecución especulativa.

De hecho, han pasado más de tres años y no se vislumbra un final para Spectre.

Un equipo de académicos de la Universidad de Virginia y la Universidad de California, San Diego, han descubierto una nueva línea de ataque [PDF] que pasa por alto todas las protecciones actuales de Spectre integradas en los chips, poniendo potencialmente a casi todos los sistemas (computadoras de escritorio, computadoras portátiles, servidores en la nube y teléfonos inteligentes) una vez más en riesgo tal como lo estaban hace tres años.

La revelación de Spectre y Meltdown abrió una especie de compuerta, con infinitas variantes de los ataques que salieron a la luz en los años intermedios, incluso cuando los fabricantes de chips como Intel, ARM y AMD han luchado continuamente para incorporar defensas para aliviar las vulnerabilidades que permiten que el código malicioso lea contraseñas, claves de cifrado y otra información valiosa directamente desde la memoria del núcleo de una computadora.

Spectre, un ataque de canal lateral de sincronización en el núcleo, rompe el aislamiento entre diferentes aplicaciones y aprovecha un método de optimización llamado ejecución especulativa en implementaciones de hardware de CPU para engañar a los programas para que accedan a ubicaciones arbitrarias en la memoria y así filtrar sus secretos.

"Un ataque de Spectre engaña al procesador para que ejecute instrucciones por el camino equivocado", dijeron los investigadores. "Aunque el procesador se recupera y completa correctamente su tarea, los piratas informáticos pueden acceder a datos confidenciales mientras el procesador se dirige por el camino equivocado".

El nuevo método de ataque explota lo que se denomina caché de microoperaciones (también conocido como microoperaciones o μops), un componente en el chip que descompone las instrucciones de la máquina en comandos más simples y acelera la computación, como un canal lateral para divulgar información secreta. Se han integrado cachés de microoperaciones en máquinas basadas en Intel fabricadas desde 2011.

"La defensa sugerida por Intel contra Spectre, que se llama LFENCE, coloca el código confidencial en un área de espera hasta que se ejecutan los controles de seguridad, y solo entonces se permite la ejecución del código confidencial", dijo Ashish Venkat, profesor asistente de la Universidad de Virginia y un coautor del estudio. "Pero resulta que las paredes de esta área de espera tienen oídos, que nuestro ataque explota. Mostramos cómo un atacante puede contrabandear secretos a través del caché de microoperaciones usándolo como un canal encubierto".

En las microarquitecturas AMD Zen, se puede explotar la primitiva de divulgación de microoperaciones para lograr un canal de transmisión de datos encubierto con un ancho de banda de 250 Kbps con una tasa de error de 5,59% o 168,58 Kbps con corrección de errores, detallaron los investigadores.

Intel, en sus pautas para contrarrestar los ataques de tiempo contra implementaciones criptográficas, recomienda adherirse a los principios de programación en tiempo constante, una práctica que es más fácil de decir que de hacer, ya que requiere que los cambios de software por sí solos no puedan mitigar adecuadamente las amenazas que surgen de la ejecución especulativa.

El lado positivo aquí es que explotar las vulnerabilidades de Spectre es difícil. Para protegerse del nuevo ataque, los investigadores proponen vaciar el caché de las microoperaciones, una técnica que compensa los beneficios de rendimiento obtenidos al usar el caché en primer lugar, aprovechar los contadores de rendimiento para detectar anomalías en el caché de microoperaciones y particionar el caché de operaciones en función del nivel de privilegio asignado al código y evitar que el código no autorizado obtenga privilegios más altos.

"La memoria caché de microoperaciones como canal lateral tiene varias peligrosas implicaciones", dijeron los investigadores. "Primero, omite todas las técnicas que mitigan las cachés como canales laterales. En segundo lugar, estos ataques no son detectados por ningún ataque o perfil de malware existente. En tercer lugar, debido a que la caché de microoperaciones se encuentra al frente de la tubería, mucho antes de la ejecución, ciertas defensas que mitigan Spectre y otros ataques de ejecución transitoria al restringir las actualizaciones de caché especulativas siguen siendo vulnerables a los ataques de caché de microoperaciones".

Comments (0)

There are no comments posted here yet

Leave your comments

  1. Posting comment as a guest.
Attachments (0 / 3)
Share Your Location


Inicia sesión para suscribirte en Youtube

Somos apañados (ñ)
Suscribete