Три новые атаки Rowhammer позволяют захватить сервер через GPU Nvidia
Исследователи показали, как битовые сбои в видеопамяти GDDR дают злоумышленнику полный root-доступ к хост-машине — включая её CPU и оперативную память.

Три новые атаки класса Rowhammer — GDDRHammer, GeForge и GPUBreach — позволяют непривилегированному пользователю облачного сервера получить root-доступ к хост-машине, эксплуатируя уязвимости видеопамяти GPU Nvidia. Две команды исследователей работали независимо друг от друга и опубликовали результаты одновременно; третья группа представила свою атаку на следующий день. Все три метода переводят битовые сбои в GDDR-памяти GPU в полноценную компрометацию системы на уровне CPU.
Высокая стоимость производительных GPU — как правило, от $8 000 за карту — вынуждает облачных провайдеров предоставлять одно устройство десяткам пользователей одновременно. Именно эта модель совместного использования и создаёт угрозу: злоумышленник, арендующий вычислительное время на одном GPU, теоретически может захватить весь физический сервер.
Как работает Rowhammer и почему GPU оказался уязвим
Рowhammer — класс атак, известный с 2014 года. Суть в том, что многократное и быстрое обращение к строкам DRAM-памяти создаёт электрические помехи в соседних ячейках, из-за чего биты меняют значение: 0 становится 1 и наоборот. Уже в 2015 году исследователи показали, что целенаправленные битовые сбои позволяют повысить привилегии от обычного пользователя до root или обойти защиту песочницы. Тогда речь шла о DDR3-памяти CPU.
За прошедшее десятилетие атаки эволюционировали: они научились работать с DDR4, обходить защиту ECC и Target Row Refresh, действовать по локальной сети, рутовать Android-устройства и похищать 2048-битные ключи шифрования. В прошлом году впервые удалось вызвать битовые сбои в GDDR-памяти GPU — однако тогда результат был скромным: всего восемь сбоев, которые лишь незначительно ухудшали вывод нейросети. Нынешние атаки — качественный скачок.
GDDRHammer, GeForge и GPUBreach: три маршрута к root
GDDRHammer (аббревиатура расшифровывается одновременно как «Graphics DDR» и «Greatly Disturbing DRAM Rows») нацелена на карту RTX 6000 поколения Ampere. Используя новые паттерны «молотьбы» и технику memory massaging — перемещение данных в незащищённые области памяти, — атака вызывает в среднем 129 битовых сбоев на банк памяти. Это в 64 раза больше, чем удавалось достичь в прошлогоднем GPUHammer. Получив возможность читать и записывать данные в GPU-память, атакующий затем модифицирует таблицы страниц GPU так, чтобы они указывали на физическую память CPU — и получает полный контроль над хост-машиной.
««Наша работа показывает, что Rowhammer на GPU-памяти несёт столь же серьёзные последствия для безопасности, что и Rowhammer на CPU, а существующие средства защиты CPU недостаточны, если они не учитывают угрозу со стороны GPU», — пояснил Эндрю Квонг, соавтор статьи о GDDRHammer.»
GeForge действует по схожей схеме, но атакует другой уровень иерархии таблиц страниц — каталог страниц, а не сами таблицы. Против RTX 3060 атака вызвала 1 171 битовый сбой, против RTX 6000 — 202 сбоя. Proof-of-concept эксплойт для RTX 3060 завершается открытием root shell, из которой атакующий может выполнять команды с неограниченными привилегиями на хост-сервере. По утверждению авторов, это первый GPU-side Rowhammer-эксплойт, достигающий повышения привилегий на хосте.
GPUBreach — наиболее опасный из трёх вариантов. В отличие от GDDRHammer и GeForge, он работает даже при включённом IOMMU — механизме изоляции, который ограничивает прямой доступ GPU к памяти хоста. Атака эксплуатирует уязвимости безопасности памяти непосредственно в драйвере Nvidia: повреждая метаданные внутри буферов, к которым у GPU есть легитимный доступ, она заставляет драйвер — работающий на уровне ядра CPU — выполнять записи за пределами допустимых областей. Результат тот же: root shell на хост-машине, но без необходимости отключать IOMMU.
Общее условие для GDDRHammer и GeForge — отключённый IOMMU, что является настройкой по умолчанию в большинстве BIOS. GPUBreach этого ограничения лишена, что делает её практически применимой в реальных облачных средах без дополнительных манипуляций с конфигурацией сервера.
Что это означает для облачных провайдеров и разработчиков
Все три атаки требуют физического или логического доступа к GPU — то есть сценарий угрозы ограничен облачными средами с мультиарендностью, исследовательскими кластерами и корпоративными серверами, где несколько пользователей работают на одном железе. Для белорусских компаний, использующих GPU-инфраструктуру в публичных облаках — будь то обучение моделей машинного обучения или рендеринг, — это сигнал проверить, как провайдер изолирует рабочие нагрузки на уровне железа.
Резиденты Парка высоких технологий, занимающиеся разработкой AI-продуктов и арендующие GPU-мощности у западных или российских облачных провайдеров, должны уточнить у поставщика, включён ли IOMMU и как реализована изоляция между тенантами. Пока Nvidia не выпустила официального патча, единственная рекомендуемая мера — убедиться, что IOMMU активирован на уровне BIOS и гипервизора.
Авторы всех трёх работ сходятся в одном: существующие программные и аппаратные защиты от Rowhammer разрабатывались с расчётом на CPU и не учитывают вектор атаки через GPU. Это означает, что индустрии предстоит переосмыслить архитектуру защиты памяти в гетерогенных вычислительных системах — особенно по мере того, как GPU становятся центральным элементом облачной инфраструктуры.
— По материалам Ars Technica: оригинальная статья. Перевод и адаптация — редакция Digital Business by.








