Naukowcy odkryli nowy rodzaj ataku na pamięć RAM – aby chronić, będziesz musiał zmniejszyć wydajność DDR4

Redaktor NetMaster
Redaktor NetMaster
5 min. czytania

Eksperci ds. bezpieczeństwa ze Szwajcarii odkryli nowy rodzaj ataku na pamięć DRAM, przed którym obecnie nie ma zabezpieczenia. Nowy atak nie został jeszcze wdrożony jako exploit i nie został jeszcze wykorzystany przez atakujących, ale producenci pamięci muszą pilnie szukać zabezpieczenia, w przeciwnym razie będzie za późno.

Naukowcy z ETH Zürich pod kierunkiem profesora Onura Mutlu badali tak zwane ataki z błędami odczytu na moduły DRAM. Na dane w komórkach mogą wpływać zarówno przyczyny naturalne, na przykład wnikanie wysokoenergetycznych cząstek kosmicznych, jak i specjalnie zorganizowane wpływy. A jeśli potrafisz pogodzić się ze zjawiskami naturalnymi i nauczyć się im przeciwdziałać za pomocą kodów korekcji błędów, znacznie trudniej jest oprzeć się złośliwym wpływom.

W 2015 roku po raz pierwszy naukowcy wypowiadali się naukowo na temat możliwości ukierunkowanych i pośrednich zmian danych w komórkach pamięci. Atak nazwano RowHammer. Jak sama nazwa wskazuje, seria zapytań uderzyła w konkretny wiersz w banku pamięci, powodując zmianę danych w sąsiednich komórkach.

Mechanizm ataku polegał na tym, że niektóre komórki pamięci były tak przeciążone żądaniami, że wywołane tymi operacjami prądy upływowe zmieniały ładunki w fizycznie zlokalizowanych w pobliżu komórkach. W ten sposób można było na przykład zaatakować chronione obszary pamięci bez bezpośredniego dostępu do nich. Później pokazano, w jaki sposób można wykorzystać atak RowHammer do kradzieży 2048-bitowych kluczy RSA z chronionego obszaru.

Producenci podjęli działania mające na celu ochronę przed atakami RowHammer. W szczególności pamięć generacji DDR4 posiada swego rodzaju licznik ilości dostępów do jednego wiersza – technologię Target Row Refresh czyli TRR, która po przekroczeniu pewnego progu nadpisuje komórki w sąsiednich wierszach w przypadku uszkodzenia bitu w jednym z komórki. I chociaż w 2021 roku wprowadzono wariant ataku RowHammer, który pokonuje ochronę TRR, ogólnie rzecz biorąc, mechanizm ten chroni przed szeroką gamą takich ataków.

Nowy rodzaj ataku RowPress kładzie kres wszystkim dotychczasowym metodom ochrony przed złośliwymi modyfikacjami danych w komórkach pamięci DRAM. Wykorzystuje zupełnie inną zasadę i dlatego jest niebezpieczny. Zamiast długiej serii aktywacji rzędu agresora, jak robi to RowHammer, atak RowPress po prostu utrzymuje ciąg otwarty przez dłużej niż określony czas. Ale wynik jest ten sam – ciąg ofiary, na który nie ma żadnego bezpośredniego wpływu, zmienia stany komórek pamięci na takie, jakich potrzebuje atakujący.

Badacze podkreślają, że nie ma gotowych recept na atak oparty na RowPress. Jednak możliwość zmiany danych w komórkach DRAM za jego pomocą otwiera okno możliwości, do którego atakujący prędzej czy później przedostanie się.

Głównym problemem jest to, że atak RowPress jest tańszy niż RowHammer. Aby to przeprowadzić – zmienić dane w wierszach ofiary – potrzebujesz 10–100 razy mniej aktywacji niż przy użyciu RowHammer. Ten rodzaj ataku jest znacznie trudniejszy do wykrycia. Naukowcy uważają, że aby temu przeciwdziałać, potrzebne będą własne rozwiązania obwodów, co w wielu zastosowaniach zmniejszy średnią wydajność pamięci DRAM o co najmniej 2%, a nawet znacznie więcej.

Czy producenci są gotowi na takie poświęcenia? Samsung odpowiedział, że bada możliwość ochrony modułów pamięci DDR4 przed nowym rodzajem ataku. W chwili pisania tego tekstu firmy Micron i SK Hynix nie przedstawiły żadnych komentarzy.

Badacze przeanalizowali 164 moduły pamięci nowoczesnych komputerów i odkryli, że wszystkie z nich były w takim czy innym stopniu podatne na lukę RowPress. To zupełnie nowy mechanizm oddziaływania na pamięć, który w połączeniu z atakiem RowHammer poszerza listę i zakres zagrożeń. W połączeniu RowPress i RowHammer zapowiadają się bardzo, bardzo niebezpiecznie. Okazało się również, że im wyższa temperatura układów DRAM, tym łatwiejszy jest atak RowPress. Wreszcie atak RowPress jest łatwiejszy, im bardziej zaawansowane są procesy techniczne stosowane do produkcji modułów pamięci.

Teoretycznie możesz uchronić się przed RowPress, po prostu skracając dozwolony czas otwarcia wiersza. Naukowcy wykazali, że czas ten nie powinien przekraczać 30 ms. Jeśli linia pozostaje otwarta dłużej niż ten czas, następuje co najmniej jedno odwrócenie bitu. Producenci pamięci muszą empirycznie znaleźć optymalny czas otwarcia wiersza, aby nie zmniejszyło to znacząco wydajności DRAM i nie spowodowało ataku RowPress.

Udostępnij ten artykuł
Dodaj komentarz