- Автор темы
- #1
Сразу три исследовательские группы независимо друг от друга представили новые вариации атак Rowhammer, направленные против высокопроизводительных видеокарт Nvidia. Атаки получили названия GDDRHammer, GeForge и GPUBreach. Они позволяют непривилегированному пользователю получить root-доступ к хост-машине, эксплуатируя bit flip'ы в памяти GPU.
Оригинальную атаку Rowhammer еще в 2014 году придумали эксперты из Университета Карнеги-Меллона. Ее суть сводилась к тому, что интенсивное воздействие на одни ячейки памяти может вызвать изменение состояния битов в соседних ячейках.
Так, ячейки памяти хранят информацию в виде электрических зарядов, которые определяют значение битов внутри как 1 или 0. Из-за повышенной плотности ячеек повторяющиеся «удары молотком» (англ. «hammering», когда приложение тысячи раз за доли секунды обращается к одним и тем же участкам) могут изменять состояние заряда в соседних рядах, то есть вызывать «переворачивание битов» (bit flip). Отсюда и происходит название Rowhammer.
За прошедшее десятилетие исследователи научились применять Rowhammer против разных поколений DRAM, обходить ECC и Target Row Refresh, похищая 2048-битные ключи шифрования, и добиваться root-прав на Android-устройствах.
Также в прошлом году появилась атака GPUHammer, которая впервые продемонстрировала уязвимость GDDR-памяти Nvidia. Правда, тогда исследователям удалось добиться лишь восьми bit flip'ов и слегка подпортить работу нейросети на атакуемом GPU.
Атака GDDRHammer работает против RTX 6000 на архитектуре Ampere. Используя новые паттерны «простукивания» и технику memory massaging, исследователи добились в среднем 129 переворачиваний битов на банк памяти, что в 64 раза больше, чем у прошлогоднего GPUHammer. Атака нарушает изоляцию таблиц страниц GPU и дает злоумышленнику возможность читать и писать в память видеокарты, а через нее — и в память CPU.
Стоит отметить, что обе атаки требуют, чтобы IOMMU (модуль управления памятью ввода-вывода) был отключен. К сожалению, это дефолтное состояние в большинстве реализаций BIOS, так как IOMMU выключают ради совместимости и производительности.
Третья атака — GPUBreach — была создана исследователями из Университета Торонто. Этот метод заходит еще дальше и работает даже при включенном IOMMU. Исследователи эксплуатируют баги memory safety в самом драйвере Nvidia: повреждая метаданные в разрешенных IOMMU буферах. В итоге атакующий вынуждает драйвер (работающий с привилегиями ядра) выполнить out-of-bounds запись. Демонстрация атаки проводилась на RTX A6000 — модели, которая широко используется для обучения ИИ.
Ожидается, что все детали проблемы GPUBreach, включая техническую документацию и репозиторий на GitHub, представят 13 апреля на симпозиуме IEEE Symposium on Security & Privacy.
Известно, что уязвимы карты RTX 3060 и RTX 6000 на Ampere, а также RTX A6000. Будут ли подвержены атакам более новые поколения видеокарт, пока неизвестно — академические исследования традиционно отстают от темпа выхода новых продуктов.
В качестве защиты от таких атак в Nvidia рекомендуют корпоративным клиентам включать System Level Error-Correcting Codes (на GPU линеек Hopper и Blackwell для дата-центров эта опция включена по умолчанию). Но исследователи подчеркивают: для потребительских GPU без ECC угроза GPUBreach остается полностью неустраненной.
Оригинальную атаку Rowhammer еще в 2014 году придумали эксперты из Университета Карнеги-Меллона. Ее суть сводилась к тому, что интенсивное воздействие на одни ячейки памяти может вызвать изменение состояния битов в соседних ячейках.
Так, ячейки памяти хранят информацию в виде электрических зарядов, которые определяют значение битов внутри как 1 или 0. Из-за повышенной плотности ячеек повторяющиеся «удары молотком» (англ. «hammering», когда приложение тысячи раз за доли секунды обращается к одним и тем же участкам) могут изменять состояние заряда в соседних рядах, то есть вызывать «переворачивание битов» (bit flip). Отсюда и происходит название Rowhammer.
За прошедшее десятилетие исследователи научились применять Rowhammer против разных поколений DRAM, обходить ECC и Target Row Refresh, похищая 2048-битные ключи шифрования, и добиваться root-прав на Android-устройствах.
Также в прошлом году появилась атака GPUHammer, которая впервые продемонстрировала уязвимость GDDR-памяти Nvidia. Правда, тогда исследователям удалось добиться лишь восьми bit flip'ов и слегка подпортить работу нейросети на атакуемом GPU.
Атака GDDRHammer работает против RTX 6000 на архитектуре Ampere. Используя новые паттерны «простукивания» и технику memory massaging, исследователи добились в среднем 129 переворачиваний битов на банк памяти, что в 64 раза больше, чем у прошлогоднего GPUHammer. Атака нарушает изоляцию таблиц страниц GPU и дает злоумышленнику возможность читать и писать в память видеокарты, а через нее — и в память CPU.
Вторая атака — GeForge — работает похожим образом, но манипулирует не таблицей страниц последнего уровня, а директорией страниц. Исследователи добились 1171 переворачивание битов на RTX 3060 и 202 на RTX 6000. Показанный экспертами PoC-эксплоит для RTX 3060 завершается открытием root-шелла на хост-машине. По словам авторов, это первый GPU-Rowhammer эксплоит, который позволяет повысить привилегии до уровня root в хост-системе.«Наша работа показывает, что Rowhammer, который хорошо изучен на CPU, представляет серьезную угрозу и для GPU, — говорит Эндрю Квонг (Andrew Kwong), один из соавторов исследования. — Мы демонстрируем, как атакующий может вызвать bit flip на GPU, чтобы получить произвольный доступ на чтение и запись ко всей памяти CPU, что приводит к полной компрометации машины».
Стоит отметить, что обе атаки требуют, чтобы IOMMU (модуль управления памятью ввода-вывода) был отключен. К сожалению, это дефолтное состояние в большинстве реализаций BIOS, так как IOMMU выключают ради совместимости и производительности.
Третья атака — GPUBreach — была создана исследователями из Университета Торонто. Этот метод заходит еще дальше и работает даже при включенном IOMMU. Исследователи эксплуатируют баги memory safety в самом драйвере Nvidia: повреждая метаданные в разрешенных IOMMU буферах. В итоге атакующий вынуждает драйвер (работающий с привилегиями ядра) выполнить out-of-bounds запись. Демонстрация атаки проводилась на RTX A6000 — модели, которая широко используется для обучения ИИ.
Команда из Торонто уведомила о своих находках инженеров Nvidia, Google, AWS и Microsoft еще в ноябре 2025 года. В ответ Google выплатила исследователям 600 долларов США в рамках программы bug bounty. В свою очередь, представители Nvidia сообщили, что могут обновить свой прошлогодний бюллетень безопасности, связанный с GPUHammer.«GPUBreach демонстрирует, что Rowhammer на GPU может выйти за рамки повреждения данных и перейти к реальному повышению привилегий, — поясняют исследователи. — Результат — компрометация всей системы вплоть до root-шелла, причем без необходимости отключать IOMMU, в отличие от современных аналогов».
Ожидается, что все детали проблемы GPUBreach, включая техническую документацию и репозиторий на GitHub, представят 13 апреля на симпозиуме IEEE Symposium on Security & Privacy.
Известно, что уязвимы карты RTX 3060 и RTX 6000 на Ampere, а также RTX A6000. Будут ли подвержены атакам более новые поколения видеокарт, пока неизвестно — академические исследования традиционно отстают от темпа выхода новых продуктов.
В качестве защиты от таких атак в Nvidia рекомендуют корпоративным клиентам включать System Level Error-Correcting Codes (на GPU линеек Hopper и Blackwell для дата-центров эта опция включена по умолчанию). Но исследователи подчеркивают: для потребительских GPU без ECC угроза GPUBreach остается полностью неустраненной.
