На конференцията 38C3 беше представен фреймворк FlippyRAM, предназначен за проверка на уязвимости, позволяващи атаки от клас Rowhammer за модификация на съдържанието на оперативната памет. Кодът на инструмента е написан на C++ и се разпространява под MIT лиценз. За улесняване на тестването е създаден готов live-дистрибутив (1 ГБ), който позволява проверка при зареждане от USB Flash, а също и образ на контейнер за Docker.
Целта на проекта е да привлече потребители да участват в изследване, опитващо се да събере статистика относно проявата на уязвимости от клас Rowhammer в системи, използвани в ежедневието. Данните от тестовете могат да бъдат изпратени както от заредения дистрибутив, така и ръчно добавени на сайта на изследването.
Методът на атака Rowhammer беше предложен преди 10 години, след което между изследователите по сигурността и производителите на хардуер започна игра на „котка и мишка“ — производителите на паметни чипове се опитваха да блокират уязвимостта, а изследователите намираха нови начин за заобикаляне. Освен чиповете DDR3 на системи Intel x86, бяха открити методи за атака на чипове DDR4 и DDR5, системи с процесори AMD и ARM, варианти за заобикаляне на корекция на грешки ECC, начини за извършване на атака по мрежа и чрез изпълнение на JavaScript код в браузъра.
Атаката RowHammer позволява изкривяване на съдържанието на отделни битове памет в DRAM чрез циклично четене на данни от съседни клетки. Тъй като паметта DRAM представлява двумерен масив от клетки, всяка от които се състои от кондензатор и транзистор, непрекъснатото четене на една и съща област памет води до колебания на напрежението и аномалии, които причиняват малка загуба на заряд на съседните клетки. Ако интензивността на четене е голяма, то съседната клетка може да загуби достатъчно заряд и следващият цикъл на регенерация няма да успее да възстанови първоначалното й състояние, което ще доведе до промяна на значението на данните, съхранени в клетката. За защита от RowHammer производителите на чипове добавиха механизъм TRR (Target Row Refresh), който блокира изкривяването на клетки в определени случаи, но не защитава от всички възможни варианти на атака.
Източник: opennet.ru
