Хакер #305. Многошаговые SQL-инъекции
Учетные разработали атаку ZenHammer, первый вариант Rowhammer-атаки который работает против микроархитектуры AMD Zen, которая осуществляет мапинг физических адресов в памяти DDR4 и DDR5. Ранее считалось, что AMD Zen и DDR5 менее уязвимы для таких атак, однако ZenHammer это опровергает.
Напомним, что оригинальную атаку Rowhammer еще в 2014 году придумали эксперты из университета Карнеги-Меллона. Ее суть сводилась к тому, что определенное воздействие на ячейки памяти может привести к тому, что электромагнитное излучение повлияет на соседние ячейки, и значения битов в них изменятся.
Так, ячейки памяти хранят информацию в виде электрических зарядов, которые определяют значение битов внутри как 1 или 0. Из-за повышенной плотности ячеек повторяющиеся «удары молотком» (когда приложение тысячи раз за доли секунды обращается к одним и тем же участкам) могут изменять состояние заряда в соседних рядах, то есть вызывать «переворачивание битов». Отсюда и происходит название Rowhammer.
Такие умышленные перевороты битов могут использоваться злоумышленниками, которые в итоге получат доступ к конфиденциальным данным, смогут расшифровать и подменить их, а также эксплуатировать проблему удаленно, повысить привилегии и так далее.
Ранее подобные атаки уже демонстрировались против продуктов Intel и ARM, однако возможные атаки на AMD Zen остались практически неисследованными. Теперь этот пробел восполнили исследователи из Швейцарской высшей технической школы Цюриха (ETH Zurich), применившие реверс-инжиниринг для сложных и нелинейных функций адресации DRAM на платформах AMD, и разработавшие атаку ZenHammer.
Также эксперты пишут, что создали новые методы синхронизации, чтобы приурочить свои атаки к командам обновления DRAM, что было особенно важно для обхода таких защитных мер, как Target Row Refresh (TRR).
Исследователи сообщают, что атака ZenHammer способна вызывать переворот битов на устройствах с DDR4 на платформах AMD Zen 2 (Ryzen 5 3600X) и Zen 3 (Ryzen 5 5600G). Так, они добились успеха в 7 из 10 проведенных тестов на платформах DDR4/AMD Zen 2, а также в 6 из 10 тестов на платформах DDR4/AMD Zen 3.
Также определенного успеха удалось достичь и в случае DDR5 на Zen 4, что ранее считалась невозможным. Однако в этом случае тест был успешным только на 1 из 10 систем (Ryzen 7 7700X). То есть защита DDR5, включая улучшенные средства защиты от Rowhammer, ECC (error correction code) и более высокую частоту обновления (32 мс) все же серьезно осложняет переворот битов.
Таки образом, специалистам удалось добиться большого количества переворотов битов в системах Zen 2 и Zen 3, причем Zen 3 оказался более уязвим, чем Intel Coffee Lake.
Что касается времени атак: на одной из тестовых систем Zen 3, выпущенной в четвертом квартале 2021 года, исследователи смогли получить root-привилегии в ходе десяти успешных атак со средней продолжительностью 93 секунды (начиная с момента обнаружения уязвимого бита).
Стоит отметить, что ZenHammer является локальной атакой. Так, подразумевается, что злоумышленник заранее знает модель процессора целевой машины и разобрался в mapping’е адресов DRAM с помощью инструмента для реверс-инжиниринга. Также предполагается, что атакующий может запускать программы на машине жертвы.
В ответ на публикацию этого исследования компания AMD уже выпустила бюллетень безопасности, посвященный проблеме ZenHammer. В компании говорят, что в настоящее время изучают выводы экспертов и проблему возможных атак на DDR5, и в будущем подготовят обновления.
«Микропроцессорные продукты AMD включают контроллеры памяти, разработанные в соответствии со стандартными спецификациями DDR. Восприимчивость к атакам Rowhammer зависит от DRAM устройства, производителя, технологии и настроек системы. AMD рекомендует обратиться к производителю DRAM или системы для определения восприимчивости к новому варианту Rowhammer», — говорится в заявлении AMD.