I ricercatori dell'Università di Birmingham, noti in precedenza per lo sviluppo degli attacchi Plundervolt e VoltPillager, hanno scoperto una vulnerabilità (CVE-2022-43309) in alcune schede madri server che consente di disattivare fisicamente la CPU senza possibilità di recupero. La vulnerabilità, soprannominata PMFault, può essere utilizzata per danneggiare i server ai quali l'attaccante non ha accesso fisico, ma per cui ha accesso privilegiato al sistema operativo, ottenuto ad esempio sfruttando una vulnerabilità non corretta o intercettando le credenziali di un amministratore.
La chiave del metodo proposto risiede nell'uso dell'interfaccia PMBus, che utilizza il protocollo I2C, per aumentare la tensione fornita al processore a livelli tali da causare danni al chip. L'interfaccia PMBus è normalmente implementata nel modulo VRM (Voltage Regulator Module), a cui si può accedere tramite manipolazioni con il controller BMC. Per eseguire l'attacco su schede che supportano PMBus, oltre ai diritti di amministratore nel sistema operativo, è necessario avere accesso software al BMC (Baseboard Management Controller), ad esempio tramite l'interfaccia IPMI KCS (Keyboard Controller Style), tramite Ethernet o attraverso un aggiornamento del firmware del BMC dalla attuale sistema.
La presenza di un problema che consente di eseguire un attacco senza conoscere i parametri di autenticazione nel BMC è stata confermata su schede madri Supermicro con supporto IPMI (X11, X12, H11 e H12) e ASRock, ma anche altre schede server che consentono l'accesso a PMBus sono vulnerabili. Durante esperimenti condotti, aumentando la tensione fino a 2.84 volt su queste schede, sono stati danneggiati due processori Intel Xeon. 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 dei firmware, che ha permesso di caricare nel controller BMC un aggiornamento del firmware modificato, oltre alla possibilità di accesso non autenticato tramite IPMI KCS.
Il metodo di variazione della tensione tramite PMBus può essere utilizzato per condurre un attacco Plundervolt, che consente di danneggiare il contenuto delle celle dati nella CPU tramite un abbassamento della tensione a valori minimi, utilizzati nei calcoli all'interno degli enclave isolati Intel SGX e per generare errori in algoritmi inizialmente corretti. Ad esempio, se si riesce a modificare il valore utilizzato durante la moltiplicazione nel processo di crittografia, si otterrà un testo cifrato errato. Avendo la possibilità di accedere al gestore in SGX per crittografare i propri dati, un attaccante può, causando malfunzionamenti, raccogliere statistiche sulle variazioni del testo cifrato in uscita e recuperare il valore della chiave conservata all'interno dell'enclave SGX.
Gli strumenti per condurre attacchi alle schede Supermicro e ASRock, così come un'utility per verificare l'accesso a PMBus, sono stati pubblicati su GitHub.
Fonte: opennet.ru
