Udało się podejrzeć mikrokod procesorów Intela. Nieznane konsekwencje dla bezpieczeństwa

| Bezpieczenstwo IT
Dmitry Skylarov

Po raz pierwszy w historii udało się zdobyć klucz szyfrujący, którym Intel zabezpiecza poprawki mikrokodu swoich procesorów. Posiadanie klucza umożliwia odszyfrowanie poprawki do procesora i jej analizę, a co za tym idzie, daje wiedzę o luce, którą poprawka ta łata.

W tej chwili trudno jest ocenić rzeczywisty wpływ naszego osiągnięcia na bezpieczeństwo. Tak czy inaczej, po raz pierwszy w historii Intela udało się doprowadzić do sytuacji, gdy strona trzecia może wykonać własny mikrokod w układach tej firmy oraz przeanalizować poprawki dla kości Intela, mówi niezależny badacz Maxim Goryachy. To właśnie on wraz z Dmitrym Sklyarovem i Markiem Ermolovem, którzy pracują w firmie Positive Technolgies, wyekstrahowali klucz szyfrujący z układów Intela. Badacze poinformowali, że można tego dokonać w przypadku każdej kości – Celerona, Pentium i Atoma – opartej na mikroarchitekturze Goldmont.

Wszystko zaczęło się trzy lata temu, gdy Goryachy i Ermolov znaleźli krytyczną dziurę Intel SA-00086, dzięki której mogli wykonać własny kod m.in. w Intel Management Engine. Intel opublikował poprawkę do dziury, jednak jako że zawsze można przywrócić wcześniejszą wersję firmware'u, nie istnieje całkowicie skuteczny sposób, by załatać tego typu błąd.

Przed pięcioma miesiącami badaczom udało się wykorzystać tę dziurę do dostania się do trybu serwisowego „Red Unlock”, który inżynierowie Intela wykorzystują do debuggowania mikrokodu. Dzięki dostaniu się do Red Unlock napastnicy mogli

zidentyfikować specjalny obszar zwany MSROM (microcode sequencer ROM). Wówczas to rozpoczęli trudną i długotrwałą procedurę odwrotnej inżynierii mikrokodu. Po wielu miesiącach analiz zdobyli m.in. klucz kryptograficzny służący do zabezpieczania poprawek. Nie zdobyli jednak kluczy służących do weryfikacji pochodzenia poprawek.

Intel wydał oświadczenie, w którym zapewnia, że opisany problem nie stanowi zagrożenia, gdyż klucz używany do uwierzytelniania mikrokodu nie jest zapisany w chipie. Zatem napastnik nie może wgrać własnej poprawki.

Faktem jest, że w tej chwili napastnicy nie mogą wykorzystać podobnej metody do przeprowadzenia zdalnego ataku na procesor Intela. Wydaje się jednak, że ataku można by dokonać, mając fizyczny dostęp do atakowanego procesora. Nawet jednak w takim przypadku wgranie własnego złośliwego kodu przyniosłoby niewielkie korzyści, gdyż kod ten nie przetrwałby restartu komputera.

Obecnie najbardziej atrakcyjną możliwością wykorzystania opisanego ataku wydaje się hobbistyczne użycie go do wywołania różnego typu zmian w pracy własnego procesora, przeprowadzenie jakiegoś rodzaju jailbreakingu, podobnego do tego, co robiono z urządzeniami Apple'a czy konsolami Sony.

Atak może posłużyć też specjalistom ds. bezpieczeństwa, który dzięki niemu po raz pierwszy w historii będą mogli dokładnie przeanalizować, w jaki sposób Intel poprawia błędy w swoim mikrokodzie lub też samodzielnie wyszukiwać takie błędy.

Intel mikrokod bezpieczeństwo klucz szyfrujący