Ataki GDDRHammer i GeForge, które zakłócają pamięć GPU w celu uzyskania dostępu do całej pamięci CPU

Badacze z kilku uniwersytetów w USA i Australii opracowali dwie ataki klasy Rowhammer – GDDRHammer i GeForge, które umożliwiają uzyskanie zakłócenia poszczególnych bitów w chipach pamięci wideo GDDR podczas wykonywania nieuprzywilejowanego jądra CUDA na GPU NVIDIA. W przeciwieństwie do metody GPUHammer zaprezentowanej w zeszłym roku, nowe ataki nie ograniczają się do wpływu na dane przetwarzane w pamięci GPU, ale umożliwiają pełny dostęp do całej pamięci głównej związanej z przestrzenią adresową CPU. Badacze zademonstrowali exploity, które zapewniają dostęp root do głównego systemu podczas wykonywania nieuprzywilejowanego jądra CUDA na GPU.

Oba ataki osiągają przedwczesną utratę ładunku w niektórych komórkach pamięci wideo, do których atakujący nie mają bezpośredniego dostępu, co prowadzi do zmiany bitów przechowywanych w tych komórkach. Możliwość odczytu i zapisu w pamięci związanej z przestrzenią adresową CPU realizowana jest poprzez ingerencję w działanie alokatora pamięci GPU (cudaMalloc), co narusza izolację pamięci GPU i mapuje wirtualne adresy GPU na dowolne fizyczne adresy pamięci GPU lub CPU.

Ingerencja odbywa się poprzez zakłócenie wartości bitów w pamięci wideo, w której przechowywane są tabele stron pamięci GPU odpowiedzialne za translację wirtualnych adresów na fizyczne. Różnice między atakami GDDRHammer i GeForge sprowadzają się do tego, że metoda GDDRHammer modyfikuje tabelę stron ostatniego poziomu (PT – Last Level Page Table), a metoda GeForge – katalog stron ostatniego poziomu (PD0 – Last Level Page Directory).

Wśród innych rzeczy, określone tabele translacji adresów są używane do organizacji bezpośredniego dostępu GPU do pamięci CPU, dlatego zmiana adresu w tabeli stron GPU na fizyczny adres w pamięci RAM umożliwia czytanie i zapisywanie danych w odniesieniu do głównej pamięci przez magistralę PCIe przy wyłączonym IOMMU (domyślnie wyłączone).

Ataki GDDRHammer i GeForge, które zakłócają pamięć GPU w celu uzyskania dostępu do całej pamięci CPU
Ataki GDDRHammer i GeForge, które zakłócają pamięć GPU w celu uzyskania dostępu do całej pamięci CPU

Udane ataki wykazano na wysokowydajnych profesjonalnych kartach graficznych NVIDIA RTX A6000 opartych na mikroarchitekturze Ampere (cena nowych kart zaczyna się od $6850, a używanych — od $4000) oraz na modelach konsumenckich NVIDIA RTX 3060 ($250-300). Opracowana technika omijania zabezpieczeń przed atakiem Rowhammer w połączeniu z wykorzystaniem dostępnych w GPU środków do równoległego wykonywania operacji pozwoliła zwiększyć częstotliwość występowania zniekształcenia komórek 64-krotnie w porównaniu do wcześniejszych ataków. Jako tymczasowy środek blokujący ataki, zespół może włączyć tryb korekcji błędów ECC (Error Correcting Codes) za pomocą polecenia „nvidia-smi -e 1”, ale wiąże się to z dodatkowymi kosztami i może zostać obejście przy użyciu metod ataku, takich jak ECCploit i ECC.fail.

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 rozpoczęła się gra w „kotka i myszkę” między badaczami bezpieczeństwa a producentami sprzętu — producenci chipów pamięci próbowali zablokować lukę, a badacze znajdowali nowe sposoby jej omijania. 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, nie chroniąc 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 GDDR GPU NVIDIA. Ponadto znaleziono sposoby omijania korekcji błędów ECC i zaproponowano metody przeprowadzania ataków przez sieć oraz za pomocą wykonywania kodu JavaScript w przeglądarkach.

Ź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