
Badacze bezpieczeństwa wykazali, że Fizyczna wrażliwość Rowhammera stanowi poważne zagrożenie dla nowoczesnych jednostek przetwarzania grafiki, charakteryzujących się dwoma kompletnymi łańcuchami ataków, zwanymi GeForce i GDDRHammerW przeciwieństwie do wstępnych badań, którym udało się zaledwie wywołać minimalne zmiany bitowe w celu pogorszenia wnioskowania sieci neuronowych, te nowe typy ataków osiągają absolutne bezpieczeństwo na poziomie systemu.
Podczas uruchamiania standardowego, nieuprzywilejowanego kodu na procesorze graficznym NVIDIA, Atakujący może uszkodzić wewnętrzne struktury pamięci urządzenia, aby uzyskać nieograniczony dostęp do odczytu i zapisu w całej pamięci fizycznej procesora hosta. Ta manipulacja krzyżowa pozwala atakującemu na eskalację uprawnień i uzyskanie dostępu do konsoli superużytkownika w głównym systemie operacyjnym.
Unikanie łagodzenia i wzorców
Sukces tych ataków zależy od zastosowania niespotykanych dotąd technik. Aby ominąć ograniczenia związane z odświeżaniem wiersza docelowego (TRR) wdrożone w pamięci GDDR6. Badania GeForge wprowadza nierównomierne wzorce obejmujące wiele interwałów aktualizacjizmieniając intensywność i kolejność aktywacji wierszy pamięci, aby uniknąć wykrycia sprzętu.
Aby zastosować mapy adresów fizycznych uzyskane poprzez profilowanie offline do dynamicznego przydzielania pamięci, Opracowali technikę kotwiczenia stron, która wykorzystuje nieliniowe przypisanie z adresów fizycznych do zestawów pamięci podręcznej L2.
Jednocześnie, Zespół GDDRHammer odkrył, że rzędy pamięci DRAM na kartach graficznych Są one zgodne z niemonotonicznym układem geometrycznymPozwoliło im to na skonstruowanie wysoce efektywnych wzorców dwustronnych, mimo że adresy fizyczne wydawały się odległe. Przypisując poszczególne zadania banków pamięci różnym multiprocesorom strumieniowym i częściowo synchronizując wykonywanie, udało im się zmaksymalizować wydajność aktywacji, jednocześnie omijając próbkowanie bezpieczeństwa.
Podejścia te przyniosły ogromne rezultaty; Metoda GeForge spowodowała 1,171 zmian bitowych w konsumenckiej karcie RTX 3060 i 202 w profesjonalnej karcie RTX A6000, podczas gdy GDDRHammer osiągnął średnio 1,032 zmian na gigabajt, co stanowi 64-krotny wzrost w porównaniu z poprzednimi próbami.
Manipulowanie tablicami stron i masaż pamięci
Aby wykorzystać te zakłócenia elektryczne jako broń, Atakujący mają na celu hierarchiczne tabele stron zarządzane przez jednostkę zarządzania pamięcią procesora GPU.Ponieważ kontroler zazwyczaj przydziela te struktury w chronionych lub nieprzewidywalnych regionach, ataki polegają na wykorzystaniu technik manipulowania pamięcią, aby wymusić umieszczenie wpisów w tablicy stron w lokalizacjach fizycznych, o których atakujący wie, że są podatne na ataki.
Atak GDDRHammer wykorzystuje współdzielone mapowania pamięci do zapełnienia alokatora, skracając odstęp między obszarami tablicy stron i pamięcią kontrolowaną przez użytkownika. GeForge koncentruje się szczególnie na uszkadzaniu wpisów w katalogu stron 0 (PD0).
Poprzez staranne przydzielanie i zwalnianie fragmentów ujednoliconej pamięci wirtualnej (United Virtual Memory), atakujący kieruje tworzenie nowych struktur PD0 bezpośrednio do konkretnej 4-kilobajtowej podstrony. Po umieszczeniu ich w odpowiednim miejscu, proces modyfikuje bit w fizycznym wskaźniku adresu wpisu, przekierowując go do sfałszowanej tabeli stron, w całości kontrolowanej przez złośliwy kod.
Eskalacja uprawnień poprzez magistralę PCIe
El Kontrola nad tablicą stron karty graficznej przekłada się bezpośrednio na kontrolę nad centralnym procesorem komputera.Wpisy w tablicy stron NVIDIA zawierają określone pole otwierające, które określa, czy powiązany adres fizyczny znajduje się w pamięci lokalnej urządzenia czy w pamięci systemu hosta. Zmieniając to pole w sfałszowanym wpisie, jakakolwiek operacja późniejsze czytanie lub pisanie Dane generowane przez procesor graficzny są przesyłane przez magistralę PCIe bezpośrednio do fizycznej pamięci RAM. gospodarza.
Bezpośredni dostęp do pamięci omija jednostkę zarządzania pamięcią procesora oraz zabezpieczenia przed zapisem i kopiowaniem w systemie operacyjnym. W swojej praktycznej demonstracji, badacze Wykorzystali tę możliwość, aby nadpisać segment kodu biblioteki standardowej C bezpośrednio w pamięci hosta. Dokładniej rzecz ujmując, wstrzyknęli kod maszynowy do funkcji zamykającej dziennik, który następnie został wykonany przez legalny program z podwyższonymi uprawnieniami, co natychmiast przyznało atakującemu pełny dostęp do systemu.
Występowanie sprzętu i środki zaradcze
LaObszerne testy potwierdziły, że luka ta jest powszechna w obecnym sprzęcie.Badanie GDDRHammer objęło 25 kart graficznych wysokiej klasy i wykazało, że 16 z 17 modeli RTX A6000 opartych na architekturze Ampere było podatnych na te ataki. Chociaż pamięć z kodem korekcji błędów (ECC) może zmniejszyć niezawodność ataku poprzez korekcję błędów pojedynczych bitów, funkcja ta jest domyślnie wyłączona w wielu kartach do stacji roboczych ze względu na spadek wydajności i jest całkowicie nieobecna w modelach dostępnych na rynku masowym.
Najbardziej skuteczna natychmiastowa obrona przeciwko kompromisowi hosta jest zastosowanie jednostki zarządzania pamięcią wejścia-wyjścia (IOMMU). Po włączeniu IOMMU ogranicza bezpośredni dostęp GPU do wyraźnie autoryzowanych ramek strony hosta, neutralizując fałszywe mapowanie otwarte. Oba zespoły badawcze zauważają jednak, że IOMMU jest często domyślnie wyłączony w komercyjnych systemach Linux ze względu na kompatybilność, co naraża znaczną liczbę maszyn na ten wektor ataku.
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.