Clicky

CPUs de Intel vulnerables a los nuevos ataques de canal lateral 'SGAxe' y 'CrossTalk'

Categoría: Seguridad
Visitas: 767
CPU Intel

Compromete las operaciones criptográficas que sustentan el enclave SGX

Investigadores de ciberseguridad han descubierto dos ataques distintos que podrían explotarse contra los modernos procesadores Intel para filtrar información confidencial de los entornos de ejecución de confianza (TEE) de la CPU.

Llamado SGAxe, el primero de los defectos es una evolución del ataque CacheOut previamente descubierto (CVE-2020-0549) a principios de este año que permite a un atacante recuperar el contenido del caché L1 de la CPU.

"Al utilizar el ataque extendido contra los enclaves SGX arquitectónicos firmados y provistos por Intel, recuperamos la clave de certificación secreta utilizada para probar criptográficamente la autenticidad de los enclaves en la red, lo que nos permite pasar enclaves falsos como genuinos", dijo un grupo de académicos de la universidad de Michigan.

La segunda línea de ataque, denominada CrossTalk por investigadores de la Universidad VU de Amsterdam, permite la ejecución de código controlado por el atacante en un núcleo de CPU para apuntar a enclaves SGX que se ejecutan en un núcleo completamente diferente y determinar las claves privadas del enclave.

Un TEE, como las Extensiones de protección de software de Intel (SGX), se refiere a un enclave seguro, un área dentro de un procesador que garantiza la confidencialidad e integridad del código y los datos. Ofrece garantías contra la modificación de software y datos confidenciales por parte de actores maliciosos que pueden haber entrado en la máquina (virtual) de destino.

Ataque SGAxe: extracción de datos confidenciales de enclaves SGX

SGAxe se basa en el ataque de ejecución especulativo CacheOut para robar datos SGX. Según los investigadores, si bien Intel tomó medidas para abordar los ataques de canal lateral contra SGX a través de varias actualizaciones de microcódigo y nuevas arquitecturas, las mitigaciones han resultado ineficaces.

Esa vulnerabilidad da como resultado un ataque de ejecución transitoria que puede recuperar claves criptográficas SGX de una máquina Intel totalmente actualizada, en la que confía el servidor de atestación de Intel.

La atestación es un mecanismo ofrecido como parte de SGX que permite a los enclaves probar a terceros que se han inicializado correctamente en un procesador Intel genuino. La idea es garantizar que el software que se ejecuta dentro de la CPU no haya sido alterado y tener una mayor confianza de que el software se está ejecutando dentro del enclave.

"En pocas palabras, usamos CacheOut para recuperar las claves de sellado desde el espacio de direcciones del enclave de citas de producción de Intel", declararon los investigadores. "Finalmente, utilizamos las claves de sellado recuperadas para descifrar el almacenamiento a largo plazo del enclave de citas, obteniendo las claves de certificación EPID de las máquinas".

ataque de canal lateral en CPU Intel

Al romper esta confianza, SGAxe facilita a un atacante la creación de un enclave corrupto que pasa el mecanismo de certificación de Intel, lo que resulta en la pérdida de las garantías de seguridad.

"Con las claves de certificación de producción de la máquina comprometidas, los secretos proporcionados por [el] servidor pueden ser leídos inmediatamente por la aplicación de host no confiable del cliente, mientras que no se puede confiar en la exactitud de todas las salidas supuestamente producidas por enclaves que se ejecutan en el cliente", dijeron los investigadores. "Esto hace que las aplicaciones DRM basadas en SGX sean inútiles, ya que cualquier secreto provisto se puede recuperar trivialmente".

Aunque Intel emitió en enero soluciones para CacheOut a través de una actualización de microcódigo para proveedores OEM y posteriormente a través de actualizaciones de BIOS para usuarios finales, las mitigaciones para SGAxe requerirán parchear la causa raíz detrás de CacheOut (también conocido como L1D Eviction Sampling).

"Es importante tener en cuenta que SGAxe se basa en CVE-2020-0549 que ha sido mitigado en microcódigo (confirmado por los investigadores en su documento actualizado CacheOut) y distribuido al ecosistema", dijo Intel en un aviso de seguridad.

El fabricante de chips también realizará una recuperación de Trusted Compute Base (TCB) para invalidar todas las claves de certificación previamente firmadas.

"Este proceso garantizará que su sistema se encuentre en un estado seguro de modo que pueda volver a utilizar la certificación remota", declararon los investigadores.

Ataque CrossTalk: Fugas de información en núcleos de CPU

CrossTalk (CVE-2020-0543), el segundo exploit SGX, es lo que la Universidad VU llama un ataque MDS (Microarchitectural Data Sampling). Aprovecha un búfer de "puesta en escena" que se puede leer en todos los núcleos de la CPU para montar ataques de ejecución transitorios en los núcleos y extraer la clave privada completa de ECDSA de un enclave seguro que se ejecuta en un núcleo de CPU separado.

"El almacenamiento intermedio de almacenamiento retiene los resultados de instrucciones de ejecución ejecutadas previamente en todos los núcleos de CPU", observaron los investigadores. "Por ejemplo, contiene los números aleatorios devueltos por el DRNG de hardware externo, los hashes de estado de bootguard y otros datos confidenciales".

ataque CrossTalk

Dicho de otra manera, CrossTalk funciona leyendo el búfer de ensayo durante la ejecución transitoria para filtrar datos confidenciales a los que acceden las instrucciones de víctimas ejecutadas previamente.

El hecho de que el búfer retiene la salida de las instrucciones RDRAND y RDSEED hace posible que una parte no autorizada rastree los números aleatorios generados y, por lo tanto, compromete las operaciones criptográficas que sustentan el enclave SGX, incluido el proceso de atestación remota antes mencionado [PDF].

Con las CPU Intel lanzadas de 2015 a 2019, contando las CPU Xeon E3 y E, susceptibles a los ataques, los investigadores de la Universidad VU dijeron que en septiembre de 2018 compartió con Intel una prueba de concepto que demuestra la fuga del contenido del almacenamiento intermedio provisional, seguido de un PoC implementando la filtración RDRAND/RDSEED entre núcleos en julio de 2019.

"Las mitigaciones contra los ataques de ejecución transitorios existentes son en gran medida ineficaces", resumió el equipo. "La mayoría de las mitigaciones actuales dependen del aislamiento espacial en los límites que ya no son aplicables debido a la naturaleza de núcleo cruzado de estos ataques. Las nuevas actualizaciones de microcódigo que bloquean todo el bus de memoria para estas instrucciones pueden mitigar estos ataques, pero solo si no hay problemas similares que aún no se han encontrado".

En respuesta a los hallazgos, Intel abordó ayer la falla en una actualización de microcódigo distribuida a los proveedores de software después de un período de divulgación prolongado de 21 meses debido a la dificultad de implementar una solución.

Para abordar el problema la compañía ha recomendado a los usuarios de los procesadores afectados que actualicen a la última versión del firmware proporcionada por los fabricantes del sistema.