Intel promete cifrado de memoria completo en las próximas CPU

En el evento del Día de la Seguridad de Intel el martes, la compañía presentó su visión presente y futura de características enfocadas en la seguridad de su hardware.

Anil Rao y Scott Woodgate de Intel abrieron su presentación con una discusión sobre el presente y el futuro de las extensiones de protección de software de Intel (SGX), pero la cobertura de los planes de la compañía para llevar el cifrado de memoria completo a las futuras CPU de Intel. Intel fue más interesante.

Extensiones de protección de software

Intel SGX, anunciado en 2014 y lanzado con la microarquitectura Skylake en 2015, es una de las primeras tecnologías de cifrado de hardware diseñadas para proteger áreas de memoria de usuarios no autorizados, incluidos los propios administradores de sistemas. SGX es un conjunto de instrucciones de CPU x86_64 que permite que un proceso cree un «enclave» dentro de la memoria que está encriptada por hardware. Los datos almacenados en el enclave cifrado se descifran solo en la CPU, e incluso entonces, solo se descifran a petición de instrucciones ejecutadas dentro del enclave mismo.

Como resultado, incluso alguien con acceso root (administrador del sistema) al sistema en ejecución no puede leer o alterar de manera útil los enclaves protegidos por SGX. El propósito de esto es permitir que el procesamiento de datos confidenciales y de alto riesgo sea posible de manera segura en sistemas compartidos, como hosts de VM en la nube. Permitir que este tipo de carga de trabajo se mueva de los centros de datos de propiedad y operación local a las nubes públicas a gran escala permite una operación menos costosa, así como un tiempo de actividad, una escalabilidad potencialmente mejor e incluso un menor consumo de energía.

El SGX de Intel tiene varios problemas. El primero y más obvio es que es propietario y específico del proveedor: si diseña una aplicación para usar SGX para proteger su memoria, esa aplicación se ejecutará solo en procesadores Intel. La segunda es que debe diseñar su aplicación alrededor de SGX; no puede simplemente encender un botón y encenderlo.

Publicidad

Los enclaves SGX también tienen un tamaño limitado. Todos los enclaves de un sistema deben caber en el caché de página del enclave, que actualmente está limitado a 128 MiB en total, no a 128 MiB por proceso. Obviamente, no se pueden instalar sistemas operativos completos, ni siquiera la mayoría de los contenedores, en solo 128 MiB, lo que significa que los desarrolladores de aplicaciones deben tomar decisiones cuidadosas y extremadamente difíciles sobre qué partes de la memoria son «confidenciales» y cuáles no. .

Danny Harnik de IBM probó varias funciones dentro de enclaves SGX, incluido sgx_sha256_msg, proporcionado por la API Intel sgxsdk.

Danny Harnik de IBM probó varias funciones dentro de enclaves SGX, incluida sgx_sha256_msg, proporcionada por la API Intel sgxsdk.

Finalmente, existen impactos potencialmente graves en el rendimiento por el uso de SGX. Danny Harnik, de IBM, probó el rendimiento de SGX de manera bastante exhaustiva en 2017 y descubrió que muchas cargas de trabajo comunes podrían ver fácilmente una reducción del rendimiento del 20 al 50 por ciento cuando se ejecutan dentro de enclaves SGX.

La prueba de Harnik no fue 100 por ciento perfecta, como dejó en claro; en particular, en algunos casos, su compilador parecía producir código menos optimizado con SGX que sin él. Incluso si alguien decide elegir estos casos como «probablemente solucionables», sirven para resaltar una queja anterior: la necesidad de desarrollar cuidadosamente aplicaciones específicamente para casos de uso de SGX, no simplemente convertirlas en un cambio hipotético «sí, encriptar esto, por favor» .

Cifrado de memoria completa

Esto parece un anuncio para procesadores AMD Epyc, hasta que se vuelve amarillo brillante. "soluciones disponibles hoy" box y darse cuenta de que estamos hablando de Intel.

Por el momento, las extensiones de protección de software son la única oferta de Intel disponible. Pero después de discutir el uso de SGX en el mundo real, Rao pasó a las futuras tecnologías de Intel, específicamente al cifrado de memoria completa. Intel se refiere a su versión de cifrado de memoria completa como TME (cifrado de memoria total) o MKTME (cifrado de memoria total de claves múltiples). Desafortunadamente, estas características son vaporware en este momento. Aunque Intel envió un gran conjunto de parches del kernel de Linux en mayo pasado para habilitar estas funciones, todavía no hay procesadores del mundo real que las ofrezcan.

Sin procesadores compatibles con TME o MKTME disponibles, tiene sentido explicar los conceptos de tecnología básica utilizando tecnologías similares que existen en la actualidad: SME (Secure Memory Encryption) y Secure Encrypted Virtualization (SEV) de AMD. Por razones obvias, esto no fue parte de la presentación de Intel, pero es la única forma de hablar sobre conceptos en un sentido del mundo real ya implementados.

Anuncio En 2016, AMD propuso una nueva tecnología para proteger la memoria de usuarios no autorizados, llamada SME (Secure Memory Encryption). A diferencia del SGX de Intel, SME permitiría encriptar y desencriptar cualquier página en la RAM en el hardware. Cualquier página marcada para cifrado se cifraría con una clave AES efímera de 128 bits, generada mediante hardware RNG (generador de números aleatorios) en cada reinicio. Estas claves efímeras son accesibles solo para el hardware de la CPU y no pueden exponerse a los usuarios (incluidos los usuarios raíz o administradores del sistema).

SME, como SGX, requiere cierta planificación por parte de los desarrolladores. Sin embargo, un subconjunto más restringido de SME, llamado TSME (Cifrado de memoria seguro y transparente) permitiría cifrar toda la RAM del sistema utilizando SME. Como característica de todo el sistema, TSME está habilitado o deshabilitado en el BIOS del sistema (o UEFI) y no requiere una planificación especial por parte de los desarrolladores de aplicaciones; una vez habilitado, todo está encriptado y eso es todo. decir al respecto.

En esta presentación de HASP 2018, los investigadores de la Wayne State University y la University of Houston demostraron un impacto insignificante en el rendimiento al permitir la virtualización cifrada segura de AMD.

El enfoque de AMD para el cifrado de memoria también implica un impacto de rendimiento mucho menor que Intel SGX. En una presentación de 2018, los investigadores de la Wayne State University y la Universidad de Houston mostraron que la mayoría de las cargas de trabajo no se ven afectadas por la virtualización de cifrado seguro (un subconjunto de la SME de AMD que permite el cifrado completo de VM, con una clave separada utilizada para cada máquina virtual cubierta), a pesar de los impactos significativos en el rendimiento con SGX de Intel.

Dado que TME y MKTME de Intel son, por ahora, todavía hipotéticos, es demasiado pronto para hacer predicciones audaces sobre cuál será su impacto en el rendimiento. Pero con el ejemplo de AMD ante nosotros, parece razonable esperar que tengan poco impacto real en el rendimiento en uso, a diferencia de SGX.

Conclusiones

Este es probablemente un momento difícil para hacer presentaciones interesantes sobre la hoja de ruta de seguridad de Intel. Las vulnerabilidades de pronóstico especulativo han afectado a los procesadores Intel considerablemente más que a los de sus competidores, y la compañía también ha sido derrotada significativamente en el mercado por tecnologías de cifrado de memoria de hardware más rápidas y fáciles de usar.

Rao y Woodgate pusieron cara de valiente, hablando de cómo SGX se ha utilizado y se está utilizando en Azure. Pero parece evidente que el enfoque de todo el sistema para el cifrado de memoria ya implementado en las CPU Epyc de AMD, e incluso en algunas de sus líneas de escritorio, tendrá un impacto duradero mucho mayor. Las diapositivas de Intel sobre su próxima criptografía de memoria completa están etiquetadas como «innovaciones», pero parecen mucho más actualizadas que la competencia ya establecida.

Imagen de lista de Intel Corporation