Phoenix — atak na układy DDR5, prowadząca do zniekształcenia zawartości pamięci

Badacze z ETH Zurich we współpracy z inżynierami z firmy Google opracowali nową metodę ataku klasy Rowhammer — Phoenix (CVE-2025-6202), która pozwala na obejście stosowanych w chipach DDR5 mechanizmów ochrony TRR (Target Row Refresh), zapobiegających zniekształceniom komórek pamięci spowodowanym utratą ładunku. Opublikowano prototyp exploita, który umożliwia zmianę zawartości określonego bitu w pamięci RAM i osiągnięcie podwyższenia swoich uprawnień w systemie. Demonstracja ataku została przeprowadzona na PC z procesorem AMD opartym na mikroarchitekturze Zen 4 i pamięcią DDR5 firmy SK Hynix, na którym wykonywano typowe dla komputerów stacjonarnych zadania.

Atak RowHammer pozwala na zniekształcenie zawartości pojedynczych bitów pamięci DRAM poprzez cykliczne odczytywanie danych z sąsiednich komórek pamięci. Ponieważ pamięć DRAM ma formę dwuwymiarowej tablicy komórek, z których każda składa się z kondensatora i tranzystora, wykonywanie ciągłego odczytu tej samej części pamięci prowadzi do fluktuacji napięcia i anomalii, które powodują niewielką stratę ładunku sąsiednich komórek. Jeśli intensywność odczytu jest wysoka, sąsiednia komórka może stracić wystarczającą ilość ładunku, a kolejny cykl regeneracji nie zdąży przywrócić jej pierwotnego stanu, co prowadzi do zmiany wartości przechowywanych w tej komórce danych.

Metoda ataku Rowhammer została zaproponowana w 2014 roku, po czym między badaczami bezpieczeństwa a producentami sprzętu rozpoczęła się gra w „kotka i myszkę” — producenci chipów pamięci starali się zablokować lukę, a badacze znajdowali nowe sposoby jej obejścia. Na przykład w celu ochrony przed RowHammer producenci chipów dodali mechanizm TRR (Target Row Refresh), ale okazało się, że blokuje on zniekształcenie komórek tylko w szczególnych przypadkach, a nie chroni przed wszystkimi możliwymi wariantami ataku. Metody ataku zostały opracowane dla chipów DDR3, DDR4 i DDR5 w systemach z procesorami Intel, AMD i ARM, a także dla pamięci graficznej w kartach NVIDIA. Co więcej, znaleziono sposoby na obejście korekcji błędów ECC oraz zaproponowano warianty przeprowadzenia ataku przez sieć i poprzez wykonanie kodu JavaScript w przeglądarce.

Kluczowym czynnikiem umożliwiającym obejście ochrony przed zniekształceniami komórek pamięci w DRAM jest zrozumienie logiki działania mechanizmu TRR, który w dużej mierze opiera się na ukrywaniu szczegółów realizacji i zasadzie „bezpieczeństwo przez niejasność” (security by obscurity). Aby określić logikę działania i przeprowadzić inżynierię wsteczną, badacze stworzyli specjalne płyty na bazie FGPA Arty-A7 i ZCU104, które pozwalają testować moduły pamięci DDR5 SO-DIMM i RDIMM, identyfikować wzorce dostępu do komórek pamięci, określać, jakie niskopoziomowe polecenia DDR są przesyłane po operacjach programowych z pamięcią, oraz analizować ich reakcję.

Phoenix - atak na chipy DDR5, prowadzący do zniekształcenia zawartości pamięci.

Okazało się, że ochrona w analizowanych chipach DDR5 została zrealizowana bez dodatkowych poleceń zarządzających częstotliwością odświeżania pamięci i opiera się na schematach z zmienną częstotliwością ładowania komórek. Aby skutecznie przeprowadzić atak Rowhammer w tych warunkach, konieczne jest precyzyjne monitorowanie tysięcy operacji aktualizacji komórek. W takich warunkach dotychczasowe metody ataku Rowhammer okazały się nieodpowiednie, a badacze opracowali nową metodę, która samoczynnie koryguje wzorce dostępu w miarę wykrywania pominiętych operacji aktualizacji pamięci podczas ataku.

