Na konferencji 38C3 zaprezentowano framework FlippyRAM, przeznaczony do wykrywania luk, które pozwalają na ataki typu Rowhammer w celu modyfikacji zawartości pamięci operacyjnej. Kod narzędzia napisany jest w C++ i dystrybuowany na licencji MIT. Aby ułatwić testowanie, stworzono gotowy live-dystrybucyjny obraz (1 GB), który umożliwia przeprowadzenie testów po uruchomieniu z USB Flash, a także obraz kontenera dla Dockera.
Celem projektu jest zachęcenie użytkowników do udziału w badaniach, mających na celu zebranie statystyk na temat tego, jak powszechnie luki typu Rowhammer występują w systemach codziennego użytku. Dane o wynikach testów mogą być przesyłane zarówno z uruchomionego dystrybucji, jak i ręcznie dodawane na stronę badań.
Metoda ataku Rowhammer została zaproponowana 10 lat temu, po czym rozpoczęła się gra w „kotki i myszki” pomiędzy badaczami bezpieczeństwa a producentami sprzętu — producenci chipów pamięci próbowali zablokować te luki, a badacze znajdowali nowe sposoby ich obejścia. Oprócz chipów DDR3 w systemach Intel x86, zidentyfikowano także metody ataków na chipy DDR4 i DDR5, systemy z procesorami AMD i ARM, obejścia mechanizmów korekcji błędów ECC, a także sposoby przeprowadzania ataków przez sieć oraz wykonując JavaScript w przeglądarkach.
Atak RowHammer pozwala na zniekształcenie zawartości poszczególnych bitów pamięci DRAM poprzez cykliczne odczytywanie danych z sąsiednich komórek pamięci. Ponieważ pamięć DRAM jest dwuwymiarową macierzą komórek, z których każda składa się z kondensatora i tranzystora, wykonywanie nieprzerwanego odczytu z tego samego obszaru pamięci prowadzi do fluktuacji napięcia i anomalii, powodujących niewielką utratę ładunku w sąsiednich komórkach. Jeśli intensywność odczytu jest duża, sąsiednia komórka może stracić wystarczająco dużą ilość ładunku, a kolejny cykl regeneracji nie zdąży przywrócić jej pierwotnego stanu, co prowadzi do zmiany wartości danych przechowywanych w tej komórce. Aby chronić przed RowHammer, producenci chipów dodali mechanizm TRR (Target Row Refresh), który blokuje zniekształcenia komórek w szczególnych przypadkach, ale nie chroni przed wszystkimi możliwymi wariantami ataku.
Źródło: opennet.ru
