Phoenix - атака на чипы DDR5, приводящая к искажению содержимого памяти

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 380
Зарегистрирован: 20.08.2022

#

Phoenix - атака на чипы DDR5, приводящая к искажению содержимого памяти
Дата публикации:Tue, 16 Sep 2025 13:43:26 +0300

Исследователи из Швейцарской высшей технической школы Цюриха совместно с инженерами из компании Google разработали новую технику атаки класса Rowhammer - Phoenix (CVE-2025-6202), позволяющую обойти применяемый в чипах DDR5 механизмы защиты TRR (Target Row Refresh), предотвращающий искажение ячеек памяти из-за потери заряда. Опубликован прототип эксплоита, позволяющий изменить содержимое определённого бита в оперативной памяти и добиться повышения своих привилегий в системе. Демонстрация атаки проведена на ПК с процессором AMD на базе микроархитектуры Zen 4 и DDR5-памятью SK Hynix, на котором выполнялись типичные для десктопа задачи.
Атака RowHammer позволяет исказить содержимое отдельных битов памяти DRAM путём цикличного чтения данных из соседних ячеек памяти. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения большая, то соседняя ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить её первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных.
Метод атаки Rowhammer был предложен в 2014 году, после чего между исследователями безопасности и производителями оборудования началась игра в "кошки-мышки" - производители чипов памяти пытались блокировать уязвимость, а исследователи находили новые способы её обхода. Например, для защиты от RowHammer производители чипов добавили механизм TRR (Target Row Refresh), но оказалось, что он блокирует искажение ячеек лишь в частных случаях, но не защищает от всех возможных вариантов атаки. Методы атаки были разработаны для чипов DDR3, DDR4 и DDR5 на системах с процессорами Intel, AMD и ARM, а также для видеопамяти, применяемой в видеокартах NVIDIA. Более того, были найдены способы обхода коррекции ошибок ECC и предложены варианты совершения атаки по сети и через выполнение JavaScript-кода в браузере.
Ключевым фактором для обхода защиты от искажения ячеек памяти в DRAM является понимание логики работы механизма TRR, который в основном полагается на скрытие деталей реализации и принцип "безопасность через неясность (security by obscurity). Для определения логики работы и проведение обратного инжиниринга исследователями созданы специальные платы на базе FGPA Arty-A7 и ZCU104, позволяющие тестировать модули DDR5-памяти SO-DIMM и RDIMM, выявлять шаблоны обращения к ячейкам памяти, определять какие низкоуровневые DDR-команды передаются после программных операций с памятью и анализировать реакцию на них.
Изображение
Оказалось, что защита в проанализированных чипах DDR5 реализована без дополнительных команд управления частотой обновления памяти и полагается на схемы с вариативной частотой перезарядки ячеек. Для успешного проведения Rowhammer-атаки в этих условиях требуется точное отслеживание тысяч операция обновления ячеек. В таких условиях ранее существующие методы атаки Rowhammer оказались неприменимы и исследователями был разработан новый метод, осуществляющий самокоррекцию шаблонов доступа по мере выявления пропущенных операций обновления памяти во время проведения атаки.
Метод оказался эффективен и при проведении тестов позволил добиться контролируемого искажения бита памяти на всех из 15 протестированных чипах DDR5 от компании SK Hynix (занимает 36% рынка DRAM), произведённых с конца 2021 по конец 2024 года. Искажения одного бита оказалось достаточным для создания эксплоита, позволяющего получить root-доступ в системе при проведении атаки на системе с CPU AMD Ryzen 7 7700X и памятью SK Hynix DDR5 в течении 109 секунд. Для блокирования предложенного метода атаки рекомендовано увеличить частоту обновления памяти в три раза.
В качестве методов эксплуатации, позволяющих добиться получения прав root через искажение одного бита, рассмотрены следующие техники: изменение содержимого записей в таблице страниц памяти (PTE, page table entry) для получения привилегии ядра; повреждение хранящегося в памяти открытого ключа RSA-2048 в OpenSSH (можно привести открытый ключ в чужой виртуальной машине к соответствию закрытому ключу атакующего для подключения к VM жертвы); обход проверки полномочий через модификацию памяти процесса sudo. Метод с PTE оказался работоспособен для всех 15 протестированных чипов, атаку через RSA удалось провести для 11 чипов, а через sudo - для 5.
Изображение
В эксплоите для размещения таблиц страниц памяти в выбранных ячейках DRAM задействована техника Rubicon, раскрытая одновременно с рассматриваемой атакой Phoenix. Rubicon манипулирует особенностями оптимизации в системе распределения памяти ядра Linux и позволяет добиться выделения памяти в областях с другим значением "migratetype", зарезервированных для привилегированных операций. Наличие проблемы подтверждено в ядрах Linux начиная с 5.4 и заканчивая 6.8, но теоретически уязвимость охватывает все ядра с механизмом выделения памяти Zoned Buddy Allocator.
Помимо упрощения совершения атак класса Rowhammer, техника Rubicon также применима для повышения эффективности микроархитектурных атак, таких как Spectre, и упрощения определения места размещения в памяти секретных данных, которые требуется извлечь через утечки при спекулятивном выполнением инструкций. Rubicon позволяет обойтись без длительной стадии сканирования памяти и определения файлов, таких как /etc/shadow. Вместо этого можно немедленно начать эксплуатацию микроархитектурных уязвимостей, благодаря предопределённому размещению файла по известному физическому адресу. Например, применение метода Rubicon позволило ускорить утечку данных на системе с CPU Intel i7-8700K c 2698 до 9.5 секунд (в 284 раза), а на CPU AMD EPYC 7252, c 189 до 27.9 секунд (в 6.8 раз).
Тем временем, другая группа исследователей из Университета Джорджа Мейсона, продемонстрировала применимость атак класса Rowhammer для компрометации AI-систем. Исследователями предложен метод OneFlip, позволяющий точечно изменить поведение AI-моделей через искажение в памяти 1 бита информации. Доступен пример кода для подстановки троянского изменения в нейронную сеть. Показано как изменение одного бита можно использовать для искажения работы модели автопилота для изменения интерпретации дорожного знака "Стоп" в знак "Ограничение скорости". Так же рассмотрено использование метода для обхода систем распознавания лиц. Для моделей, хранящих весовые коэффициенты в форме 32-разрядных целых чисел, успешность проведения атаки оценивается в 99.9% без влияния на исходные характеристики модели.
Изображение
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=63891

Жизнь за Нер'зула!

Ответить