Phoenix: атака Rowhammer, работающая против DDR5

Ученые из Швейцарии нашли способ атаки на модули оперативной памяти стандарта DDR5.

Phoenix: Rowhammer, работающий против DDR5

В сентябре 2025 года исследователи из Швейцарской высшей технической школы в Цюрихе опубликовали научную работу, в которой предложили атаку Phoenix — модификацию атаки Rowhammer, работающую против модулей памяти DDR5. Авторы работы не только показали эффективность новой атаки против 15 исследованных модулей памяти, но и предложили целых три сценария ее использования на практике: для чтения и записи данных из оперативной памяти, для кражи из оперативной памяти приватного ключа шифрования и для обхода средств защиты Linux-утилиты sudo с целью эскалации привилегий.

Краткая история атак Rowhammer

Чтобы разобраться в этом достаточно непростом исследовании, придется немного (без фанатизма) углубиться в историю атак Rowhammer. Впервые атака Rowhammer была описана в 2014 году в научной работе. Тогда ученые из американского университета Карнеги-Меллона и компании Intel показали, как регулярные обращения к ряду ячеек памяти могут вызывать смену значений в соседнем ряде. А там, к примеру, могут храниться какие-то критически важные данные, изменение которых может привести к нежелательным последствиям (например, повышению привилегий).

Возможно, это из-за того, что каждая ячейка в микросхеме памяти представляет собой конденсатор, простейший элемент, способный какое-то (довольно короткое) время хранить электрический заряд. Из-за этого такая память является энергозависимой — выключаешь компьютер или сервер, и данные пропадают. Из-за этого же заряд в ячейках нужно регулярно, с достаточно высокой частотой, обновлять — даже если к этим областям памяти никто не обращается.

Ячейки памяти не существуют сами по себе — они построены в ряды и колонны и соединены между собой. Из-за этого может возникать ситуация, когда обращение к ряду ячеек может затрагивать соседний ряд — да так, что обновление в одном ряду повреждает данные в другом. Долгое время этот эффект был известен только разработчикам модулей памяти, которые по мере сил боролись с ним с целью повышения надежности. Но минимизация и неизбежное уплотнение ячеек, то есть уменьшение расстояния между ними, привели к тому, что эффект «простукивания рядов» стало возможно использовать в реальных атаках.

После того как исследователи продемонстрировали атаку Rowhammer, разработчики модулей памяти начали думать над мерами защиты, в результате чего появилась аппаратная технология Target Row Refresh (TRR). В теории она очень проста: она отслеживает агрессивные обращения к ряду ячеек и, если видит такое обращение, на всякий случай принудительно обновляет данные в соседних рядах. Но на практике все оказалось не так просто. В 2021 году появилась атака Blacksmith, которая обходила защиту Target Row Refresh путем применения более сложных паттернов обращения к ячейкам памяти.

Разработчики учли и этот вариант атаки, поэтому в памяти DDR5 применялись еще более сложные методы защиты от атак, подобных Rowhammer, да к тому же частота принудительного обновления данных была повышена. А чтобы усложнить разработку новых атак, производители модулей памяти не спешили раскрывать, какие именно методы защиты они используют. Из-за этого начало казаться, что в DDR5 проблема Rowhammer в целом решена. Только в прошлом году исследователи из того же ETH Zurich смогли добиться каких-то результатов при атаках на модули DDR5, да и то с кучей оговорок: требовалась связка с процессорами AMD Zen 2 или Zen 3, а на некоторых модулях атака вовсе не работала.

Особенности новой атаки Phoenix

Для разработки атаки Phoenix исследователи занялись реверс-инжинирингом технологии Target Row Refresh. Ученые анализировали ее поведение при разнообразных вариантах обращения к рядам ячеек памяти и проверяли, срабатывает ли защитная схема на соседних рядах. Оказалось, что система TRR значительно усложнилась, а известные ранее паттерны обращения к ячейкам больше не работают — защитная схема правильно определяет их как потенциально опасные и принудительно обновляет данные в соседних рядах ячеек памяти. В итоге исследователи выяснили, что после 128 отслеживаемых технологией TRR обращений к памяти возникает «окно возможностей» из 64 обращений, когда система защиты менее эффективна. Не то чтобы она совсем не срабатывала, но ее реакции недостаточно, чтобы предотвратить изменение значения в целевой ячейке памяти. Второе «окно» возникает после обращения к ячейкам памяти в течение 2608 интервалов обновления.

