Intel Software Guard Extensions ( SGX ) es un conjunto de códigos de instrucciones relacionados con la seguridad que están integrados en algunas unidades de procesamiento central (CPU) de Intel modernas . Permiten a nivel de usuario , así como el sistema operativo de código para definir regiones particulares de la memoria, llamados enclaves , cuyos contenidos están protegidos y no pueden leerse bien o guardada por cualquier proceso fuera del enclave en sí, incluyendo los procesos en ejecución en más altos niveles de privilegio . [1] [2]
SGX implica el cifrado por parte de la CPU de una parte de la memoria. El enclave se descifra sobre la marcha solo dentro de la propia CPU, e incluso entonces, solo para el código y los datos que se ejecutan desde el mismo enclave. [3] El procesador protege así el código de ser "espiado" o examinado por otro código. [3] El código y los datos en el enclave utilizan un modelo de amenaza en el que se confía en el enclave, pero no se puede confiar en ningún proceso fuera de él (incluido el sistema operativo y cualquier hipervisor ) y, por lo tanto, todos estos se tratan como potencialmente hostiles. Los contenidos del enclave no pueden ser leídos por ningún código fuera del enclave, salvo en su forma encriptada.[3] Las aplicaciones que se ejecutan dentro de SGX deben estar escritas para ser resistentes al canal lateral ya que SGX no protege contra la medición u observación del canal lateral. [4]
SGX está diseñado para ser útil para implementar computación remota segura , navegación web segura y administración de derechos digitales (DRM). [5] Otras aplicaciones incluyen el ocultamiento de algoritmos patentados y de claves de cifrado . [3]
A partir de las CPUs Tiger Lake y Rocket Lake de la undécima generación de Intel, las CPU de Intel ya no incluyen SGX. [6]
Detalles
SGX se introdujo por primera vez en 2015 con los microprocesadores Intel Core de sexta generación basados en la microarquitectura Skylake .
El soporte para SGX en la CPU se indica en CPUID "Hoja de características extendidas estructuradas", EBX bit 02, [7] pero su disponibilidad para las aplicaciones requiere soporte BIOS / UEFI y habilitación opt-in que no se refleja en bits de CPUID. Esto complica la lógica de detección de características para las aplicaciones. [8]
La emulación de SGX se agregó a una versión experimental del emulador del sistema QEMU en 2014. [9] En 2015, los investigadores del Instituto de Tecnología de Georgia lanzaron un simulador de código abierto llamado "OpenSGX". [10]
Un ejemplo de SGX utilizado en seguridad fue una aplicación de demostración de wolfSSL [11] que la utiliza para algoritmos de criptografía.
La microarquitectura Intel Goldmont Plus (Gemini Lake) también contiene soporte para Intel SGX. [12]
Ataques
Ataque Prime + Probe
El 27 de marzo de 2017, investigadores de la Universidad de Tecnología de Graz de Austria desarrollaron una prueba de concepto que puede tomar claves RSA de enclaves SGX que se ejecutan en el mismo sistema en cinco minutos mediante el uso de ciertas instrucciones de CPU en lugar de un temporizador detallado para explotar la caché. Canales laterales DRAM . [13] [14] Una contramedida para este tipo de ataque fue presentada y publicada por Daniel Gruss et al. en el Simposio de Seguridad de USENIX en 2017. [15] Entre otras contramedidas publicadas, el 28 de septiembre de 2017 se publicó una contramedida para este tipo de ataque, una herramienta basada en compilador, DR.SGX, [16] que afirma tener un rendimiento superior con la eliminación de la complejidad de implementación de otras soluciones propuestas. MMMM
Ataque tipo espectro
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. [17] El ataque Foreshadow , revelado en agosto de 2018, combina la ejecución especulativa y el desbordamiento del búfer para evitar el SGX. [18]
Ataque enclave
El 8 de febrero de 2019, investigadores de la Universidad Tecnológica de Graz de Austria publicaron hallazgos que demostraron que, en algunos casos, es posible ejecutar código malicioso desde el mismo enclave. [19] El exploit implica escanear a través de la memoria del proceso, con el fin de 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. Sin embargo, dado que las soluciones antivirus y antimalware modernas monitorean las llamadas al sistema y la interacción de la aplicación con el sistema operativo, debería ser posible identificar enclaves maliciosos por su comportamiento, y es poco probable que este problema sea una preocupación para el estado de -los antivirus de última generación. Intel emitió una declaración, indicando 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. [20]
Ataque de repetición de MicroScope
Hay una proliferación de ataques de canal lateral que afectan a la arquitectura informática moderna. Muchos de estos ataques miden variaciones leves y no deterministas en la ejecución de algún código, por lo que el atacante necesita muchas, posiblemente decenas de miles, de mediciones para aprender secretos. Sin embargo, el ataque Microscope permite que un sistema operativo malintencionado reproduzca el código un número arbitrario de veces independientemente de la estructura real del programa, lo que permite docenas de ataques de canal lateral. [21]
Plundervolt
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. [22]
LVI
Load Value Injection [23] [24] inyecta datos en un programa con el objetivo de reemplazar el valor cargado de la memoria que luego se usa por un corto tiempo antes de que el error sea detectado y revertido, durante el cual LVI controla el flujo de datos y control.
SGAxe
SGAxe, [25] una vulnerabilidad de SGX, extiende un ataque de ejecución especulativa en la caché, [26] filtrando contenido del enclave. Esto permite que un atacante acceda a claves de CPU privadas que se utilizan para la certificación remota. [27] 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 atestación del enclave de cotización privado de SGX, que están firmadas por Intel. El atacante puede hacerse pasar por máquinas legítimas de Intel firmando cotizaciones de atestación SGX arbitrarias. [28]
Ver también
- Intel MPX
- Espectro-NG
- Entorno de ejecución confiable (TEE)
Referencias
- ^ "Intel SGX para tontos (objetivos de diseño Intel SGX)" . intel.com . 2013-09-26.
- ^ johnm (8 de agosto de 2017). "Detectar correctamente las extensiones de protección de software Intel® (Intel® SGX) en sus aplicaciones" . software.intel.com . Consultado el 15 de febrero de 2019 .
- ^ a b c d "Los investigadores utilizan Intel SGX para poner el malware más allá del alcance del software antivirus - Slashdot" . it.slashdot.org .
- ^ "Intel SGX y canales laterales" . intel.com . 2020-02-28.
- ^ "Detalles de Intel SGX" . intel.com . 2017-07-05.
- ^ https://www.extremetech.com/computing/308049-leak-intels-rocket-lake-to-deliver-new-14nm-cpu-architecture-pcie-4-0
- ^ Referencia de programación de extensiones del conjunto de instrucciones de la arquitectura Intel , Intel, AGOSTO de 2015, página 36 "Hoja de características extendidas estructuradas EAX = 07h, EBX Bit 02: SGX"
- ^ "Detectar correctamente las extensiones de Intel Software Guard en sus aplicaciones" . intel.com . 2016-05-13.
- ^ "Emulación Intel SGX usando QEMU" (PDF) . tc.gtisc.gatech.edu . Consultado el 2 de noviembre de 2018 .
- ^ "sslab-gatech / opensgx" . GitHub . Consultado el 15 de agosto de 2016 .
- ^ "wolfSSL en las FDI" . wolfssl . 2016-08-11.
- ^ "Procesador Intel® Pentium® Silver J5005" . Consultado el 10 de julio de 2020 .
- ^ Chirgwin, Richard (7 de marzo de 2017). "Boffins muestran que SGX de Intel puede filtrar claves criptográficas" . El registro . Consultado el 1 de mayo de 2017 .
- ^ 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 ].
- ^ "Protección de canal lateral de caché sólida y eficiente utilizando memoria transaccional de hardware" (PDF) . USENIX . 2017-08-16.
- ^ Brasser, Ferdinand; Capkun, Srdjan; Dmitrienko, Alexandra; Frassetto, Tommaso; Kostiainen, Kari; Müller, Urs; Sadeghi, Ahmad-Reza (28 de septiembre de 2017). "DR.SGX: endurecimiento de los enclaves SGX contra ataques de caché con asignación al azar de ubicación de datos". arXiv : 1709.09917 . doi : 10.1145 / 3359789.3359809 . S2CID 19364841 . Cite journal requiere
|journal=
( ayuda ) - ^ Código de muestra que demuestra un ataque tipo Spectre contra un enclave Intel SGX.
- ^ Peter Bright - 10 de julio de 2018 9:00 pm UTC (10 de julio de 2018). "Nuevo ataque tipo Spectre utiliza ejecución especulativa para desbordar búferes" . Ars Technica . Consultado el 2 de noviembre de 2018 .
- ^ Schwarz, Michael; Weiser, Samuel; Gruss, Daniel (8 de febrero de 2019). "Práctico Enclave Malware con Intel SGX". arXiv : 1902.03256 [ cs.CR ].
- ^ 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 .
- ^ Skarlatos, Dimitrios; Yan, Mengjia; Gopireddy, Bhargava; Sprabery, Read; Torrellas, Josep; Fletcher, Christopher W. (2019). "MicroScope: habilitación de ataques de reproducción de microarquitectura" . Actas del 46º Simposio Internacional de Arquitectura de Computadores - ISCA '19 . Phoenix, Arizona: ACM Press: 318–331. doi : 10.1145 / 3307650.3322228 . ISBN 978-1-4503-6669-4.
- ^ "Plundervolt roba claves de algoritmos criptográficos" . Blog de Rambus . 2019-12-11 . Consultado el 20 de marzo de 2020 .
- ^ "LVI: Secuestro de ejecución transitoria con inyección de valor de carga" . lviattack.eu . Consultado el 12 de marzo de 2020 .
- ^ "Inyección de valor de carga" . software.intel.com . Consultado el 12 de marzo de 2020 .
- ^ "SGAxe: cómo falla SGX en la práctica" .
- ^ "CacheOut: filtración de datos en CPU Intel a través de desalojos de caché" .
- ^ "Hacia la formalización de la atestación remota basada en la identificación de privacidad mejorada (EPID) en Intel SGX" .
- ^ "Ataques SGAxe y CrossTalk: nueva vulnerabilidad de Intel SGX filtra datos" . Informes de piratería . 2020-06-12 . Consultado el 12 de junio de 2020 .
enlaces externos
- Extensiones Intel Software Guard (Intel SGX) / Extensiones ISA, Intel
- Referencia de programación de Intel Software Guard Extensions (Intel SGX) , Intel, octubre de 2014
- IDF 2015 - Tech Chat: A Primer on Intel Software Guard Extensions , Intel (póster)
- Diapositivas del tutorial de ISCA 2015 para Intel SGX , Intel, junio de 2015
- McKeen, Frank y col. (Intel), Instrucciones Innovadoras y Modelo de Software para Ejecución Aislada // Actas del 2do Taller Internacional sobre Hardware y Soporte Arquitectónico para Seguridad y Privacidad. ACM, 2013.
- Jackson, Alon, (tesis doctoral). La confianza está en las claves del espectador: extender la autonomía y el anonimato de SGX , mayo de 2017.
- Joanna Rutkowska , Reflexiones sobre las próximas extensiones de protección de software de Intel (parte 1) , agosto de 2013
- SGX: lo bueno, lo malo y lo francamente feo / Shaun Davenport, Richard Ford (Instituto de Tecnología de Florida) / Virus Bulletin, 2014-01-07
- Victor Costan y Srinivas Devadas, explicación de Intel SGX , enero de 2016.
- wolfSSL , octubre de 2016.
- La seguridad de Intel SGX para aplicaciones de protección de claves y privacidad de datos / Profesor Yehuda Lindell (Universidad Bar Ilan y Tecnología Unbound), enero de 2018
- La tecnología Intel SGX y el impacto de los ataques de canal lateral del procesador , marzo de 2020
- Cómo la informática confidencial ofrece una experiencia de compra personalizada , enero de 2021