Badacze bezpieczeństwa z Google ujawnili poważną lukę w zabezpieczeniach procesorów AMD, nazwaną EntrySign. Dotyczy ona wszystkich generacji architektury Zen – od Zen 1 po najnowsze Zen 4. Luka pozwala atakującym z uprawnieniami administratora lokalnego ominąć mechanizmy weryfikacji kryptograficznej AMD i instalować własne, niestandardowe aktualizacje mikrokodu na podatnych procesorach.
Głównym źródłem problemu jest stosowanie przez AMD funkcji AES-CMAC jako mechanizmu skrótu w procesie weryfikacji podpisu mikrokodu. AES-CMAC, zamiast być bezpieczną funkcją skrótu, jest kodem uwierzytelniania wiadomości, co czyni go nieodpowiednim do tego zastosowania.
EntrySign to jeden z najpoważniejszych błędów w zabezpieczeniach procesorów AMD w ostatnich latach.
Naukowcy odkryli również, że AMD od czasu pierwszej generacji Zen korzystało z publicznie dostępnego klucza AES-CMAC pochodzącego z dokumentacji NIST. Ten krytyczny błąd umożliwił badaczom fałszowanie podpisów mikrokodu i wdrażanie dowolnych modyfikacji, które zmieniają działanie procesora na fundamentalnym poziomie.
Potencjalne konsekwencje ataku
Eksperci z Google pokazali, jak można wykorzystać tę lukę do manipulacji instrukcjami procesora. W jednym z demonstracyjnych ataków zmienili funkcję instrukcji RDRAND tak, aby zawsze zwracała określoną wartość. Może to skutkować kompromitacją systemów zależnych od losowości generowanej przez procesor, np. w kryptografii.
Co więcej, ponieważ mikrokod kontroluje wiele aspektów działania procesora, atak EntrySign może prowadzić do zaawansowanych form przejęcia kontroli nad systemem, w tym obejścia zabezpieczeń sprzętowych i manipulacji pamięcią.
Nowe narzędzie do eksploracji mikrokodu
Aby ułatwić dalsze badania nad EntrySign, zespół bezpieczeństwa Google stworzył i udostępnił „zentool” – zestaw open-source umożliwiający badanie, podpisywanie i wdrażanie niestandardowych poprawek mikrokodu na podatnych procesorach. Narzędzie to pozwala:
- pobierać i analizować mikrokod,
- tworzyć własne poprawki w ograniczonym zakresie,
- podpisywać zmodyfikowany mikrokod kryptograficznie, aby omijał mechanizmy weryfikacyjne AMD.
Zentool może być wykorzystany zarówno do eksploracji podatności, jak i do tworzenia alternatywnych metod zabezpieczeń na wzór tych stosowanych przez Intela.
Reakcja AMD i wprowadzone poprawki
AMD szybko zareagowało na ujawnione zagrożenie, publikując aktualizacje mikrokodu, które naprawiają błąd. Nowe poprawki zastępują podatną procedurę weryfikacyjną bezpieczniejszą funkcją skrótu i wykorzystują AMD Secure Processor do dodatkowego zabezpieczenia procedury walidacji jeszcze przed uruchomieniem głównych rdzeni procesora x86.
Chociaż EntrySign wymaga uprawnień administratora lokalnego i nie utrzymuje się po ponownym uruchomieniu komputera, stanowi poważne zagrożenie w środowiskach, które polegają na silnym zabezpieczeniu sprzętowym, takich jak systemy stosujące technologie SEV-SNP (Secure Encrypted Virtualization) i DRTM (Dynamic Root of Trust for Measurement).
Procesory x86 a aktualizacje mikrokodu
Współczesne procesory x86, zarówno AMD, jak i Intel, wykorzystują mikrokod do implementowania zaawansowanych funkcji i poprawek błędów sprzętowych. To kluczowe rozwiązanie umożliwia poprawianie wad sprzętowych bez potrzeby kosztownej wymiany układów.
W przypadku procesorów AMD Zen aktualizacje mikrokodu są podwójnie weryfikowane – poprzez podpisywanie specjalnymi kluczami AMD i ich weryfikację przy pomocy klucza publicznego zapisanego w procesorze. Luka EntrySign działa, ponieważ AMD wykorzystało podatny na inżynierię wsteczną algorytm AES-CMAC, co pozwoliło na złamanie zabezpieczeń i implementację dowolnych zmian w mikrokodzie.

Pokaż / Dodaj komentarze do: Poważna luka w procesorach AMD Zen, naukowcy z Google odkrywają EntrySign