Me interesó el mismo tema e hice algunas investigaciones preliminares. Intentaré responder algunas de las preguntas, aunque como ingeniero no AMD no puedo estar seguro.
¿Tiene firmware actualizable por software?
Sí, lo hace. Este firmware forma parte de la AGESA (arquitectura de software encapsulada genérica de AMD), un blob binario distribuido desde el firmware de AMD a UEFI. vendedores.
También a coreboot, donde vienen con notas de la versión El PSP La sección menciona los números de versión de PSP para diferentes plataformas. Esto sugiere que son actualizables.
¿Y cómo se asegura ese firmware?
No he podido extraer el código de firmware y no sé cómo está protegido. Una posible indicación sería cómo se protege el firmware de SMU: con un HMAC-SHA en el encabezado, con una clave secreta oculta (consulte la presentación de Rudolf Marek ).
¿Se ha utilizado para la administración remota similar a AMT de Intel?
Es imposible saber para qué se ha utilizado. Sin embargo, mis conclusiones sugieren que la administración remota no es el propósito principal (a diferencia de la ME de Intel). Lo que he encontrado lo hace:
-
La PSP desempeña un papel en el proceso de arranque de la CPU (esto se cita a menudo, por lo que no repetiré).
-
La PSP ofrece la API fTPM (TPM basada en firmware) para la administración de claves privadas.
-
La PSP realiza la gestión de claves para SEV (Secure Encrypted Virtualization API), encriptación de memoria de VM. Esto utiliza una API para el PSP . Para ver las tuercas y tornillos, hay un parche de Linux RFC para introducir soporte.
-
La PSP se puede utilizar para la descarga criptográfica. El soporte para esto aterrizó en el kernel de Linux bajo drivers/crypto/ccp
.
Sin embargo: existe evidencia de que el código se puede cargar dinámicamente,
- Carga de "trustlets" en coreboot. Indicador para un análisis más detallado: biblioteca de PSP en coreboot
- Un comentario "Comando para cargar el binario de la aplicación de confianza en el sistema operativo de PSP" en
drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h
en el kernel de Linux. Esto podría lidiar con un PSP diferente en el GPU, pero como es un código AMD, incluso entonces podría haber superposiciones.
¿Se sabe que tiene su propia pila de red?
No, no se sabe que haya una pila de red en la configuración de stock. Todas las API parecen estar frente a la CPU, no al mundo exterior.
Sabiendo cómo estos procesadores están diseñados con especificaciones vagas de "clientes empresariales" y proveedores de DRM, podría ser posible cargar módulos de administración remota, con la pila de red. Sin embargo, nada de lo que he encontrado lo demuestra de manera concluyente.
¿Se han producido algunas vulnerabilidades conocidas dirigidas a él o alguna investigación pública realizada en su firmware?
Hay una vulnerabilidad pública en la API de fTPM .
No pude encontrar ninguna investigación pública sobre el firmware.
¿Por qué motivos se podría decir que la situación con AMD PSP es "mejor" o "peor" que con Intel ME?
Al menos el procesador de seguridad de AMD no proporciona una API de administración remota lista para usar (hasta donde sabemos), a diferencia de Intel ME. Para convertirlo en una puerta trasera de escucha de red, el software del sistema operativo debe proporcionar más módulos, o incluso comprometerlo.
Sin embargo, como hemos descubierto, es una caja negra con muy poca investigación pública. En la criptografía, un sistema gana confianza después de que a menudo se analiza y no se encuentran vulnerabilidades. La seguridad por oscuridad no es aceptable. Desafortunadamente, nadie aplica a los procesadores de seguridad el principio de Kerckhoffs.