Kilka tygodni temu dzieliliśmy się tutaj na blogu nowiną o Luka w zabezpieczeniach EntrySign co pozwala na obejście mechanizmu weryfikacji podpisu cyfrowego podczas aktualizacji mikrokodu w procesorach AMD.
Lo que Początkowo wydawało się, że to błąd ograniczony do generacji Zen 1–Zen 4, Teraz dotyczy to także najnowszych układów, takich jak Ryzen 9000, EPYC 9005, Ryzen AI 300 i Ryzen 9000HX. Ta wada umożliwia, w pewnych warunkach, modyfikację mikrokodu procesora poprzez ominięcie mechanizmu weryfikacji podpisu cyfrowego, co może mieć poważne konsekwencje dla bezpieczeństwa systemów wirtualnych.
Źródło problemu jest w niewłaściwe użycie algorytmu CMAC podczas procesu walidacji mikrokodu. AMD tradycyjnie używa prywatnego klucza RSA aby cyfrowo podpisać treść tych aktualizacjioraz klucz publiczny dołączony do poprawki w celu weryfikacji autentyczności mikrokodu w momencie załadunku. Jednakże skrót klucza publicznego, który powinien zagwarantować tę integralność, jest generowany przy użyciu AES-CMAC, kryptograficznego MAC, który w przeciwieństwie do solidnej funkcji skrótu nie daje żadnych gwarancji odporności na kolizje.
Ten projekt, dodano do tego fakt, że AMD użyło wspólnego klucza szyfrowania dla wszystkich procesorów od Zen 1, pozwoliło badaczom na wydobycie klucza z dowolnego zainfekowanego procesora i ponownie wykorzystać do modyfikowania łatek mikrokodu na innych komputerach. Co zaskakujące, klucz ten pokrywa się z publicznym przykładem praktyk szyfrowania NIST SP 800-38B, co świadczy o nieostrożnym stosowaniu dobrych praktyk kryptograficznych.
Fałszywy mikrokod, prawidłowe podpisy
Z tej słabości wynika, Naukowcom udało się wygenerować klucze publiczne, które generują ten sam skrót, co oryginalny klucz AMD., które oni umożliwiło tworzenie fałszywych poprawek, które były w stanie ominąć kontrolę integralności. Kolizje te uzyskuje się poprzez wstawianie dodatkowych bloków na końcu mikrokodu, pozornie losowych, ale starannie obliczonych, dzięki czemu podpis cyfrowy pozostaje nienaruszony. W ten sposób można zmienić wewnętrzne zachowanie procesora bez uruchamiania mechanizmów ostrzegawczych.
Proces ten został ułatwiony dzięki narzędziom analitycznym takie jak Zentool, zestaw narzędzi typu open source umożliwiający badanie mikrokodu AMD i przygotowywanie zmodyfikowanych poprawek. Aby przeprowadzić atak tego typu, atakujący musi mieć uprawnienia Ring 0, czyli dostęp do najwyższego poziomu systemu operacyjnego. Jest to wykonalne w środowiskach wirtualnych, jeśli hiperwizor zostanie naruszony lub poprzez niezabezpieczone konfiguracje technologii, takich jak VT-x lub AMD-V.
Wpływ na AMD SEV i bezpieczną wirtualizację
Oprócz manipulacji mikrokodem, EntrySign stwarza bezpośrednie zagrożenie dla technologii AMD SEV (Secure Encrypted Virtualization) i jej rozszerzenia SEV-SNP (Secure Nested Paging) – technologii mających na celu zapewnienie integralności i poufności maszyn wirtualnych nawet w obliczu ataków z hiperwizora lub systemu hosta. Ta luka w zabezpieczeniach umożliwia ingerencję w chronione rejestry procesora, modyfikację zagnieżdżonych tabel stron i zmianę zachowania systemów gości, co w znacznym stopniu narusza ich bezpieczeństwo.
Reakcja AMD i środki łagodzące
W tej sytuacji Firma AMD rozpoczęła dystrybucję aktualizacji mikrokodu, które naprawiają ten błąd.lub, choć w systemach wykorzystujących SEV-SNP konieczna jest także aktualizacja oprogramowania układowego modułu SEV, co wymaga aktualizacji BIOS-u. Firma wysłała już producentom nowy pakiet Wersja ta nosi nazwę ComboAM5PI 1.2.0.3c AGESA, ale szacuje się, że udostępnienie ostatecznych poprawek użytkownikom końcowym może zająć tygodnie, a nawet miesiące.
Oprócz tego, Inżynierowie AMD zaproponowali poprawkę dla jądra Linux, która blokuje ładowanie mikrokodu. nieoficjalny. Środek ten ma na celu zapobieganie rozpowszechnianiu zmodyfikowanych poprawek przez osoby trzecie, np. tych tworzonych przez entuzjastów z wyodrębnionych fragmentów BIOS-u. W międzyczasie zdecydowanie zaleca się poczekać na oficjalne aktualizacje BIOS-u i powstrzymać się od instalowania niezweryfikowanych wersji.
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w następujący link.