Phoenix: новая атака на DDR5-память, позволяющая обойти защиту и изменить содержимое памяти
Исследователи из Швейцарской высшей технической школы Цюриха при участии инженеров Google представили инновационную технику атаки на оперативную память — Phoenix. Эта методика представляет собой усовершенствованную версию RowHammer-атаки и получила идентификатор CVE-2025-6202. Её ключевой особенностью стало то, что она способна обходить защитный механизм TRR (Target Row Refresh), встроенный в чипы DDR5 для предотвращения деградации памяти.
TRR был разработан как средство защиты от атак RowHammer, которые вызывают изменения в содержимом ячеек памяти за счёт многократного доступа к соседним строкам DRAM. Однако Phoenix демонстрирует, что даже новые поколения памяти не являются полностью защищёнными. Прототип эксплойта, созданный в рамках исследования, позволяет изменить бит информации в оперативной памяти, что может привести к захвату контроля над системой и повышению привилегий до уровня суперпользователя.
Атака была успешно протестирована на компьютере с процессором AMD Ryzen 7 7700X, использующим архитектуру Zen 4, и модулями DDR5 от SK Hynix — одного из крупнейших производителей DRAM-памяти. Во время тестирования система выполняла стандартные пользовательские задачи, что подтверждает реальность угрозы при типичном сценарии эксплуатации.
Принцип действия RowHammer основан на физической природе DRAM. Каждая ячейка памяти состоит из конденсатора и транзистора, а многократное чтение определённой строки может вызвать утечку заряда в соседних строках, что в конечном итоге приводит к непреднамеренному изменению данных. Если цикл обновления памяти не происходит достаточно быстро, данные в соседней ячейке могут быть искажены. Этот эффект и используется в атаках RowHammer.
С момента обнаружения RowHammer в 2014 году между исследователями и производителями началась гонка вооружений. Производители пытались защитить память от подобных атак, внедряя TRR и другие методы, но исследователи продолжали находить способы их обхода. Атаки были адаптированы для различных поколений памяти: DDR3, DDR4, DDR5, а также для видеопамяти в графических ускорителях, включая решения от NVIDIA. Были разработаны даже варианты атак через браузеры и сетевые протоколы, включая обход механизмов коррекции ошибок ECC.
TRR долгое время считался надёжным барьером, но его эффективность во многом базировалась на скрытности реализации — подходе "безопасность через неясность". Исследователи решили разобраться в его работе и создали платформы на базе FPGA (Arty-A7 и ZCU104), с помощью которых они провели обратный инжиниринг поведения DDR5-модулей форматов SO-DIMM и RDIMM. Система позволила отследить, какие низкоуровневые команды DDR передаются контроллером памяти, и как реагирует модуль на определённые паттерны доступа.
Выяснилось, что в протестированных модулях DDR5 защита TRR не использует явные команды управления частотой обновления. Вместо этого она полагается на динамическое варьирование частоты обновления ячеек, что затрудняет предсказуемость защиты. Чтобы обойти эту защиту, исследователи разработали новый подход, позволяющий адаптивно корректировать шаблоны доступа в процессе атаки. Это дало возможность точно воздействовать на память, несмотря на усложнённую логику работы TRR.
Метод Phoenix был протестирован на 15 чипах DDR5 от SK Hynix, выпущенных в период с конца 2021 до конца 2024 года. Все они оказались уязвимы: удалось добиться контролируемого изменения одного бита в памяти. Этого изменения было достаточно, чтобы создать эксплойт, предоставляющий root-доступ менее чем за две минуты. Для предотвращения атаки специалисты рекомендуют увеличить частоту обновления памяти втрое, что может снизить вероятность успешной манипуляции с зарядами ячеек.
Эксплойт Phoenix использует три основных техники получения привилегий посредством искажения одного бита:
1. Изменение записей в таблицах страниц памяти (PTE), что позволяет получить доступ к области ядра и повысить привилегии.
2. Подмена открытого ключа RSA-2048 в памяти, используемого OpenSSH. Это может привести к возможности входа в чужую виртуальную машину с закрытым ключом атакующего.
3. Модификация содержимого памяти процесса sudo, что позволяет обойти проверки полномочий.
Метод с PTE оказался универсальным — он сработал на всех 15 протестированных чипах. Манипуляция с RSA была успешна на 11 из них, а техника с sudo — на 5.
Важным компонентом успешной реализации атаки стал механизм Rubicon, разработанный параллельно с Phoenix. Rubicon использует особенности алгоритмов распределения памяти в ядре Linux. Он позволяет программно разместить таблицы страниц в нужных разделах DRAM, изменяя "migratetype" — параметр, управляющий типом выделяемой памяти. Это открывает доступ к областям, зарезервированным для привилегированных операций, и делает возможным точное позиционирование элементов, подлежащих атаке.
Дополнительные аспекты атаки и её последствий:
- Несмотря на то, что атака требует физического доступа к системе или запуска вредоносного кода на целевом устройстве, она подтверждает, что даже новейшие технологии памяти остаются уязвимыми.
- Новые подходы, подобные Phoenix, могут быть адаптированы для использования в облачных средах, особенно в сценариях с совместным использованием памяти несколькими клиентами.
- Необходимость повышения частоты обновления памяти может привести к увеличению энергопотребления и снижению производительности, что делает защиту от подобных атак экономически и технически затратной.
- Появление таких эксплойтов поднимает вопрос о необходимости пересмотра архитектуры DRAM, возможно, с внедрением дополнительных уровней физической защиты или контроллеров с интеллектуальным анализом поведения памяти.
Кроме того, учитывая масштаб угрозы, производителям оборудования и разработчикам ОС следует пересмотреть архитектуру взаимодействия с памятью, особенно в виртуализированных и контейнеризированных средах. Виртуальные машины и контейнеры, разделяющие физическую память, становятся потенциальной целью атак, где один пользователь может повлиять на данные другого.
Исследование Phoenix поднимает ещё один важный вопрос — достаточность современных методов тестирования DRAM-чипов на уязвимости. Возможно, в будущем производители будут обязаны проводить стресс-тестирование не только на надёжность и производительность, но и на устойчивость к физическим атакам на уровне ячеек.
Таким образом, Phoenix — это не просто новая техника атаки, а сигнал о том, что традиционные методы защиты памяти нуждаются в пересмотре. В условиях, когда даже однобитовые искажения могут привести к полной компрометации системы, безопасность DRAM становится критически важной частью общей кибербезопасности.



