Cercetătorii de la Universitatea din Birmingham, anterior cunoscuți pentru dezvoltarea atacurilor Plundervolt și VoltPillager, au descoperit o vulnerabilitate (CVE-2022-43309) în unele plăci de bază server, care permite distrugerea fizică a CPU-ului fără posibilitatea de recuperare ulterioară. Vulnerabilitatea, care a primit numele de cod PMFault, poate fi folosită pentru a deteriora servere la care atacatorul nu are acces fizic, dar are acces privilegiat la sistemul de operare, obținut, de exemplu, prin exploatarea unei vulnerabilități neremediate sau prin interceptarea acreditivelor de administrator.
Esenta metodei propuse constă în utilizarea interfeței PMBus, care utilizează protocolul I2C, pentru a crește tensiunea aplicată pe procesor la valori care provoacă deteriorarea chip-ului. Interfața PMBus este de obicei implementată în modulul VRM (Voltage Regulator Module), la care se poate accesa prin manipularea controlerului BMC. Pentru a efectua un atac pe plăci care suportă PMBus, pe lângă privilegii de administrator în sistemul de operare, este necesar un acces software la BMC (Baseboard Management Controller), de exemplu, prin interfața IPMI KCS (Keyboard Controller Style), prin Ethernet sau prin reîncărcarea BMC din sistemul actual.
Existenta problemei care permite efectuarea unui atac fără cunoașterea parametrilor de autentificare în BMC este confirmată în plăcile de bază Supermicro cu suport pentru IPMI (X11, X12, H11 și H12) și ASRock, dar vulnerabilitățile sunt și în alte plăci server, la care se poate obține acces la PMBus. În cadrul experimentelor efectuate, la creșterea tensiunii la 2.84 volți, două procesoare Intel Xeon au fost deteriorate pe aceste plăci. Pentru a accesa BMC fără cunoașterea parametrilor de autentificare, dar având acces root la sistemul de operare, a fost utilizată o vulnerabilitate în mecanismul de verificare a firmware-ului, care a permis încărcarea unei actualizări modificate în controlerul BMC, precum și posibilitatea accesului neautentificat prin IPMI KCS.
Metoda de modificare a tensiunii prin PMBus poate fi folosită și pentru a lansa un atac Plundervolt, care permite, prin scăderea tensiunii la valori minime, să cauzeze deteriorarea conținutului celulelor de date din CPU, utilizate în calcule în enclavele izolate Intel SGX, generând erori în algoritmi inițial corecți. De exemplu, dacă se obține modificarea valorii utilizate în înmulțirea din procesul de criptare, rezultatul va fi un text criptat incorect. Având capacitatea de a accesa procesorul din SGX pentru a-și cripta datele, atacatorul poate, provocând erori, acumula statistici despre modificările textului criptat și recupera valoarea cheii stocate în enclavele SGX.
Uneltele pentru atacul asupra placilor Supermicro și ASRock, precum și utilitarul pentru verificarea accesului la PMBus, sunt publicate pe GitHub.
Sursa: opennet.ro
