Informatyka i programowanieKryptografia i bezpieczeństwo komputerowe

Rowhammer potrafi zmienić bit w pamięci bez zapisywania do jego komórki

Pamięć DRAM ma zapewniać podstawową izolację: odczytywanie jednego adresu nie powinno zmieniać danych zapisanych pod innym. Badania opublikowane w 2014 roku pokazały jednak zjawisko Rowhammer. Bardzo częste aktywowanie tego samego wiersza DRAM może elektrycznie zakłócać komórki w fizycznie sąsiednich wierszach i przyspieszać utratę ich ładunku, prowadząc do bit flips. W badanym zestawie autorzy wywołali błędy w 110 ze 129 modułów DRAM pochodzących od trzech dużych producentów. To niezwykły przypadek, w którym program wykonujący legalne operacje odczytu może wpływać na dane, do których nie wykonuje normalnego zapisu — granica logicznej pamięci zderza się z fizyką układu.

DRAM przechowuje bity jako ładunek, który trzeba odświeżać

Komórki dynamicznej pamięci nie są idealnymi abstrakcyjnymi pudełkami. Ich stan opiera się na niewielkim ładunku elektrycznym, który z czasem zanika i dlatego pamięć jest okresowo odświeżana. Wraz ze zmniejszaniem wymiarów technologicznych komórki stają się gęściej upakowane, a elektryczne oddziaływania między nimi trudniej całkowicie wyeliminować. Rowhammer wykorzystuje właśnie te fizyczne zależności.

Problem wywołuje wielokrotne aktywowanie sąsiedniego wiersza

Badacze pokazali, że częste otwieranie i zamykanie tego samego wiersza może zwiększać upływ ładunku w pobliżu. Jeśli sąsiednia komórka straci go wystarczająco dużo przed odświeżeniem, zapisany bit może zmienić wartość. Program nie wykonuje instrukcji zapisu do tej komórki. Z perspektywy modelu pamięci „dotyka” innego adresu, a błąd powstaje przez właściwość fizycznego urządzenia.

Skala zjawiska była zbyt duża, by uznać je za egzotyczny defekt jednej kości

Oryginalna praca testowała 129 modułów z trzech głównych firm i uzyskała błędy w 110. Autorzy nie tylko pokazali istnienie efektu, ale szeroko scharakteryzowali zależność od liczby aktywacji, lokalizacji i parametrów DRAM. Późniejsza literatura rozwinęła zarówno techniki ataku, jak i mechanizmy obronne. Retrospektywa Onura Mutlu podkreśla, że Rowhammer stał się długotrwałym problemem badawczym dla sprzętu, architektury i bezpieczeństwa.

Błąd niezawodności stał się problemem bezpieczeństwa

Sam bit flip mógłby być traktowany jako wada pamięci. Bezpieczeństwo pojawia się wtedy, gdy atakujący potrafi wpływać na miejsce i czas błędu tak, aby zmienić dane o znaczeniu dla uprawnień lub struktur systemowych. To ważny wzorzec: cecha sprzętu projektowana jako problem reliability może po znalezieniu sterowalnego mechanizmu zmienić się w security vulnerability. Izolacja pamięci zakłada bowiem nie tylko kontrolę adresów, ale także brak niezamierzonych efektów fizycznych między komórkami.

Rowhammer pokazuje granicę abstrakcji „pamięć to tablica bajtów”

Programiści zwykle widzą RAM jako ogromną tablicę adresów z jednoznacznymi regułami odczytu i zapisu. Sprzęt pod spodem jest analogowym układem elektrycznym podlegającym zakłóceniom, upływom i kompromisom produkcyjnym. Dobre abstrakcje pozwalają ignorować tę fizykę przez większość czasu, ale bezpieczeństwo często znajduje właśnie miejsca, w których abstrakcja przecieka. W Rowhammerze legalny wzorzec dostępu na jednej stronie granicy zmienia fizyczny stan po drugiej.

Adres programu nie mówi wprost, który fizyczny wiersz DRAM leży obok którego

Rowhammer jest trudny również dlatego, że oprogramowanie operuje na adresach wirtualnych i fizycznych, podczas gdy rzeczywiste rozmieszczenie banków, rzędów i komórek pamięci jest szczegółem kontrolera oraz modułu DRAM. Badania nad zjawiskiem musiały więc nie tylko pokazać, że zakłócenie istnieje, ale także scharakteryzować wzorce dostępu prowadzące do aktywowania odpowiednich wierszy. Producenci i projektanci odpowiedzieli m.in. zmianami częstotliwości odświeżania, mechanizmami wykrywania intensywnej aktywacji i dodatkowymi zabezpieczeniami kontrolera, a kolejne prace badały sposoby obchodzenia poszczególnych mitigacji. Retrospektywa RowHammer opisuje wieloletni wyścig między nowymi wariantami a obroną. To przypomina, że granica bezpieczeństwa może zależeć od topologii fizycznej, której zwykły program nawet nie widzi w swoim modelu pamięci.

Obrona przed Rowhammerem stała się wyścigiem między nowymi układami pamięci a nowymi wzorcami dostępu

Najprostszą intuicją jest częstsze odświeżanie komórek albo wykrywanie wierszy aktywowanych wyjątkowo intensywnie. W praktyce mechanizmy takie mają koszt energetyczny i wydajnościowy, a dokładne zachowanie DRAM różni się między generacjami. Retrospektywa badań nad RowHammerem opisuje, jak kolejne zabezpieczenia sprzętowe motywowały badaczy do poszukiwania nowych wzorców aktywacji, które nadal wywołują zaburzenia. To ważne, bo podatność nie jest statycznym „bugiem w modelu pamięci z 2014 roku”. Jest przykładem długotrwałego napięcia pomiędzy gęstością komórek, wydajnością, niezawodnością i bezpieczeństwem. Gdy technologia fizyczna się zmienia, trzeba ponownie sprawdzać założenie, że logicznie oddzielne adresy są także wystarczająco odizolowane elektrycznie.

#bezpieczeństwo sprzętowe#bit flip#DRAM#pamięć#Rowhammer
Źródła i weryfikacja
Otrzymuj codzienne losowe ciekawostki