Na początek mamy dla Was dwie informacje. Zła jest taka, iż nowa metoda ataku typu side-channel może prowadzić do wycieku danych, a da się ją wykorzystać na prawie każdym nowoczesnym procesorze. Dobra – iż metodę będzie trudno zaimplementować w atakach w realu. O tym, czym jest Collide+Power i kto ją odkrył, przeczytasz w dalszej części artykułu.
Badania przeprowadziła grupa ośmiu pracowników Politechniki w Grazu w Austrii oraz CISPA Helmholtz Center for Information Security w Niemczech. Niektórzy eksperci zaangażowani w badania wskazywali na podobieństwo do znanych luk w zabezpieczeniach: Spectre i Meltdown, a także przywoływali w swojej publikacji kilka innych metod ataku typu side-channel.
Nowy atak, nazwany Collide+Power, został porównany do Meltdown i rodzaju luki o nazwie Microarchitectural Data Sampling (MDS).
Collide+Power to ogólny atak oparty na oprogramowaniu, działający na urządzenia wyposażone w procesory Intel, AMD lub Arm. Ma zastosowanie do dowolnej aplikacji i dowolnego typu danych. Producenci chipów publikują własne porady dotyczące ataku, a do luki został przypisany kod CVE-2023-20583.
Badacze zwrócili uwagę, iż Collide+Power w rzeczywistości nie jest luką w zabezpieczeniach procesora – wykorzystuje fakt, iż niektóre komponenty procesora są zaprojektowane do udostępniania danych z różnych domen bezpieczeństwa.
Hacker może wykorzystać takie współdzielone komponenty, aby połączyć własne dane z danymi z aplikacji użytkownika. Atakujący mierzy zużycie energii procesora przez tysiące iteracji podczas zmiany danych, które kontroluje, co umożliwia mu określenie informacji powiązanych z aplikacjami użytkownika.
Nieuprzywilejowany atakujący – na przykład dzięki złośliwego systemu umieszczonego na docelowym urządzeniu – może wykorzystać atak Collide+Power w celu uzyskania cennych danych, jak np. hasła lub klucze szyfrujące.
Naukowcy zauważyli, iż atak Collide+Power wzmacnia inne sygnały „bocznego kanału mocy”, takie jak te używane w atakach PLATYPUS i Hertzbleed. Wskazali również na podstawową różnicę:
„Wcześniejsze hacki typu power side-channel oparte na oprogramowaniu, takie jak PLATYPUS i Hertzbleed, celowały w algorytmy kryptograficzne i wymagały dokładnej wiedzy na temat algorytmu lub programu ofiary wykonywanego na docelowej maszynie. W przeciwieństwie do tego, Collide + Power jest ukierunkowany na podsystem pamięci procesora, co ogranicza precyzyjną implementację, ponieważ wszystkie programy wymagają w jakiś sposób podsystemu pamięci. Co więcej, każdy sygnał odzwierciedlający zużycie energii może zostać wykorzystany ze względu na podstawowy fizyczny wyciek mocy wykorzystany przez Collide+Power” – wyjaśnili.
Naukowcy opublikowali artykuł szczegółowo opisujący ich pracę, a także udostępnili specjalną stronę internetową Collide+Power, która podsumowuje wyniki – do obejrzenia tutaj.
Na stronie opisane zostały dwa warianty Collide+Power. W pierwszym wariancie, który wymaga włączenia hiperwątkowości, celem ataku są dane powiązane z aplikacją, która stale uzyskuje dostęp do tajnych informacji, takich jak klucz szyfrujący.
„Podczas tego procesu ofiara stale ponownie ładuje klucz tajny do docelowego i współdzielonego komponentu procesora. Atakujący działający na wątku w tym samym fizycznym rdzeniu może teraz użyć Collide+Power, aby wymusić kolizje między tajnymi i kontrolowanymi przez atakującego danymi” – wyjaśnili naukowcy.
Drugi wariant ataku nie wymaga hiperwątkowości ani stałego dostępu celu do tajnych danych.
„Tutaj osoba atakująca wykorzystuje tak zwany gadżet pobierania wstępnego w systemie operacyjnym. Ten gadżet pobierania wstępnego może być używany do wprowadzania dowolnych informacji do współdzielonego komponentu procesora i ponownego wymuszania kolizji danych oraz ich odzyskiwania” – informują eksperci.
Chociaż teoretycznie metoda ataku może mieć znaczące implikacje, w praktyce wskaźniki wycieku danych są stosunkowo niskie i jest mało prawdopodobne, aby została wykorzystana przeciwko użytkownikom końcowym w najbliższym czasie.
Naukowcom udało się osiągnąć szybkość wycieku na poziomie 4,82 bitów na godzinę w scenariuszu, w którym atakowana aplikacja stale uzyskuje dostęp do tajnych informacji, a atakujący może bezpośrednio odczytać zużycie energii procesora za pośrednictwem interfejsu Running Average Power Limit (RAPL), który bezpośrednio informuje o zużyciu energii przez procesor. W tym tempie uzyskanie hasła zajęłoby atakującemu kilka godzin, a klucza szyfrującego – kilka dni.
Naukowcy odkryli, iż w szczególnych okolicznościach osoba atakująca może osiągnąć znacznie wyższą prędkość wycieku danych, do 188 bitów na godzinę.
„Atakujący może osiągnąć szybkość wycieku 188 bitów/h w zależności od docelowej aplikacji i reprezentacji w pamięci. Na przykład, jeżeli klucz lub hasło znajduje się w wierszu pamięci podręcznej wiele razy” – powiedział SecurityWeek Andreas Kogler, jeden z naukowców z politechniki w Grazu zaangażowanych w projekt.
Z drugiej strony w rzeczywistych symulacjach ataków badacze napotkali praktyczne ograniczenia, które znacznie obniżyły współczynniki wycieków – ponad rok na bit przy „dławieniu”. Warto tutaj zauważyć, iż na Kapitanie Hacku mamy całą kampanię poświęconą tego typu włamaniom.
Pomimo stosunkowo niewielkiego ryzyka, jakie w tej chwili stwarza atak, Collide+Power zwraca uwagę na potencjalne problemy i toruje drogę do przyszłych obserwacji. Na koniec warto podkreślić, iż zapobieganie takim kolizjom danych na poziomie sprzętowym nie jest łatwym zadaniem i wymaga przeprojektowania procesorów ogólnego przeznaczenia. Z drugiej strony atakom można zapobiegać, upewniając się, iż atakujący nie są w stanie obserwować sygnałów związanych z zasilaniem – ten typ ograniczania ma zastosowanie do wszystkich włamań po stronie zasilania.