Ero interessato allo stesso problema e ho fatto alcune ricerche preliminari. Proverò a rispondere ad alcune domande, anche se come ingegnere non AMD non posso esserne certo.
Ha firmware aggiornabile dal software?
Sì, lo fa. Questo firmware fa parte di AGESA (AMD Generated Encapsulated Software Architecture), un blob binario distribuito da AMD a firmware UEFI fornitori.
Anche su coreboot, dove vengono con note sulla versione PSP sezione menziona i numeri di versione PSP per diverse piattaforme. Questo suggerisce che sono aggiornabili.
e in che modo è protetto il firmware?
Non sono stato in grado di estrarre il codice del firmware e non so come sia protetto. Una possibile indicazione potrebbe essere la modalità di protezione del firmware SMU: con un HMAC-SHA nell'intestazione, con chiave segreta nascosta (vedere la presentazione di Rudolf Marek ).
È stato utilizzato per la gestione remota simile all'AMT di Intel?
È impossibile sapere per cosa è stato usato. Tuttavia, i miei risultati suggeriscono che la gestione remota non è lo scopo principale (a differenza di Intel ME). Quello che ho trovato lo fa:
-
La PSP ha un ruolo nel processo di avvio della CPU (questo è spesso citato, quindi non lo ripeterò).
-
PSP offre l'API fTPM (firmware based TPM) per la gestione delle chiavi private.
-
La PSP gestisce la gestione delle chiavi per SEV (Secure Encrypted Virtualization API), la crittografia della memoria VM. Utilizza una API per la PSP . Per vedere i dadi e le viti c'è una RFC per patch Linux per introdurre il supporto.
-
La PSP può essere utilizzata per lo scaricamento crittografico. Supporto per questo è atterrato nel kernel Linux sotto drivers/crypto/ccp
.
Tuttavia: esiste la prova che il codice può essere caricato dinamicamente,
- Caricamento di "trustlet" in coreboot. Puntatore per ulteriori analisi: Libreria PSP in coreboot
- Un commento "Comando per caricare il binario dell'applicazione sicura nel sistema operativo PSP" in
drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h
nel kernel Linux. Questo potrebbe riguardare una PSP diversa sul die GPU, ma dato che è un codice AMD, anche in quel caso potrebbero esserci delle sovrapposizioni.
È noto disporre di un proprio stack di rete?
No, non è noto avere uno stack di rete nella configurazione stock. Tutte le API sembrano essere rivolte alla CPU, non al mondo esterno.
Sapendo come questi processori sono progettati con specifiche vaghe da "clienti aziendali" e fornitori di DRM, potrebbe essere possibile caricare moduli di gestione remota, con stack di rete. Tuttavia, nulla di ciò che ho trovato lo dimostra in modo definitivo.
Ci sono stati ancora exploit noti che lo hanno bersagliato, o ricerche pubbliche fatte sul suo firmware?
C'è una vulnerabilità pubblica nell'API fTPM .
Non sono riuscito a trovare alcuna ricerca pubblica sul firmware.
Su quali basi si potrebbe dire che la situazione con AMD PSP è "migliore" o "peggiore" rispetto a Intel ME?
Almeno il processore di sicurezza AMD non fornisce un'API di gestione remota pronta all'uso (per quanto ne sappiamo), diversamente da Intel ME. Per trasformarlo in una backdoor di ascolto della rete, il software del sistema operativo deve fornire ulteriori moduli, o addirittura comprometterlo.
Tuttavia, come abbiamo scoperto, è una scatola nera con pochissima ricerca pubblica. Nella crittografia un sistema acquisisce fiducia dopo che viene spesso analizzato e non vengono rilevate vulnerabilità. La sicurezza dall'oscurità non è accettabile. Sfortunatamente nessuno gestisce i processori della sicurezza secondo il principio di Kerckhoffs.