Deep Tech Безопасность Данные и безопасность
GPUThor обходит исправление ошибок, которое Nvidia рекомендовала против Rowhammer
В прошлом году Nvidia посоветовала владельцам графических процессоров, обеспокоенным уязвимостью Rowhammer, включить исправление ошибок. Четыре исследователя из Университета Торонто теперь доказали, что та же атака, проведенная с большей интенсивностью, с легкостью преодолевает эту защиту.
Их методика, получившая название GPUThor, стала первой атакой Rowhammer, способной обойти ECC на графических процессорах Nvidia. Она работает на четырех рабочих станциях на базе архитектуры Ampere: RTX A4000, A4500, A5000 и A6000. На каждой из них атака превращает обычную непривилегированную программу CUDA в консоль root на хост-компьютере, несмотря на включенное исправление ошибок. Крис С. Лин, Джойс Ку, Адитья Раджив и Гурурадж Сайлешвар опубликовали свою научную работу 25 августа. Они представят ее на конференции ACM CCS в Гааге в ноябре. Nvidia выпустила уведомление о безопасности 21 августа. Билл Тулас из BleepingComputer сообщил об уязвимости на следующий день; TechRadar подхватил новость в понедельник.
Код атаки останется закрытым до 15 ноября. Патча не существует, и, по словам исследователей, выпустить его без изменения аппаратного обеспечения невозможно.
Что делает Rowhammer и почему ECC считалась решением
DRAM хранит каждый бит в виде заряда в ячейке, а ячейки расположены в тесно прилегающих друг к другу строках. Если «бомбардировать» одну строку многократным чтением, заряд просачивается в соседние ячейки, инвертируя их биты. Злоумышленник никогда не обращается к данным жертвы напрямую. Именно поэтому на протяжении десятилетия Rowhammer оставался излюбленным методом выхода из песочницы и повышения привилегий на процессорах.
Та же команда перенесла эту атаку на GPU. Разработка GPUHammer в 2025 году привела к появлению первых переключений битов в памяти GDDR6. GPUBreach, представленная ранее в этом году, превратила эти сбои в консоль root. Обе атаки мгновенно прекращались, как только пользователь включал ECC. Они производили от десятков до сотен сбоев на гигабайт, и исправление ошибок GPU могло исправить один инвертированный бит и обнаружить второй.
Таким образом, совет Nvidia был правильным для существовавших на тот момент атак. GPUThor — это принципиально иной вид атаки.
Более мощная бомбардировка, а не умная
Предыдущие атаки на GPU проводились равномерно, распределяя усилия по фиктивным строкам, чтобы обойти встроенную защиту чипа — Target Row Refresh (TRR). Атакующие процессоры (CPU) перешли на неравномерные паттерны много лет назад. Никому не удавалось повторить это на графическом процессоре по двум причинам, которые исследователи выяснили путем обратной инженерии.
Первая заключается в том, что подсистема памяти GPU объединяет повторяющиеся запросы к одному и тому же адресу, поэтому наивная бомбардировка сводится к одному обращению. Исследователи обнаружили, что обращения из разных варпов к разным кэш-линиям одной и той же строки сохраняются как отдельные попадания. Вторая причина — тайминг: Target Row Refresh на Ampere GDDR6 срабатывает примерно один раз за 72 интервала обновления, а не один раз за интервал, как предполагалось ранее. Паттерны, которые остаются синхронизированными с этим расписанием, воспроизводятся надежно.
Результатом стала интенсивность бомбардировки, в 6,6 раза превышающая показатели предыдущих атак на GPU, и в 500–23 500 раз большее количество переключений битов. При отключенной ECC видеокарта A5000 выдавала 377 000 сбоев на гигабайт. Blacksmith, самая мощная атака на CPU, достигает примерно 550 000 сбоев на DDR4. Полноценное повышение привилегий, которое с помощью паттернов GPUHammer занимало 21,9 часа, с помощью GPUThor выполняется за 1,1 минуты.
При включенной ECC биты повреждаются быстрее, чем система успевает их исправить. Исследователи зафиксировали 387 двухбитовых ошибок, которые ECC обнаруживает, но не может исправить. Они также зафиксировали две трехбитовые ошибки, которые система молча исправила на неверные значения.
Три возможности, которые теперь открываются перед злоумышленником
Первая — это отказ в обслуживании (Denial of Service). На карте A6000 с включенной ECC GPUThor каждые два часа принудительно перезагружает графический процессор, уничтожая все задачи на карте. В течение дня GPU объявляет себя неисправным и требует замены.
Вторая — захват системы. Повреждая таблицы страниц GPU, непривилегированная программа получает доступ на чтение и запись к любой памяти и открывает root-оболочку на хост-процессоре. Исследователи описывают это как первый случай подобного захвата на защищенном ECC графическом процессоре.
Третья — скрытое повреждение данных. Трехбитовая ошибка, которую ECC некорректно исправляет, не оставляет следов. Для модели, проходящей обучение или обслуживающей запросы, это означает появление ошибочного веса, который никто не сможет обнаружить.
Кому стоит беспокоиться
Четыре подтвержденные видеокарты являются компонентами для рабочих станций, которые часто используются в ИИ-станциях и облачных инстансах. Nvidia заявляет, что при тех же паттернах на картах GDDR6X или HBM2e сбоев битов не наблюдалось, и исследователи также не обнаружили их на HBM или GDDR7. Однако BleepingComputer сообщает, что в документе говорится о возможности повышения привилегий на серверных GPU A100, которые используют тот же класс исправления ошибок. Функция восстановления в архитектуре Blackwell скорее замедляет атаку, чем останавливает ее, отмечают авторы статьи.
Критическим фактором является разделение GPU (shared GPU). Когда одна физическая карта используется несколькими пользователями попеременно (что обычно для облачных ИИ-сервисов), злоумышленник на той же карте может изменить биты в данных жертвы или вывести общий графический процессор из строя. В июле издание TNW сообщало, что облачный арендатор, имеющий в распоряжении лишь арендованный GPU, может создать нагрузку на электросеть. GPUThor реализует ту же модель угроз, направленную на соседнего арендатора.
Советы и экономическая сторона вопроса
Даже индивидуальный GPU уязвим, если на нем запускается несерифицированный код, а в сфере ИИ это относится к большинству систем. Скачанная из интернета модель, пакет, подгружаемый скриптом обучения, или агент в песочнице — все они выполняются на видеокарте. Китайская модель Kimi K3 вырвалась из своей песочницы в Британском институте безопасности ИИ в августе, а агенты OpenAI бежали из лаборатории с захватом флага в июле. Ни одному из них не потребовался аппаратный сбой. GPUThor предоставляет следующему злоумышленнику гораздо более короткий путь.
Собственные рекомендации Nvidia сводятся к одновременному включению системной ECC и изоляции IOMMU, мониторингу телеметрии ошибок и ограничению ненадежных рабочих нагрузок. Исследователи добавляют: не разделяйте физический GPU между ненадежными арендаторами и рассматривайте всплеск количества исправленных ошибок как продолжающуюся атаку.
Эти рекомендации противоречат экономической логике. Бизнес неoблачных вычислений продает разделенное время GPU по часам, причем краткосрочные мощности уже стоят вдвое дороже долгосрочных. Изоляция каждого арендатора на собственной карте делает их еще дороже. Компания Nvidia, которая этим летом сформировала команду по безопасности ИИ под конкретные бизнес-цели, теперь столкнулась с аппаратной уязвимостью, имеющей противоположные экономические последствия.
За чем стоит следить
Три вещи. Первая — 15 ноября, когда код будет опубликован в открытом доступе на GitHub. Разрыв между публикацией научной статьи и появлением работающего эксплойта «в дикой природе» обычно отсчитывается с этой даты, а не с даты выхода работы.
Вторая — вопрос с A100. Подтвержденные уязвимые карты относятся к рабочим станциям. Если метод повышения привилегий работает на серверном GPU, на котором обучалось большинство моделей текущего поколения, масштаб затронутого парка оборудования будет совершенно иным, однако Nvidia пока никак это не прокомментировала.
Третья — отсутствие ожидаемого исправления. Исследователи заявляют, что для полного решения проблемы требуется многобитовая ECC или средства защиты класса DDR5, такие как управление обновлением (Refresh Management) и подсчет активаций на строку (Per-Row Activation Counting), встроенные непосредственно в память GPU. Это продукты будущего. Всё, что развернуто в настоящее время, будет работать с теми мерами митигации, которые Nvidia предложила в прошлом году и которые эта научная работа успешно обходит.



