PMFault attacco che può disabilitare la CPU su alcuni sistemi server

I ricercatori dell'Università di Birmingham, precedentemente nota per aver sviluppato gli attacchi Plundervolt e VoltPillager, hanno identificato una vulnerabilità (CVE-2022-43309) in alcune schede madri dei server che possono disabilitare fisicamente la CPU senza possibilità di successivo ripristino. La vulnerabilità, nome in codice PMFault, può essere utilizzata per danneggiare i server a cui un utente malintenzionato non ha accesso fisico, ma ha accesso privilegiato al sistema operativo, ottenuto, ad esempio, come risultato dello sfruttamento di una vulnerabilità senza patch o dell'intercettazione delle credenziali dell'amministratore.

L'essenza del metodo proposto è utilizzare l'interfaccia PMBus, che utilizza il protocollo I2C, per aumentare la tensione fornita al processore a valori che causano danni al chip. L'interfaccia PMBus è solitamente implementata nel VRM (Voltage Regulator Module), a cui si può accedere attraverso la manipolazione del controller BMC. Per attaccare le schede che supportano PMBus, oltre ai diritti di amministratore nel sistema operativo, è necessario disporre dell'accesso programmatico al BMC (Baseboard Management Controller), ad esempio tramite l'interfaccia IPMI KCS (Keyboard Controller Style), tramite Ethernet o tramite lampeggiare il BMC dal sistema corrente.

Un problema che consente un attacco senza la conoscenza dei parametri di autenticazione nel BMC è stato confermato nelle schede madri Supermicro con supporto IPMI (X11, X12, H11 e H12) e ASRock, ma sono interessate anche altre schede server su cui è possibile accedere a PMBus. Nel corso degli esperimenti, quando la tensione è aumentata a 2.84 volt, due processori Intel Xeon sono stati danneggiati su queste schede. Per accedere al BMC senza conoscere i parametri di autenticazione, ma con accesso root al sistema operativo, è stata sfruttata una vulnerabilità nel meccanismo di verifica del firmware, che ha permesso di scaricare un aggiornamento del firmware modificato sul controller BMC, nonché la possibilità di accesso non autenticato tramite IPMI KCS.

Il metodo di cambio tensione tramite PMBus può essere utilizzato anche per eseguire un attacco Plundervolt, che consente, abbassando la tensione a valori minimi, di danneggiare il contenuto delle celle dati della CPU utilizzata nei calcoli in enclavi Intel SGX isolate e generare errori in algoritmi inizialmente corretti. Ad esempio, se si modifica il valore utilizzato nella moltiplicazione durante il processo di crittografia, l'output sarà un testo cifrato non valido. Potendo chiamare un gestore nell'SGX per crittografare i propri dati, un utente malintenzionato può, provocando errori, accumulare statistiche sulla modifica del testo cifrato di output e recuperare il valore della chiave memorizzata nell'enclave SGX.

Su GitHub sono pubblicati un toolkit per attaccare le schede Supermicro e ASRock, nonché un'utilità per verificare l'accesso a PMBus.

Fonte: opennet.ru

Aggiungi un commento