stringtranslate.com

Extensiones de protección de software

Intel Software Guard Extensions ( SGX ) es un conjunto de códigos de instrucciones que implementan un entorno de ejecución confiable que están integrados en algunas unidades centrales de procesamiento (CPU) de Intel . Permiten que el código de nivel de usuario y del sistema operativo defina regiones privadas protegidas de la memoria, llamadas enclaves . [1] [2] SGX está diseñado para ser útil para implementar computación remota segura, navegación web segura y administración de derechos digitales (DRM). [3] Otras aplicaciones incluyen la ocultación de algoritmos propietarios y de claves de cifrado . [4]

SGX implica el cifrado por parte de la CPU de una parte de la memoria (el enclave ). Los datos y el código que se originan en el enclave se descifran sobre la marcha dentro de la CPU, [4] lo que los protege de ser examinados o leídos por otro código, [4] incluido el código que se ejecuta en niveles de privilegio más altos , como el sistema operativo y cualquier hipervisor subyacente . [1] [4] [2] Si bien esto puede mitigar muchos tipos de ataques, no protege contra los ataques de canal lateral . [5]

Un cambio de rumbo de Intel en 2021 resultó en la descontinuación de SGX de los procesadores Intel Core de 11.ª y 12.ª generación , pero el desarrollo continúa en Intel Xeon para uso empresarial y en la nube. [6] [7]

Detalles

SGX se introdujo por primera vez en 2015 con los microprocesadores Intel Core de sexta generación basados ​​en la microarquitectura Skylake .

La compatibilidad con SGX en la CPU se indica en el bit 02 de EBX del CPUID "Structured Extended feature Leaf", [8] pero su disponibilidad para las aplicaciones requiere compatibilidad con BIOS / UEFI y habilitación opcional, lo que no se refleja en los bits del CPUID. Esto complica la lógica de detección de características para las aplicaciones. [9]

En 2014 , se agregó la emulación de SGX a una versión experimental del emulador del sistema QEMU . [10] En 2015, los investigadores del Instituto de Tecnología de Georgia lanzaron un simulador de código abierto llamado "OpenSGX". [11]

Un ejemplo de SGX utilizado en seguridad fue una aplicación de demostración de wolfSSL [12] que lo utilizó para algoritmos de criptografía.

La microarquitectura Intel Goldmont Plus (Gemini Lake) también contiene soporte para Intel SGX. [13]

Tanto en la 11.ª como en la 12.ª generación de procesadores Intel Core, SGX aparece como "obsoleto" y, por lo tanto, no es compatible con procesadores de "plataforma cliente". [6] [14] [15] Esto eliminó la compatibilidad con la reproducción de discos Blu-ray Ultra HD en software con licencia oficial, como PowerDVD . [16] [17] [18]

Lista de vulnerabilidades de SGX

Ataque Prime+Probe

El 27 de marzo de 2017, investigadores de la Universidad Tecnológica de Graz en Austria desarrollaron una prueba de concepto que puede obtener claves RSA de enclaves SGX que se ejecutan en el mismo sistema en cinco minutos utilizando ciertas instrucciones de CPU en lugar de un temporizador de grano fino para explotar los canales laterales de la memoria caché DRAM . [19] [20] Daniel Gruss et al. presentaron y publicaron una contramedida para este tipo de ataque en el Simposio de Seguridad USENIX en 2017. [21] Entre otras contramedidas publicadas, una contramedida para este tipo de ataque se publicó el 28 de septiembre de 2017, una herramienta basada en compilador, DR.SGX, [22] que afirma tener un rendimiento superior con la eliminación de la complejidad de implementación de otras soluciones propuestas.

Ataque espectral

El grupo LSDS del Imperial College de Londres mostró una prueba de concepto de que la vulnerabilidad de seguridad de ejecución especulativa de Spectre se puede adaptar para atacar el enclave seguro. [23] El ataque Foreshadow , divulgado en agosto de 2018, combina la ejecución especulativa y el desbordamiento del búfer para eludir el SGX. [24] Un aviso de seguridad y mitigación para este ataque, también llamado L1 Terminal Fault, se emitió originalmente el 14 de agosto de 2018 y se actualizó el 11 de mayo de 2021. [25]

