AMD Ryzen i spółka jak Intel – z lukami bezpieczeństwa w kanale bocznym

Strona główna Aktualności
fot. Shutterstock.com
fot. Shutterstock.com

O autorze

Abstrakt opublikowany przez naukowców z Graz University of Technology, którzy w przeszłości znaleźli i opisali kilka podatności kanału bocznego w układach Intela, wykazuje, że nie tylko niebiescy miewają tego rodzaju problemy. Nowe ataki Collide+Probe oraz Load+Reload są wymierzone w procesory AMD z lat 2011-2019, w tym najnowsze modele Ryzen oraz Epyc.

Aktualizacja (08.03.2020; 22.00): Firma AMD opublikowała oświadczenie. "Jesteśmy świadomi nowego raportu wskazującego na potencjalne podatności w procesorach AMD, za sprawą których ktoś mógłby manipulować funkcją związaną z pamięcią podręczną i potencjalnie przekazać dane użytkownika w niezamierzony sposób. Badacze łączą tę ścieżkę ze znanym oprogramowaniem lub spekulatywnym wykonaniem kodu z bocznego kanału, których podatność zminimalizowano. AMD uważa, że nie są to nowe ataki bazujące na predykcji" – czytamy w oficjalnym przekładzie dokumentu.

Podobnie jak w przypadku luki ZombieLoad w intelach, również opisanej przez naukowców z Grazu, ataki opierają się na zjawiskach zachodzących w pamięci podręcznej danych poziomu pierwszego (L1D cache). Niemniej, z uwagi na różnice w mikroarchitekturze, bezpośredni wektor zagrożenia jest inny. W przypadku jednostek marki Intel winę ponosi niedostatecznie chroniony bufor wykonywania spekulatywnego, tutaj zaś – sam predyktor.

Tak czy inaczej, obydwa ataki można przypisać do kategorii Spectre-o-podobnych. Stanowią zarazem żywy dowód na to, że czerwonym także potrafi powinąć się noga. Tu ciekawostka – naukowcy twierdzą, że informację o podatnościach wysłali do AMD już 23 sierpnia 2019 r. i pozostaje ona bez odpowiedzi, więc z tego względu dokumenty zostają upublicznione.

Co w trawie szeleści?

Patrząc z technicznego punktu widzenia, winnym całego zamieszania okazuje się sposób, w jaki dotknięte rzeczonymi podatnościami układy AMD zarządzają pamięcią L1D. Aby zoptymalizować zużycie energii i zwiększyć wydajność, producent wprowadził swego czasu dodatkowe moduły przewidywania zwane predyktorami drogi, które pozwalają procesorowi odgadnąć, gdzie znajdują się aktualnie wymagane dane.

Jest to o tyle ważne, że pamięć L1D jest n-drożna, przez co należy rozumieć, iż określony adres może trafić do n miejsc w niej (np. dla Zen 2 jest ich osiem). Predyktor porządkuje przepływ danych, więc nie stanowi widzimisię inżynierów, a istotnie ważne rozwiązanie. Teraz – atak Collide+Probe polega na monitorowaniu pamięci podręcznej w momencie dzielenia czasu rdzenia logicznego. Z kolei atak Load+Reload pozwala wyciągnąć wzorce L1D wprost z predyktora.

Czym to właściwie grozi?

Naukowcy prezentują kilka możliwych scenariuszy zagrożenia. Najbardziej sugestywny wydaje się ten, w którym zmanipulowany JavaScript, uruchomiony w przeglądarce Chrome oraz Firefox, doprowadza do ekstrakcji z rdzenia kluczy kryptograficznych AES. Ale pada też przykład osłabienia entropii w ASLR najnowszego jądra Linux i penetracji chmury danych.

Niemniej, zanim ktokolwiek zacznie wytykać AMD palcem, należy zdać sobie sprawę, że sami autorzy badania nazywają wskazane podatności tylko umiarkowanie groźnymi. Wyciek danych następuje bowiem, jak jest opisywane, w kilkubitowych fragmentach, a co za tym idzie uzyskanie konkretnej informacji to proces długotrwały. Na tyle, że szkodliwe oprogramowanie wykorzystujące podatności musiałoby niepostrzeżenie działać przez wiele godzin, a może nawet dni.

Jest też pewien ciekawy kontekst, a mianowicie jednym ze sponsorów austriackiej grupy badawczej jest nie kto inny jak Intel. Żeby jednak nie wyjść na łowcę teorii spiskowych – wcześniej ten sam zespół wykrył około 10 różnych błędów u niebieskich, niezmiennie czerpiąc od nich środki wymagane do prowadzenia prac. Ciężko zatem byłoby zarzucić im jakieś ideowe przekonania.

© dobreprogramy
s