Далее исследователи подробно изучили эти уязвимые точки, чтобы нанести максимально точный удар по ячейкам памяти, усыпив систему защиты. Упрощая, атаку можно описать следующим образом. Вредоносный код проводит ряд пустых обращений, эффективно усыпляющих бдительность технологии Target Row Refresh. Затем происходит активная часть атаки, которая в итоге приводит к изменению данных в целевой ячейке. В результате ученые удостоверились, что атака надежно работает против всех 15 протестированных модулей памяти DDR5 производства компании SK hynix, одного из лидеров рынка.

Три сценария реальных атак

Для реалистичной атаки нужно изменить значение в четко определенной области памяти. Это довольно сложная задача. Атакующий должен детально знать особенности работы программного обеспечения, которое планирует взломать. Ему нужно обойти разнообразные традиционные системы безопасности, а стоит промахнуться на один-два бита, и вместо взлома произойдет фатальный сбой системы.

Исследователи из Швейцарии задались целью доказать, что атака Phoenix реалистична, то есть может быть использована для нанесения реального ущерба. Они исследовали три сценария атаки. В первом (PTE) предполагалось обращение к таблице страниц с целью создания условий для произвольного чтения и записи данных из оперативной памяти. Второй сценарий (RSA) исследовал возможность кражи из оперативной памяти приватного ключа шифрования по алгоритму RSA-2048. Третий (sudo) подразумевал обход средства защиты стандартной утилиты sudo в Linux-системах с целью эскалации привилегий. Общие результаты исследования показаны в этой таблице:

Эффективность атаки Phoenix

Эффективность атаки Phoenix. Источник

Для каких-то модулей оказался действенным первый вариант атаки (128 интервалов обновления данных), для других — только второй (2608 интервалов). Атаки с кражей ключа RSA и взломом sudo в некоторых экспериментах не сработали. Впрочем, способ произвольного чтения и записи данных в память был найден для всех модулей, а атака занимала достаточно небольшое (по меркам атак такого класса) время — от 5 секунд до 7 минут. Этого в целом достаточно, чтобы доказать: атаки Rowhammer действительно представляют опасность, пусть и в крайне ограниченном наборе сценариев.

Актуальность и меры противодействия

Атака Phoenix показала, что атаки Rowhammer можно проводить на новых модулях памяти DDR5 не менее эффективно, чем на DDR4 и DDR3. Да, были исследованы модули только одного производителя. Да, у него была обнаружена достаточно простая уязвимость в работе алгоритма TRR, которую, скорее всего, будет легко закрыть. Тем не менее это значительный шаг в сфере исследовании безопасности модулей памяти.

Исследователи предложили ряд новых мер противодействия атакам типа Rowhammer. Во-первых, атаку можно значительно затруднить, если уменьшить интервал принудительного обновления данных во всех ячейках. Это может привести к повышенному энергопотреблению и нагреву микросхем, но является простым и прямолинейным решением. Во-вторых, можно использовать память с механизмом коррекции ошибок (ECC). Это усложняет атаку Rowhammer, хотя, что достаточно парадоксально, не делает ее полностью невозможной.

Помимо этих, достаточно очевидных мер, авторы упоминают еще две. Это уже внедряемая технология Fine Granularity Refresh — метод защиты на стороне контроллера памяти в процессоре, изменяющая схему обновления данных в ячейках памяти так, чтобы противостоять атакам Rowhammer. Ну а кроме того, ученые предлагают разработчикам модулей и микросхем памяти перестать полагаться на проприетарные методы защиты. Вместо этого они рекомендуют применить подход, являющийся стандартным для разработки средств криптографии, — со всесторонним изучением публично доступных алгоритмов безопасности.

Советы

За и против браузеров с ИИ

На наших глазах начинается гонка техногигантов. Кто первым превратит браузер в приложение ИИ-ассистента? Тестируя новинки, обязательно учитывайте их огромное влияние на безопасность и приватность.

Безопасность детей в Интернете: гайд для родителей

Интернет помнит все, и то, что наши дети делают в Сети, может аукнуться им неприятностями как сразу, так и спустя продолжительное время. Рассказываем, как уменьшить цифровой след школьников без запретов и скандалов.