Atak PMFault, który może wyłączyć procesor w niektórych systemach serwerowych

Naukowcy z Uniwersytetu w Birmingham, znani wcześniej z opracowywania ataków Plundervolt i VoltPillager, zidentyfikowali lukę (CVE-2022-43309) w niektórych płytach głównych serwerów, która może fizycznie wyłączyć procesor bez możliwości późniejszego odzyskania. Luka o kryptonimie PMFault może zostać wykorzystana do uszkodzenia serwerów, do których osoba atakująca nie ma fizycznego dostępu, ale ma uprzywilejowany dostęp do systemu operacyjnego, uzyskany np. w wyniku wykorzystania niezałatanej luki lub przechwycenia danych uwierzytelniających administratora.

Istotą proponowanej metody jest wykorzystanie interfejsu PMBus, który wykorzystuje protokół I2C, do podwyższenia napięcia podawanego na procesor do wartości powodujących uszkodzenie chipa. Interfejs PMBus jest zwykle zaimplementowany w VRM (moduł regulatora napięcia), do którego można uzyskać dostęp poprzez manipulację kontrolerem BMC. Aby zaatakować płyty obsługujące PMBus, oprócz uprawnień administratora w systemie operacyjnym, musisz mieć programowy dostęp do BMC (Baseboard Management Controller), na przykład poprzez interfejs IPMI KCS (Keyboard Controller Style), przez Ethernet lub poprzez flashowanie BMC z bieżącego systemu.

Problem umożliwiający atak bez znajomości parametrów uwierzytelniania BMC został potwierdzony na płytach głównych Supermicro z obsługą IPMI (X11, X12, H11 i H12) oraz ASRock, ale dotyczy to również innych płyt serwerowych, które mogą uzyskać dostęp do PMBus. W trakcie eksperymentów, gdy napięcie wzrosło do 2.84 V, na tych płytach uległy uszkodzeniu dwa procesory Intel Xeon. Aby uzyskać dostęp do BMC bez znajomości parametrów uwierzytelniania, ale z dostępem root do systemu operacyjnego, wykorzystano lukę w mechanizmie weryfikacji oprogramowania, która umożliwiła pobranie zmodyfikowanej aktualizacji oprogramowania do kontrolera BMC, a także możliwość nieuwierzytelniony dostęp poprzez IPMI KCS.

Metodę zmiany napięcia poprzez PMBus można wykorzystać także do przeprowadzenia ataku Plundervolt, który pozwala poprzez obniżenie napięcia do wartości minimalnych spowodować uszkodzenie zawartości komórek danych w procesorze wykorzystywanym w obliczeniach w izolowanych enklawach Intel SGX i wygenerować błędy w początkowo poprawnych algorytmach. Na przykład, jeśli podczas procesu szyfrowania zmienisz wartość używaną do mnożenia, wynikiem będzie nieprawidłowy tekst zaszyfrowany. Mając możliwość wywołania procedury obsługi w SGX w celu zaszyfrowania swoich danych, atakujący może, powodując awarie, zgromadzić statystyki dotyczące zmiany wyjściowego tekstu zaszyfrowanego i odzyskać wartość klucza przechowywanego w enklawie SGX.

Zestaw narzędzi do atakowania płyt Supermicro i ASRock, a także narzędzie do sprawdzania dostępu do PMBus zostały opublikowane na GitHubie.

Źródło: opennet.ru

Dodaj komentarz