Содержание
Атаки класса Rowhammer впервые показали на GPU Nvidia: исследователи добились контролируемых битовых ошибок в видеопамяти и в ряде сценариев вышли на полный захват системы. Под ударом оказались карты поколения Ampere, включая GeForce RTX 3060 и RTX 6000.
Rowhammer больше десяти лет считают проблемой «процессорной» DRAM. Но свежие работы показывают, что похожая механика работает и на высокопроизводительных GPU, а последствия сопоставимы: от обхода изоляции памяти до компрометации хоста.
Что именно научились делать на Nvidia Ampere
Сразу три независимые команды исследователей показали атаки на Ampere-картах Nvidia (модели RTX 3060 и RTX 6000 упоминаются явно). Общая идея одна: вызвать битовые перевороты в памяти GPU и через них повредить структуры управления памятью, в том числе таблицы страниц.
Эндрю Квонг, соавтор одной из работ, описал итог прямо: «Our work shows that Rowhammer, which is well-studied on CPUs, is a serious threat on GPUs as well». В той же цитате он уточняет, что атака даёт путь к произвольному чтению и записи всей памяти CPU, а это ведёт к полной компрометации машины.
GDDRHammer и GeForge: много битфлипов и атака через таблицы страниц
Первая атака получила название GDDRHammer. На RTX 6000 она в среднем добилась 129 битовых переворотов на банк памяти. Исследователи отдельно подчеркнули прирост: это в 64 раза больше, чем в предыдущих попытках GPU-Rowhammer, которые описывали в прошлом году.
Вторая атака — GeForge, её описала команда под руководством Чжэнькая Чжана. В их экспериментах получилось 1 171 битфлип на RTX 3060 и 202 битфлипа на RTX 6000.
Обе атаки опираются на новые паттерны «hammering» и технику memory massaging. Цель — повредить таблицы страниц GPU. После этого атакующий получает произвольное чтение и запись в адресном пространстве GPU, а дальше добирается до памяти хоста. То есть до CPU memory, что и даёт сценарий «полный контроль».
GPUBreach: неприятный вариант, который переживает IOMMU
Третья атака, GPUBreach, устроена иначе. Она опирается не только на битфлипы, но и на баги безопасности в драйвере Nvidia. Исследователи описали сценарий, где непривилегированное CUDA-ядро после порчи таблиц страниц получает произвольное чтение и запись в памяти GPU.
Дальше GPUBreach бьёт по метаданным внутри разрешённых буферов. Это приводит к out-of-bounds записи, которой атакующий управляет. Итог в демонстрации звучит максимально конкретно: root shell на хост-машине без специальных аппаратных настроек.
Какие защиты сработали, а какие — нет
Для GDDRHammer и GeForge исследователи называют рабочую меру: включение IOMMU закрывает уязвимость. Но против GPUBreach это не помогло даже при включённом IOMMU в BIOS.
IOMMU часто выключен по умолчанию. Администраторы нередко оставляют так из-за потери производительности. Исследователи отдельно проговорили этот практический момент.
Ещё одна мера — включить ECC на GPU. По описанию авторов, ECC даёт защиту от всех трёх атак. Цена вопроса такая же приземлённая: падение производительности и уменьшение «рабочей» доступной памяти.
Насколько это срочно для обычных пользователей
Пока исследователи тестировали только Ampere (2020). Они прямо говорят, что более новые поколения тоже могут оказаться уязвимыми, но академические исследования обычно отстают от релизов железа.
Отдельно зафиксирован важный факт: случаев Rowhammer-атак «в дикой природе» не известно. Но сценарий GPUBreach, который не закрывается IOMMU, выглядит особенно неприятно для облаков, где дорогие GPU делят между несколькими клиентами.
Подробности технической части и демонстраций описаны в разборе Ars Technica.