PMFault-angrep som kan deaktivere CPU-en på enkelte serversystemer

Forskere fra University of Birmingham, tidligere kjent for å utvikle Plundervolt- og VoltPillager-angrepene, har identifisert en sårbarhet (CVE-2022-43309) i enkelte serverhovedkort som gjør at CPU-en fysisk kan deaktiveres uten mulighet for senere gjenoppretting. Sårbarheten, kodenavnet PMFault, kan brukes til å skade servere som angriperen ikke har fysisk tilgang til, men som har privilegert tilgang til operativsystemet, oppnådd for eksempel ved å utnytte en uopprettet sårbarhet eller avskjære administratorlegitimasjon.

Essensen av den foreslåtte metoden er å bruke PMBus-grensesnittet, som bruker I2C-protokollen, for å øke spenningen som leveres til prosessoren til verdier som forårsaker skade på brikken. PMBus-grensesnittet er vanligvis implementert i en VRM (Voltage Regulator Module), som kan nås gjennom manipulering av BMC-kontrolleren. For å utføre et angrep på tavler som støtter PMBus, må du i tillegg til administratorrettigheter i operativsystemet ha programvaretilgang til BMC (Baseboard Management Controller), for eksempel gjennom IPMI KCS (Keyboard Controller Style) grensesnitt, via Ethernet, eller ved å blinke BMC fra gjeldende system.

Et problem som gjør at et angrep kan utføres uten å kjenne til autentiseringsparameterne i BMC har blitt bekreftet i Supermicro hovedkort med IPMI-støtte (X11, X12, H11 og H12) og ASRock, men andre serverkort som kan få tilgang til PMBus er også berørt. Under eksperimentene, da spenningen ble økt til 2.84 volt på disse kortene, ble to Intel Xeon-prosessorer skadet. For å få tilgang til BMC uten å kjenne til autentiseringsparametrene, men med root-tilgang til operativsystemet, ble det brukt en sårbarhet i fastvareverifiseringsmekanismen, som gjorde det mulig å laste inn en modifisert firmwareoppdatering i BMC-kontrolleren, samt muligheten for uautentisert tilgang via IPMI KCS.

Metoden for å endre spenningen via PMBus kan også brukes til å utføre Plundervolt-angrepet, som tillater, ved å senke spenningen til minimumsverdier, å forårsake skade på innholdet i datacellene i CPU-en som brukes til beregninger i isolerte Intel SGX-enklaver og generere feil i opprinnelig korrekte algoritmer. For eksempel, hvis du endrer verdien som brukes i multiplikasjonen under krypteringsprosessen, vil utdata være en feil chiffertekst. Ved å ha tilgang til en behandler i SGX for å kryptere dataene sine, kan en angriper, ved å forårsake feil, samle statistikk om endringer i utdatachifferteksten og gjenopprette verdien av nøkkelen som er lagret i SGX-enklaven.

Verktøy for å utføre et angrep på Supermicro- og ASRock-kort, samt et verktøy for å sjekke tilgang til PMBus, er publisert på GitHub.

Kilde: opennet.ru

Legg til en kommentar