ZenHammer — метод за атака, целящ изкривяване на съдържанието на паметта на платформите AMD Zen

Изследователи от Швейцарския федерален институт по технологии Цюрих разработиха метод на атака 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 чипа, като самата възможност за атака не е изключена, но изисква разработванe на по-ефективни четящи шаблони, подходящи за устройства DDR5.

За работа с AMD чипове успяхме да адаптираме преди това разработени експлойти, които променят съдържанието на записа в таблицата на страниците на паметта (PTE, page table entry) за получаване на привилегии на ядрото, които заобикалят проверката на пароли/разрешения чрез модифициране на паметта на процеса sudo и повреждат съхранявания в паметта публичен ключ RSA-2048 в OpenSSH за възстановяване на частния ключ. Атаката върху страниците на паметта успя да бъде възпроизведена на 7 от 10 тествани DDR4 чипа, атаката върху RSA ключа - на 6 чипа, а атаката върху sudo - на 4 чипа, като времето на атаката беше 164, 267 и 209 секунди, съответно.

ZenHammer - метод за атака за изкривяване на съдържанието на паметта на платформи с AMD Zen

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

ZenHammer - метод за атака за изкривяване на съдържанието на паметта на платформи с AMD Zen

За изкривяване на битовете се използва методът 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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster