Saltar al contenido
ᐅ HielosMendez – Información digital que te dejara helado 🧊🥶

Defecto de seguridad detectado en CPU de AMD desde 2011

Los investigadores que investigan fallas de seguridad han encontrado un problema con los chips AMD que afecta a todas las CPU que se remontan a Bulldozer. Si esto representa un problema del que prácticamente debería tomar nota es algo que discutiremos a continuación. La cuestión de la financiación de la investigación también se abordará a continuación.

Durante los últimos dos años, ha habido un flujo constante de divulgaciones de seguridad alrededor de las CPU de Intel, enfatizando que algunas de las formas en que estos chips manejan los datos los hacen susceptibles a ataques de canal lateral. Si bien ataques como Spectre y Meltdown han afectado a las CPU de varias empresas, muchos de los ataques de seguimiento han sido específicos de las CPU de Intel. Una vez que quedó claro que Intel estaba teniendo muchos más problemas que las CPU AMD o ARM, comenzó a crecer la narrativa de que los chips Intel habían sido diseñados de una manera fundamentalmente insegura.

Sin embargo, siempre existía otra posibilidad. Siempre fue posible que la razón por la que los investigadores encontraran fallas en los chips Intel, pero no en las CPU AMD, es que estaban enfocando su investigación en las CPU que la gente realmente poseía y usaba. En este relato, el hecho de que las vulnerabilidades de seguridad de Intel no funcionaran en los chips AMD no era realmente una prueba de nada, excepto el hecho de que las CPU AMDSEEAMAZON_ET_135 Ver comercio de Amazon ET
no utilice muchas de las mismas técnicas de microarquitectura para mejorar el rendimiento que hizo Intel. Es posible que AMD haya evitado ciertas técnicas por motivos de seguridad. También es posible que los evitó porque Intel poseía patentes específicas que no estaba dispuesto a licenciar. De cualquier manera, los chips AMD no se han visto afectados por una serie de correcciones.

Si bien AMD ciertamente ha hablado de las características de seguridad en las CPU Ryzen, ha hecho poco o nada por los problemas específicos que Intel ha tenido con Spectre y Meltdown. Esto es deliberado. Ir a la guerra con Intel por el tema de Spectre y Meltdown habría abierto la puerta a que Intel persiguiera a AMD de la misma manera, solo usando el presupuesto de marketing de Chipzilla. No es un gran plan. La divulgación de hoy demuestra por qué. Los autores señalan específicamente que están investigando las CPU AMD porque las CPU AMD se implementan cada vez más en centros de datos en la nube y en sistemas de consumo.

La conclusión de ‘Take A Way’

El equipo de investigadores (no afiliados, la Universidad de Tecnología de Graz y la Universidad de Rennes) encontró una nueva forma de extraer datos de las CPU de AMD, denominada «Take A Way». Hicieron esto mediante la aplicación de una idea nueva y novedosa: estudiar a fondo los procesadores de AMD, en lugar de centrarse en los chips Intel y luego intentar aplicar esas técnicas (más tal vez un poco de experimentación) en las CPU de AMD. Los autores escriben:

En este artículo presentamos los primeros ataques a los predictores de vías de caché. Para este propósito, realizamos ingeniería inversa de la función hash no documentada del predictor de forma de caché L1D de AMD en microarquitecturas desde 2001 hasta 2019. Descubrimos dos funciones hash diferentes que se han implementado en los predictores de forma de AMD. El conocimiento de estas funciones es la base de nuestras técnicas de ataque. En la primera técnica de ataque, Collide + Probe, aprovechamos las colisiones µTag de direcciones virtuales para monitorear los accesos a la memoria de una víctima que comparte el mismo núcleo lógico.

Los cachés de CPU están diseñados para ser norte-way set asociativo, lo que significa que cada dirección de caché puede contener datos de un cierto número de ubicaciones en la memoria. Una caché asociativa de 16 vías tiene 16 ubicaciones de memoria potenciales a las que se asigna. Una mayor asociatividad reduce la probabilidad de que se pierda la caché, ya que existe una mayor probabilidad de que se carguen los datos correctos. Aquí están los investigadores nuevamente:

Desde la microarquitectura Bulldozer [6], AMD usa un predictor de forma de caché L1D en sus procesadores. El predictor calcula un µTag usando una función hash no documentada en la dirección virtual. Este µTag se utiliza para buscar la forma de caché L1D en una tabla de predicción. Por lo tanto, la CPU tiene que comparar la etiqueta de caché de una sola forma en lugar de todas las formas posibles, reduciendo el consumo de energía.

Esta es una optimización que AMD introdujo claramente en un intento por reducir el consumo de energía, y Dios sabe que Bulldozer la necesitaba. Los autores recorren el proceso de ingeniería inversa del ataque y su análisis de los mecanismos de predicción de ramas de AMD.

Cada línea de caché en la caché L1D está etiquetada con un µTag basado en direcciones lineales. Este µTag se calcula utilizando una función hash no documentada, que toma la dirección virtual como entrada. Para cada carga de memoria, el predictor predice la forma de caché de cada carga de memoria en función de este µTag. Como la dirección virtual, y por lo tanto el µTag, se conoce antes que la dirección física, la CPU no tiene que esperar la búsqueda de TLB.