Ataque al enclave

El 8 de febrero de 2019, investigadores de la Universidad Tecnológica de Graz ( Austria ) publicaron hallazgos que mostraban que en algunos casos es posible ejecutar código malicioso desde el propio enclave. [26] El exploit implica escanear la memoria del proceso para reconstruir una carga útil, que luego puede ejecutar código en el sistema. El documento afirma que debido a la naturaleza confidencial y protegida del enclave, es imposible que el software antivirus detecte y elimine el malware que reside en él. Intel emitió un comunicado en el que afirmaba que este ataque estaba fuera del modelo de amenaza de SGX, que no pueden garantizar que el código ejecutado por el usuario provenga de fuentes confiables e instó a los consumidores a ejecutar solo código confiable. [27]

Ataque de repetición de MicroScope

Existe una proliferación de ataques de canal lateral que plagan las arquitecturas informáticas modernas. Muchos de estos ataques miden variaciones leves y no deterministas en la ejecución del código, por lo que el atacante necesita muchas mediciones (posiblemente decenas de miles) para descubrir los secretos. Sin embargo, el ataque MicroScope permite que un sistema operativo malicioso reproduzca el código una cantidad arbitraria de veces independientemente de la estructura real del programa, lo que permite docenas de ataques de canal lateral. [28] En julio de 2022, Intel presentó un parche de Linux llamado AEX-Notify para permitir que el programador del enclave SGX escriba un controlador para este tipo de eventos. [29]

Saqueo

Los investigadores de seguridad pudieron inyectar fallas específicas de tiempo en la ejecución dentro del enclave, lo que resultó en una fuga de información. El ataque se puede ejecutar de forma remota, pero requiere acceso al control privilegiado del voltaje y la frecuencia del procesador. [30] El 14 de agosto de 2018 se emitió originalmente un aviso de seguridad y una mitigación para este ataque, que se actualizó el 20 de marzo de 2020. [31]

LVI

La inyección de valor de carga [32] [33] inyecta datos en un programa con el objetivo de reemplazar el valor cargado desde la memoria, que luego se utiliza durante un breve período antes de que se detecte el error y se revierta, durante el cual LVI controla los datos y el flujo de control. El 10 de marzo de 2020 se emitió originalmente un aviso de seguridad y una mitigación para este ataque y se actualizó el 11 de mayo de 2021. [34]

Hacha SGA

SGAxe, [35] una vulnerabilidad de SGX publicada en 2020, extiende un ataque de ejecución especulativa en la memoria caché, [36] filtrando el contenido del enclave. Esto permite a un atacante acceder a las claves privadas de la CPU utilizadas para la certificación remota. [37] En otras palabras, un actor de amenazas puede eludir las contramedidas de Intel para violar la confidencialidad de los enclaves de SGX. El ataque SGAxe se lleva a cabo extrayendo claves de certificación del enclave de citas privadas de SGX que están firmadas por Intel. El atacante puede hacerse pasar por máquinas Intel legítimas firmando citas de certificación SGX arbitrarias. [38] Un aviso de seguridad y mitigación para este ataque, también llamado Fuga de datos del procesador o Desalojo de caché, se emitió originalmente el 27 de enero de 2020 y se actualizó el 11 de mayo de 2021. [39]

Fuga de ÆPIC

En 2022, los investigadores de seguridad descubrieron una vulnerabilidad en el controlador de interrupciones programable avanzado (APIC) que permite a un atacante con privilegios de administrador/root obtener acceso a claves de cifrado a través del APIC inspeccionando las transferencias de datos de la caché L1 y L2 . [40] Esta vulnerabilidad es el primer ataque arquitectónico descubierto en CPU x86 . Esto se diferencia de Spectre y Meltdown, que utilizan un canal lateral ruidoso . Este exploit afecta actualmente a los microprocesadores Intel Core de décima, undécima y duodécima generación y Xeon Ice Lake. [41] [42]

Extracción de la clave privada

La firma del código se genera con una clave privada que se encuentra únicamente en el enclave. La clave privada se codifica mediante elementos “fuse” en el chip. En el proceso, se queman bits, lo que les otorga el valor binario 0. Esta clave privada no se puede extraer porque está codificada en el hardware. Mark Ermolov, Maxim Goryachy y Dmitry Sklyarov refutaron la afirmación de fiabilidad del concepto SGX en https://github.com/chip-red-pill/glm-ucode#.