Metoda okazała się skuteczna i podczas testów pozwoliła na uzyskanie kontrolowanego zniekształcenia bitu pamięci we wszystkich 15 przetestowanych chipach DDR5 firmy SK Hynix (zajmującej 36% rynku DRAM), wyprodukowanych od końca 2021 do końca 2024 roku. Zniekształcenie jednego bitu okazało się wystarczające do stworzenia exploita, który pozwalał na uzyskanie dostępu root w systemie podczas ataku na systemie z CPU AMD Ryzen 7 7700X i pamięcią SK Hynix DDR5 w ciągu 109 sekund. Aby zablokować proponowaną metodę ataku, zaleca się zwiększenie częstotliwości odświeżania pamięci trzykrotnie.

Jako metody eksploatacji, które pozwalają na uzyskanie praw root poprzez zniekształcenie jednego bitu, rozważane są następujące techniki: modyfikacja zawartości wpisów w tabeli stron pamięci (PTE, page table entry) w celu uzyskania uprawnień jądra; uszkodzenie przechowywanego w pamięci klucza publicznego RSA-2048 w OpenSSH (można przedstawić klucz publiczny jako zgodny z kluczem prywatnym atakującego do połączenia z VM ofiary); obejście weryfikacji uprawnień poprzez modyfikację pamięci procesu sudo. maszynie wirtualnej Metoda z PTE okazała się skuteczna dla wszystkich 15 przetestowanych chipów, atak przez RSA udało się przeprowadzić dla 11 chipów, a przez sudo — dla 5.

Phoenix - atak na chipy DDR5, prowadzący do zniekształcenia zawartości pamięci.

W exploicie do umieszczania tabel stron pamięci wykorzystano technikę Rubicon, ujawnioną równocześnie z omawianym atakiem Phoenix. Rubicon manipuluje cechami optymalizacji w systemie alokacji pamięci jądra Linux, umożliwiając uzyskanie alokacji pamięci w obszarach z inną wartością „migratetype”, zarezerwowanych dla operacji uprzywilejowanych. Problem został potwierdzony w jądrze Linux od wersji 5.4 do 6.8, ale teoretycznie podatność obejmuje wszystkie jądra z mechanizmem alokacji pamięci Zoned Buddy Allocator.

Oprócz ułatwienia przeprowadzania ataków typu Rowhammer, technika Rubicon jest również stosowana do poprawy efektywności ataków mikroarchitektonicznych, takich jak Spectre, i uproszczenia ustalania lokalizacji w pamięci poufnych danych, które muszą zostać wyodrębnione przez ujawnienia w wyniku spekulacyjnego wykonania instrukcji. Rubicon pozwala na pominięcie długiego etapu skanowania pamięci i identyfikacji plików, takich jak /etc/shadow. Zamiast tego można natychmiast rozpocząć eksploatację mikroarchitektonicznych luk, dzięki z góry określonemu umiejscowieniu pliku pod znanym adresem fizycznym. Na przykład zastosowanie metody Rubicon przyspieszyło ujawnianie danych w systemie z procesorem Intel i7-8700K z 2698 do 9,5 sekundy (284 razy), a w procesorze AMD EPYC 7252 z 189 do 27,9 sekundy (6,8 razy).

Odtwarzaj wideo

Tymczasem inna grupa badaczy z Uniwersytetu George'a Masona udowodniła zastosowanie ataków typu Rowhammer do kompromitacji systemów AI. Naukowcy zaproponowali metodę OneFlip, pozwalającą na punktową modyfikację zachowania modeli AI poprzez zmianę 1 bitu informacji w pamięci. Dostępny jest przykład kodu do wprowadzenia trojańskiej modyfikacji do sieci neuronowej. Pokazano, jak zmiana jednego bitu może być użyta do zniekształcenia działania modelu autopilota, zmieniając interpretację znaku drogowego „Stop” na znak „Ograniczenie prędkości”. Rozważano również zastosowanie metody do omijania systemów rozpoznawania twarzy. Dla modeli przechowujących współczynniki wagowe w formie 32-bitowych liczb całkowitych, skuteczność przeprowadzenia ataku oszacowano na 99,9% bez wpływu na pierwotne charakterystyki modelu.

Phoenix - atak na chipy DDR5, prowadzący do zniekształcenia zawartości pamięci.


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster