AMD EPYC "CryptoNow!"

Las conversaciones sobre la protección del hardware de la información del usuario con los procesadores AMD EPYC comenzaron hace dos años. Por lo tanto, no se puede decir que la protección de la memoria y los entornos virtuales, disponibles hoy en día en los procesadores de servidores AMD con arquitectura Zen, fue una completa sorpresa. En Geeks / Habré, puede leer sobre esto en el anuncio de EPYC , en el blog de ESET NOD32 y en las presentaciones de AMD David Kaplan en Internet. CodeRush describió en detalle la arquitectura de tales protecciones en el artículo " Sobre la seguridad de UEFI ", por lo que estoy especialmente agradecido. Realmente fue una mirada hacia el futuro.

ASUS KNPP-D3    AMD EPYC 7551   Secure Encryption

La placa de servidor ASUS KNPP-D3 con dos procesadores AMD EPYC 7551 en el paquete RS700A-E9-RS4 admite un conjunto de tecnologías de protección criptográfica patentadas de Advanced Micro Devices

Cuando nos fue posible explorar la placa base ASUS KNPP-D32 con dos EPYC 7551, surgió la tarea de determinar las características de la protección criptográfica implementada allí. No menos importante porque es difícil imaginar cualquier otro uso de dicha plataforma, excepto en la forma de un albergue para máquinas virtuales. Toda esta granja, empaquetada en una caja de montaje en rack de 1U con un terabyte de memoria de aproximadamente 64 núcleos de procesador, es una buena ilustración de la alta proporción de capacidades informáticas. (Con un régimen suave de consumo de electricidad, por cierto).

Click para ampliar


AMD ve la protección de datos del usuario como una tarea triple, que consiste en Cifrado de memoria segura, Virtualización cifrada segura y Cifrado de contexto de proceso . El segundo volumen del documento del Manual del Programador de Arquitectura AMD64 establece que puede averiguar si la plataforma está lista ejecutando la instrucción CPUID. Su función 8000001Fh en los registros EAX, EBX, ECX y EDX ofrece una imagen completa del estado de la protección criptográfica. Utilizaremos la utilidad JavaCrossPlatformCPUID .

Click para ampliar


Aunque no podemos encontrar la función deseada entre los marcadores, el resultado de su trabajo se puede ver en el volcado: el registro EAX contiene 0000000Fh. P.534 del documento anterior nos permite afirmar que todos los modos de seguridad en la plataforma ASUS RS700A-E9 son normales.

EAX   CPUID 8000001F

Sin embargo, no puedes entrar en detalles. AIDA64 informa un resultado similar. Es cierto que la información sobre la compatibilidad con el modo de cifrado de memoria segura no está disponible por alguna razón para los usuarios de este programa, otro argumento a favor del diagnóstico directo a través de las funciones de CPUID.

Click para ampliar

Ahora, los servicios en la nube simplemente están obligados a garantizar a los residentes del departamento comunitario que sus máquinas virtuales están completamente aisladas unas de otras, así como del ojo curioso de la plataforma host. Por cierto, los optimistas ni siquiera pueden encriptar sus tareas de invitado: junto con las encriptadas, las máquinas virtuales sin encriptar también se llevan bien (hasta ahora, no tenía otra opción: tenía que ser "como todos los demás": o bien).

Lo pequeño es evaluar la sobrecarga de la criptografía: independientemente del rendimiento del procesador, los algoritmos de cifrado siempre han creado y continúan creando sobrecarga sensible. El sitio web techpowerup , citando a AMD, afirma un aumento en la latencia durante las operaciones de memoria en 7-8 nseg, lo que conduce a una disminución del 1.5% en el rendimiento ESPECÍFICO.

Varias fuentes afirman que AMD proporciona la capacidad de activar y desactivar SEV-ES, y esto se puede hacer en una sesión del sistema operativo sin reiniciar. ¿Cómo se ve el subsistema de protección criptográfica y qué influencia tiene para el usuario?

Click para ampliar

En Windows Server 2016, el Administrador de dispositivos proporciona información sobre dos conjuntos de dispositivos: el procesador de seguridad de plataforma AMD K17 3.0 (ID del dispositivo = 1456h) y el coprocesador criptográfico AMD (ID del dispositivo = 1468h). Como cada procesador tiene cuatro nodos de procesador, se detectan un total de ocho PSP y CCP en el sistema. El sistema operativo no informa nada sobre los recursos de estos procesadores. Sin embargo, se sabe que están conectados al bus PCI Express en modo de capacidad total (x16).

Click para ampliar

Aunque las PSP / CCP no están disponibles en el software, puede deshabilitarlas deshabilitándolas en el Administrador de dispositivos. Incluso puede deshabilitar el enlace AMD PCI que los conduce (para PSP, estos son buses con ID = 145Ah, para CCP, buses con ID = 1455h), o puede deshabilitar los puentes de puertos de uso general (GPP) PCIe interno AMD K17. Hay 16 de ellos en el sistema para proporcionar tráfico entre nodos y procesadores criptográficos autorizados. Lo que, sin embargo, no afecta el rendimiento de la plataforma, a juzgar por el Cinebench R15. La dispersión de resultados en el rango de 4700 ... 5100 dependiendo de las fases de la luna niega el proceso de recopilación de métricas.

Click para ampliar


En realidad, el sistema operativo puede deshabilitar Platform Security Processor 3.0, si necesita ahorrar electricidad. Aquí hay una pregunta tonta en los ojos: ¿puedes hacer eso?

Click para ampliar

Conclusión


Las iniciativas de protección de datos de usuarios de hardware de AMD no serán necesarias hasta que Microsoft, Oracle, Red Hat y VMware admitan sus productos de software. El cifrado puede ser útil el mismo día que el software correspondiente esté disponible. De lo contrario, ¡todo esto será como una historia con 3DNow!

Source: https://habr.com/ru/post/es407805/


All Articles