Исследователи Google в сотрудничестве с учёными из ETH Zurich обнаружили новые методы атак, обходящие современные защиты от уязвимостей Rowhammer в памяти DDR5. Результаты работы, подробно изложенные в исследовании «Phoenix», демонстрируют, что существующие механизмы смягчения, такие как Target Row Refresh (TRR) и ECC, не обеспечивают полной безопасности и могут быть преодолены с помощью специально разработанных паттернов доступа к памяти.
Rowhammer - это класс аппаратных уязвимостей в чипах DRAM, при котором многократное обращение к определённой строке памяти вызывает битовые перевороты в соседних строках. Это может привести к повреждению данных, повышению привилегий или отказу в обслуживании. Несмотря на внедрение производителями различных мер защиты, включая TRR для DDR5, устойчивость этих механизмов против целевых атак остаётся под вопросом.
Для углублённого анализа проблемы Google совместно с компанией Antmicro разработала два открытых FPGA-тестовых стенда, предназначенных для тестирования модулей DDR5 в форматах RDIMM (для серверов) и SO-DIMM (для рабочих станций и пользовательских устройств). Эти платформы позволяют исследователям точно эмулировать команды DDR и анализировать ответы памяти, что критически важно для понимания работы проприетарных механизмов защиты.
С помощью этих инструментов исследователям удалось разработать новую технику синхронизации обновления памяти, которая позволила впервые провести успешную атаку на повышение привилегий на стандартной рабочей станции с процессором AMD Zen и памятью SK Hynix DDR5. Это подтвердило, что даже современные реализации TRR и ECC не являются достаточно надёжными для противодействия целевым атакам.
Ключевой проблемой остаётся отсутствие детальной документации по работе внутричиповых механизмов TRR, которые значительно различаются у разных производителей. Кроме того, ECC изначально проектировалась для коррекции случайных ошибок, а не для противодействия злонамеренным воздействиям, что ограничивает её эффективность в контексте безопасности.
В качестве перспективного решения Google активно участвует в разработке и стандартизации механизма PRAC (Prevention of Activated Rows Count) в рамках JEDEC. Этот подход, который войдёт в будущие версии DDR5 и LPDDR6, предусматривает точный подсчёт активаций строк памяти и уведомление системы при превышении порогового значения. PRAC обеспечивает более надёжную и предсказуемую защиту по сравнению с вероятностными методами.
До широкого внедрения PRAC Google продолжает работу над улучшением существующих мер защиты, включая анализ host-сторонних mitigations и развитие методов криптографической целостности данных. Компания также сотрудничает с академическими и отраслевыми партнёрами, чтобы делиться результатами исследований и способствовать повышению устойчивости экосистемы памяти к новым угрозам.
Открытие уязвимостей Phoenix подтверждает, что Rowhammer остаётся серьёзной проблемой для индустрии, требующей не только технических, но и стандартизационных усилий. Работа Google в этой области подчёркивает важность проактивного подхода к безопасности на уровне аппаратного обеспечения, особенно в многопользовательских средах, таких как облачные платформы.