Изследователи от Швейцарския федерален институт по технологии в Цюрих разработиха метода на атака ZenHammer, който представлява вариант на атаките от клас RowHammer за промяна на съдържанието на отделни битове динамична оперативна памет (DRAM), адаптиран за използване на платформи с процесори AMD. Предишните методи на RowHammer атаки бяха ограничени до системи на базата на процесори Intel, но проведеното изследване показа, че изкривявания на паметовите клетки могат да бъдат постигнати и на платформи с контролери на паметта от AMD.
Работата на метода е демонстрирана на системи AMD Zen 2 и Zen 3 с DDR4 памет от трите водещи производители (Samsung, Micron и SK Hynix). Атаката успешно позволява заобикаляне на механизма TRR (Target Row Refresh), внедрен в паметните чипове за защита от изкривявания на паметните клетки в съседни редове. Според оценките на изследователите, системите с CPU AMD Zen 3 са по-уязвими от тези с процесори Intel Coffee Lake и са по-лесни и ефективни за атака. На системи AMD Zen 2, изкривявания на паметовите клетки бяха постигнати за 7 от 10 тестирани DDR4 чипа, а на системите Zen 3 - за 6 от 10. Изследователите също анализираха възможността за атакуване на системи AMD Zen 4 с DDR5 памет, но разработеният за DDR4 метод на атака успя да бъде успешно възпроизведен само на 1 от 10 тествани паметови чипа DDR5, като самата възможност за атака не е изключена, но изисква разработването на по-ефективни шаблони за четене, подходящи за устройства DDR5.
За работа с AMD чипове успяхме да адаптираме преди съществуващи експлойти, изменящи съдържанието на записите в таблицата на страниците памет (PTE, page table entry) за получаване на привилегии на ядрото, заобикалящи проверката на паролата/полномощията чрез модификация на паметта на процеса sudo и повреждащи съхранявания в паметта открит ключ RSA-2048 в OpenSSH за възстановяване на затворения ключ. Атаката на страниците памет бе възпроизведена на 7 от 10 тестирани DDR4 чипа, атаката на RSA ключ на 6 чипа, а атаката на sudo - на 4 чипа, като времето на атака беше 164, 267 и 209 секунди, съответно.

Методът също може да бъде използван за атака на системата през браузърите, за въвеждане на промени от на виртуални машини или за организиране на атака в мрежата. В GitHub под лицензия MIT е публикуван изходният код на инструмента DARE за обратното инженерство на адресна подредба в паметта DRAM, както и два набора утилити за fuzzing-тестиране на изкривяване на битове в паметта — ddr4_zen2_zen3_pub за чипове DDR4 (Zen 2 и Zen 3) и ddr5_zen4_pub за чипове DDR5 (Zen 4), които могат да се използват за проверка на собствените системи за податливост на атаката.

За изкривяване на битовете се прилага методът RowHammer, който се основава на факта, че в паметта DRAM, която представлява двумерен масив от клетки, състоящи се от кондензатор и транзистор, непрекъснатото четене на една и съща област от паметта води до флуктуации на напрежението и аномалии, които причиняват малка загуба на заряд на съседните клетки. Ако интензивността на четенето е голяма, то съседната клетка може да загуби достатъчно голямо количество заряд и поредният цикъл на регенерация не успява да възстанови първоначалното й състояние, което води до промяна на стойността на съхранените данни в клетката. В хода на изследването са открити особености на механизмите за мапинг на физическата памет и синхронизация с обновление на паметта, използвани в процесорите AMD, които позволяват възпроизвеждане на нискоуровнева адресация на DRAM, определяне на адресите на съседните клетки, разработване на методи за заобикаляне на кеширането и изчисляване на шаблони и честота на операциите, водещи до загуба на заряд.
За защита от RowHammer производителите на чипове прилагат механизма TRR (Target Row Refresh), който блокира изкривяването на клетките в частни случаи, но не защитава от всички възможни варианти за атака. Най-ефективният метод за защита остава използването на памет с кодове за корекция на грешки (ECC), които значително усложняват, но напълно не изключват провеждането на атаки от клас RowHammer. Увеличаването на честотата на регенерация на паметта също може да намали вероятността за успешна атака.
Компания AMD публикува доклад за проблема, в който се посочва, че в процесорите на AMD се използват контролери за памет, които отговарят на спецификациите DDR, и тъй като успехът на атаката зависи основно от настройките на системата и DRAM паметта, въпросите за отстраняване на проблема трябва да се отправят към производителите на памет и системи. От съществуващите начини за затрудняване на атаките от клас Rowhammer се споменава използването на ECC памет, повишаване на честотата на регенерация на паметта, деактивиране на режима на отложена регенерация и използването на процесори с контролери, които поддържат режим MAC (Maximum Activate Count) за DDR4 (1, 2 и 3 поколение AMD EPYC „Naple“, „Rome“ и „Milan“) и RFM (Refresh Management) за DDR5 (4 поколение AMD EPYC).
Източник: opennet.ru