Lo que los investigadores encontraron colectivamente, en conjunto, es que es posible usar varios ataques de caché contra AMD para extraer datos de la CPU. Al menos algunos de estos ataques asumen que ASLR (Address Space Layout Randomization) se ha roto o no está funcionando, pero ASLR, en sí mismo, no es una medida de seguridad a prueba de balas. AMD tiene otras características, como Secure Memory Encryption y Secure Encrypted Virtualization, pero están reservadas para los servidores. No está claro si estas características podrían impedir que ‘Take A Way’ funcione correctamente o no.

Los ataques de canal lateral llegaron para quedarse

Quiero volver a un problema que planteé la semana pasada cuando se descubrió otra falla de seguridad de Intel. El hecho es que, si bien muchos de estos errores podrían usarse para varios propósitos nefastos, nadie los ha visto en malware público.

La definición técnica de un ataque de canal lateral de seguridad informática es «cualquier ataque basado en la información obtenida de la implementación de un sistema informático, en lugar de debilidades en el algoritmo implementado en sí».

Amplíe un poco los conceptos de la definición y verá lo difícil que es evitar este tipo de cosas. Se podría argumentar que usamos canal lateral observaciones cuando miramos a través de las nubes de polvo para ver estrellas que son invisibles a simple vista pero que aún se pueden detectar a través de infrarrojos. Se han dedicado instalaciones de investigación completas y radiotelescopios a recopilar información que los humanos son completamente incapaces de percibir sin estas herramientas altamente especializadas. El universo, como regla general, filtra información al medio circundante, y los humanos se están volviendo bastante buenos extrapolando datos de él.

Todo lo cual quiere decir: los ataques de canal lateral nunca desaparecerán. No pueden, por definición, desaparecer. AMD e Intel pueden asegurar una arquitectura de CPU contra cada vector de ataque conocido por el hombre en el momento de su lanzamiento, pero no puedo saben que su bloqueo no inspirará a nadie a encontrar un defecto o solución que no se había conocido previamente. La seguridad del sombrero blanco es fundamentalmente reactiva. Además, el hecho de que AMD haya adoptado esta solución como una medida de reducción de energía enfatiza que existen compensaciones más allá de la velocidad que deben realizarse al evaluar el riesgo.

Los investigadores de seguridad están entusiasmados con el hecho de que los canales secundarios ofrecen un campo de oportunidades más o menos infinito. Cuando Intel presentó Spectre, dejó en claro que Spectre era un ejemplo de un nuevo tipo de ataque. Dos años y medio después, hemos visto bastantes ataques de «clase Spectre» centrados en Intel. Es lo menos sorprendente del mundo que un análisis detallado de las CPU AMD reflejara el mismo problema en un chip AMD.

¿Qué tan peligrosa es esta?

Según uno de los autores del estudio, básicamente no es:

En términos más generales, desde Meltdown y Spectre, hemos visto una serie de problemas de seguridad que afectaron a las CPU de Intel desde hace años. pero ninguno de esos ataques se ha utilizado en malware de la vida real. Lo más sorprendente del hecho de que alguien encontró un error en una CPU AMD es que la gente tardó 2,5 años en empezar a buscar. El equipo señala que han podido extraer claves secretas de las tablas T de AES, pero también señalan:

Si bien ya se han demostrado los ataques de caché contra implementaciones de tabla T y se han presentado contramedidas apropiadas, por ejemplo, implementaciones de bits en rodajas, sirven como un buen ejemplo para demostrar la aplicabilidad del canal lateral y permitir compararlo con otros cachés existentes canales laterales.

La implicación aquí es que el ataque AES T-table es una especie de prueba teórica de concepto, no un incendio de cinco alarmas, como lo son todos los demás ataques AMD.

Según AMD, no cree que este ataque sea significativo y argumenta que ya está protegido contra parches anteriores. El equipo de investigación no está de acuerdo con que el problema esté solucionado, pero al menos algunos miembros claramente no ven el problema como ningún tipo de amenaza.

¿Quién financió la investigación?

En los pocos días transcurridos desde la primera publicación de este informe, la gente ha notado que parte del trabajo fue financiado por Intel y ha llegado a la conclusión de que todo el estudio fue escrito con una mala fe ridícula. La línea correspondiente en los agradecimientos dice: «Se proporcionaron fondos adicionales mediante generosos obsequios de Intel».

Esto no es evidencia de mal comportamiento. Es una notificación estándar de pantanos que Intel ayudó a financiar esta investigación de seguridad, ya que ayudan a financiar una gran cantidad de investigaciones de seguridad.

El mismo autor que afirma a quemarropa que este problema no es una amenaza importante es el que dice que la notificación de financiación re: Intel es un requisito de las leyes de divulgación. No hay evidencia de que se trate de algún tipo de ataque de Intel a AMD, y aunque los errores en sí son reales, reflejan el hecho de que la gente finalmente está analizando en profundidad las CPU de AMD.