Hertzbleed to nowa rodzina ataków typu side-channel atakujących nowoczesne procesory

Zespół badaczy z Uniwersytetów Teksasu, Uniwersytetu Illinois i Uniwersytetu Waszyngtońskiego ujawnił informacje o nowej rodzinie ataków z kanałem bocznym (CVE-2022-23823, CVE-2022-24436) o kryptonimie Hertzbleed. Proponowana metoda ataku opiera się na cechach dynamicznej kontroli częstotliwości we współczesnych procesorach i wpływa na wszystkie obecne procesory Intel i AMD. Potencjalnie problem może objawiać się także w procesorach innych producentów obsługujących dynamiczną zmianę częstotliwości, np. w układach ARM, jednak badanie ograniczyło się do testowania chipów Intela i AMD. Teksty źródłowe z implementacją metody ataku publikowane są na GitHubie (implementacja była testowana na komputerze z procesorem Intel i7-9700).

Aby zoptymalizować pobór mocy i zapobiec przegrzaniu, procesory dynamicznie zmieniają częstotliwość w zależności od obciążenia, co prowadzi do zmian wydajności i wpływa na czas wykonania operacji (zmiana częstotliwości o 1 Hz powoduje zmianę wydajności o 1 cykl zegara na drugi). Podczas badania stwierdzono, że w pewnych warunkach na procesorach AMD i Intel zmiana częstotliwości jest bezpośrednio skorelowana z przetwarzanymi danymi, co np. prowadzi do tego, że czas obliczeń operacji „2022 + 23823” i „2022 + 24436” będą inne. Na podstawie analizy różnic w czasie wykonywania operacji na różnych danych możliwe jest pośrednie odtworzenie informacji wykorzystanych w obliczeniach. Jednocześnie w szybkich sieciach z przewidywalnymi stałymi opóźnieniami atak można przeprowadzić zdalnie, szacując czas realizacji żądań.

W przypadku powodzenia ataku zidentyfikowane problemy pozwolą na ustalenie kluczy prywatnych na podstawie analizy czasu obliczeń w bibliotekach kryptograficznych stosujących algorytmy, w których obliczenia matematyczne wykonywane są zawsze w stałym czasie, niezależnie od charakteru przetwarzanych danych . Biblioteki takie uznano za chronione przed atakami typu side-channel, ale jak się okazało, o czasie obliczeń decyduje nie tylko algorytm, ale także charakterystyka procesora.

Jako praktyczny przykład pokazujący możliwość wykorzystania proponowanej metody zademonstrowano atak na implementację mechanizmu enkapsulacji kluczy SIKE (Supersingular Isogeny Key Encapsulation), który znalazł się w finale konkursu kryptosystemów postkwantowych organizowanego przez USA Narodowy Instytut Standardów i Technologii (NIST) i jest uważany za chroniony przed atakami z kanału bocznego. W trakcie eksperymentu, wykorzystując nowy wariant ataku bazujący na wybranym zaszyfrowanym tekście (stopniowa selekcja polegająca na manipulacji zaszyfrowanym tekstem i uzyskaniu jego odszyfrowania), udało się całkowicie odzyskać klucz użyty do szyfrowania poprzez wykonanie pomiarów z systemu zdalnego, pomimo zastosowanie implementacji SIKE ze stałym czasem obliczeń. Ustalenie 364-bitowego klucza przy użyciu implementacji CIRCL zajęło 36 godzin, a PQCrypto-SIDH 89 godzin.

Firmy Intel i AMD przyznały, że ich procesory są podatne na ten problem, ale nie planują blokowania tej luki poprzez aktualizację mikrokodu, ponieważ wyeliminowanie luki w sprzęcie bez znaczącego wpływu na wydajność sprzętu nie będzie możliwe. Zamiast tego twórcy bibliotek kryptograficznych otrzymują zalecenia dotyczące programowego blokowania wycieku informacji podczas wykonywania poufnych obliczeń. Cloudflare i Microsoft dodały już podobną ochronę do swoich implementacji SIKE, co zaowocowało spadkiem wydajności o 5% w przypadku CIRCL i o 11% w przypadku PQCrypto-SIDH. Innym sposobem na zablokowanie luki jest wyłączenie trybów Turbo Boost, Turbo Core lub Precision Boost w BIOS-ie lub sterowniku, ale taka zmiana spowoduje drastyczny spadek wydajności.

Intel, Cloudflare i Microsoft zostały powiadomione o problemie w trzecim kwartale 2021 r., a AMD w pierwszym kwartale 2022 r., jednak na prośbę Intela publiczne ujawnienie problemu zostało przesunięte na 14 czerwca 2022 r. Obecność problemu potwierdzono w procesorach do komputerów stacjonarnych i laptopów opartych na mikroarchitekturze Intel Core 8-11 generacji, a także w różnych procesorach do komputerów stacjonarnych, mobilnych i serwerów AMD Ryzen, Athlon, A-Series i EPYC (badacze zademonstrowali metodę na procesorach Ryzen z mikroarchitekturą Zen 2 i Zen 3).

Źródło: opennet.ru

Dodaj komentarz