PMFault-attack som kan inaktivera processorn på vissa serversystem

Forskare vid University of Birmingham, tidigare kända för att utveckla attackerna Plundervolt och VoltPillager, har identifierat en sårbarhet (CVE-2022-43309) i vissa servermoderkort som fysiskt kan inaktivera CPU:n utan möjlighet till efterföljande återställning. Sårbarheten, med kodnamnet PMFault, kan användas för att skada servrar som en angripare inte har fysisk åtkomst till, men som har privilegierad åtkomst till operativsystemet, till exempel som ett resultat av att utnyttja en oparpad sårbarhet eller avlyssning av administratörsuppgifter.

Kärnan i den föreslagna metoden är att använda PMBus-gränssnittet, som använder I2C-protokollet, för att öka spänningen som tillförs processorn till värden som orsakar skador på chipet. PMBus-gränssnittet är vanligtvis implementerat i VRM (Voltage Regulator Module), som kan nås genom manipulering av BMC-styrenheten. För att attackera kort som stöder PMBus måste du, förutom administratörsrättigheter i operativsystemet, ha programmatisk åtkomst till BMC (Baseboard Management Controller), till exempel via IPMI KCS (Keyboard Controller Style), via Ethernet, eller via blinkar BMC från det aktuella systemet.

Ett problem som tillåter en attack utan kunskap om autentiseringsparametrarna i BMC har bekräftats i Supermicro-moderkort med IPMI-stöd (X11, X12, H11 och H12) och ASRock, men även andra serverkort där PMBus kan nås påverkas. Under experimentets gång, när spänningen ökade till 2.84 volt, skadades två Intel Xeon-processorer på dessa kort. För att komma åt BMC utan att känna till autentiseringsparametrarna, men med root-åtkomst till operativsystemet, användes en sårbarhet i firmwareverifieringsmekanismen, vilket gjorde det möjligt att ladda ner en modifierad firmwareuppdatering till BMC-styrenheten, samt möjligheten att oautentiserad åtkomst via IPMI KCS.

Spänningsändringsmetoden via PMBus kan också användas för att utföra en Plundervolt-attack, som gör det möjligt att, genom att sänka spänningen till minimivärden, orsaka skada på innehållet i datacellerna i CPU:n som används i beräkningar i isolerade Intel SGX-enklaver och generera fel i initialt korrekta algoritmer. Om du till exempel ändrar värdet som används i multiplikationen under krypteringsprocessen, kommer utdata att vara en ogiltig chiffertext. Genom att kunna anropa en hanterare i SGX för att kryptera sina data, kan en angripare, genom att orsaka misslyckanden, samla statistik om ändringen i den utgående chiffertexten och återställa värdet på nyckeln lagrad i SGX-enklaven.

En verktygslåda för att attackera Supermicro- och ASRock-kort, samt ett verktyg för att kontrollera åtkomst till PMBus, publiceras på GitHub.

Källa: opennet.ru

Lägg en kommentar