Argumentos contra el malware SGX

Se ha debatido durante mucho tiempo si SGX permite la creación de malware superior. En octubre de 2022, investigadores de la Universidad de Oxford publicaron un artículo [43] en el que se analizan las posibles ventajas y desventajas de los atacantes al abusar de SGX para el desarrollo de malware. Los investigadores concluyen que, si bien puede haber vulnerabilidades temporales de día cero que se puedan abusar en el ecosistema SGX, los principios básicos y las características de diseño de los entornos de ejecución confiables (TEE) hacen que el malware sea más débil que un malware en estado salvaje; de ​​lo contrario, los TEE no hacen contribuciones importantes al malware.

Véase también

Referencias

  1. ^ ab "Intel SGX para principiantes (Objetivos de diseño de Intel SGX)". intel.com . 2013-09-26.
  2. ^ ab johnm (8 de agosto de 2017). "Detección adecuada de las extensiones Intel® Software Guard (Intel® SGX) en sus aplicaciones". software.intel.com . Consultado el 15 de febrero de 2019 .
  3. ^ "Detalles de Intel SGX". intel.com . 5 de julio de 2017.
  4. ^ abcd "Los investigadores utilizan Intel SGX para poner el malware fuera del alcance del software antivirus - Slashdot". it.slashdot.org . 12 de febrero de 2019.
  5. ^ "Intel SGX y canales laterales". intel.com . 2020-02-28.
  6. ^ ab "Los nuevos chips Intel no reproducirán discos Blu-ray debido a la descontinuación de SGX" . Consultado el 17 de enero de 2022 .
  7. ^ anrilr (20 de enero de 2022). "Afrontando el desafío: seguridad de datos con Intel Confidential Computing". community.intel.com . Consultado el 20 de abril de 2022 .
  8. ^ Referencia de programación de extensiones del conjunto de instrucciones de la arquitectura Intel, Intel, AGOSTO DE 2015, página 36 "Hoja de función extendida estructurada EAX=07h, bit EBX 02: SGX"
  9. ^ "Cómo detectar correctamente las extensiones Intel Software Guard en sus aplicaciones". intel.com . 13 de mayo de 2016.
  10. ^ "Emulación Intel SGX con QEMU" (PDF) . tc.gtisc.gatech.edu . Consultado el 2 de noviembre de 2018 .
  11. ^ "sslab-gatech/opensgx". GitHub . Consultado el 15 de agosto de 2016 .
  12. ^ "wolfSSL en las FDI". wolfssl . 11 de agosto de 2016.
  13. ^ "Procesador Intel® Pentium® Silver J5005" . Consultado el 10 de julio de 2020 .
  14. ^ "Hoja de datos del procesador Intel Core de 11.ª generación" . Consultado el 15 de enero de 2022 .
  15. ^ "Hoja de datos de los procesadores Intel Core de 12.ª generación" . Consultado el 15 de enero de 2022 .
  16. ^ Mary Stone (21 de enero de 2022). "Intel deja de ofrecer compatibilidad con discos Blu-ray UHD en sus chips para PC más nuevos". whathifi .
  17. ^ "Centro de soporte de CyberLink".
  18. ^ "Centro de soporte de CyberLink". www.cyberlink.com . Consultado el 11 de septiembre de 2024 .
  19. ^ Chirgwin, Richard (7 de marzo de 2017). "Los científicos demuestran que el SGX de Intel puede filtrar claves criptográficas". The Register . Consultado el 1 de mayo de 2017 .
  20. ^ Schwarz, Michael; Weiser, Samuel; Gruss, Daniel; Maurice, Clémentine; Mangard, Stefan (2017). "Extensión de Malware Guard: uso de SGX para ocultar ataques de caché". arXiv : 1702.08719 [cs.CR].
  21. ^ "Protección de canal lateral de caché eficiente y sólida mediante memoria transaccional de hardware" (PDF) . USENIX . 2017-08-16.
  22. ^ Brasser, Ferdinand; Capkun, Srdjan; Dmitrienko, Alexandra; Frassetto, Tommaso; Kostiainen, Kari; Müller, Urs; Sadeghi, Ahmad-Reza (28 de septiembre de 2017). DR.SGX: Fortalecimiento de enclaves SGX contra ataques de caché con aleatorización de ubicación de datos . ACSAC '19: Actas de la 35.ª Conferencia anual sobre aplicaciones de seguridad informática, diciembre de 2019. págs. 788–800. arXiv : 1709.09917 . doi :10.1145/3359789.3359809. S2CID  19364841.
  23. ^ Código de muestra que demuestra un ataque similar a Spectre contra un enclave Intel SGX., 19 de diciembre de 2021
  24. ^ Peter Bright - 10 de julio de 2018 21:00 UTC (10 de julio de 2018). "Un nuevo ataque similar a Spectre utiliza la ejecución especulativa para desbordar los búferes". Ars Technica . Consultado el 2 de noviembre de 2018 .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  25. ^ "CVE - CVE-2018-3615". cve.mitre.org . Consultado el 17 de octubre de 2022 .
  26. ^ Schwarz, Michael; Weiser, Samuel; Gruss, Daniel (8 de febrero de 2019). "Malware de enclave práctico con Intel SGX". arXiv : 1902.03256 [cs.CR].
  27. ^ Bright, Peter (12 de febrero de 2019). "Los investigadores utilizan Intel SGX para poner el malware fuera del alcance del software antivirus". Ars Technica . Consultado el 15 de febrero de 2019 .
  28. ^ Skarlatos, Dimitrios; Yan, Mengjia; Gopireddy, Bhargava; Sprabery, Read; Torrellas, Josep; Fletcher, Christopher W. (2019). "MicroScope". Actas del 46.º Simposio Internacional sobre Arquitectura de Computadores . Isca '19. Phoenix, Arizona: ACM Press. págs. 318–331. doi : 10.1145/3307650.3322228 . ISBN . 978-1-4503-6669-4.
  29. ^ "[PARCHE] x86/sgx: Permitir que los enclaves utilicen la notificación de salida asincrónica". lore.kernel.org . Consultado el 17 de octubre de 2022 .
  30. ^ "Plundervolt roba claves de algoritmos criptográficos". Rambus Blog . 2019-12-11 . Consultado el 2020-03-20 .
  31. ^ "CVE - CVE-2019-11157". cve.mitre.org . Consultado el 17 de octubre de 2022 .
  32. ^ "LVI: secuestro de ejecución transitoria con inyección de valor de carga". lviattack.eu . Consultado el 12 de marzo de 2020 .
  33. ^ "Inyección de valor de carga". software.intel.com . Consultado el 12 de marzo de 2020 .
  34. ^ "CVE - CVE-2020-0551". cve.mitre.org . Consultado el 17 de octubre de 2022 .
  35. ^ "SGAxe". sgaxe.com .
  36. ^ "CacheOut". cacheoutattack.com .
  37. ^ "Hacia la formalización de la certificación remota basada en identificación de privacidad mejorada (EPID) en Intel SGX".
  38. ^ "Ataques SGAxe y CrossTalk: nueva vulnerabilidad de Intel SGX filtra datos". Informes de piratería . 2020-06-12 . Consultado el 2020-06-12 .
  39. ^ "CVE - CVE-2020-0549". cve.mitre.org . Consultado el 17 de octubre de 2022 .
  40. ^ "Intel SGX: no es tan seguro después de todo, según la filtración de ÆPIC". The New Stack . 2022-08-16 . Consultado el 2022-08-29 .
  41. ^ Wilson, Jason R. (11 de agosto de 2022). "ÆPIC Leak es un error arquitectónico de CPU que afecta a las CPU Intel Core de décima, undécima y duodécima generación". Wccftech . Consultado el 29 de agosto de 2022 .
  42. ^ "Fuga de ÆPIC". aepicleak.com . Consultado el 29 de agosto de 2022 .
  43. ^ Küçük, Kubilay Ahmet; et, al. (octubre de 2022). "SoK: Cómo 'no' diseñar su malware TEE de próxima generación". Soporte de hardware y arquitectura para seguridad y privacidad (HASP) 2022. Consultado el 17 de abril de 2023 .

Enlaces externos