Forskere fra University of Birmingham, tidligere kendt for at udvikle Plundervolt- og VoltPillager-angrebene, har identificeret en sårbarhed (CVE-2022-43309) i nogle serverbundkort, der gør det muligt for en CPU at blive fysisk deaktiveret uden mulighed for efterfølgende gendannelse. Sårbarheden, kodenavnet PMFault, kan bruges til at beskadige servere, som en hacker ikke har fysisk adgang til, men som har privilegeret adgang til operativsystemet, f.eks. ved at udnytte en ikke-patchet sårbarhed eller opsnappe administratorlegitimationsoplysninger.
Essensen af den foreslåede metode er at bruge PMBus-grænsefladen, som bruger I2C-protokollen, til at øge spændingen, der leveres til processoren, til værdier, der forårsager skade på chippen. PMBus-grænsefladen er normalt implementeret i VRM (Voltage Regulator Module), som kan tilgås gennem manipulation af BMC-controlleren. For at angribe boards, der understøtter PMBus, skal du ud over administratorrettigheder i operativsystemet have softwareadgang til BMC (Baseboard Management Controller), for eksempel via IPMI KCS (Keyboard Controller Style) interface, via Ethernet eller ved at genflashe BMC'en fra det aktuelle system.
Sårbarheden, som tillader et angreb uden kendskab til BMC-godkendelsesparametrene, er blevet bekræftet i Supermicro-bundkort med IPMI-understøttelse (X11, X12, H11 og H12) og ASRock, men andre serverkort, der kan få adgang til PMBus, er også sårbare. Under eksperimenterne, da spændingen blev øget til 2.84 volt, blev to Intel Xeon-processorer beskadiget på disse boards. For at få adgang til BMC'en uden at kende autentificeringsparametrene, men med root-adgang til operativsystemet, blev der brugt en sårbarhed i firmwareverifikationsmekanismen, som gjorde det muligt at indlæse en modificeret firmwareopdatering i BMC-controlleren, samt mulighed for uautoriseret adgang via IPMI KCS.
PMBus spændingsvariationsmetoden kan også bruges til at udføre et Plundervolt-angreb, som gør det muligt, ved at reducere spændingen til minimale værdier, at forårsage korruption af indholdet af dataceller i CPU'en, der bruges til beregninger i isolerede Intel SGX-enklaver og generere fejl i oprindeligt korrekte algoritmer. For eksempel, hvis værdien, der bruges i multiplikationen under krypteringsprocessen, ændres, vil outputtet være forkert chiffertekst. Ved at være i stand til at få adgang til handleren i SGX for at kryptere sine data, kan en angriber, ved at forårsage fejl, akkumulere statistik om ændringen i outputchifferteksten og gendanne værdien af nøglen, der er gemt i SGX-enklaven.
Værktøjer til at udføre et angreb på Supermicro- og ASRock-kort samt et værktøj til at kontrollere adgang til PMBus er udgivet på GitHub.
Kilde: opennet.ru
