Исследователи Университета Торонто (Канада) разработали новый метод атаки на память графических процессоров, позволяющий обойти защиту кодов коррекции ошибок (ECC) в предназначенных для корпоративных задач графических процессорах Nvidia и получить корневой доступ к базовой системе (права суперпользователя с полным контролем над ОС).
Этот метод, названный GPUThor, относится к классу атак Rowhammer и использует аппаратную уязвимость в модулях динамической памяти (DRAM) с высокой плотностью ячеек, где многократная активация («простукивание») одной строки памяти может вызывать изменение битов в соседних строках. Битовые инверсии возникают в результате выполнения быстрых и повторяющихся операций чтения одной и той же строки памяти (row hammering). Если делать это контролируемо, то можно получить проблемы с безопасностью — от повышения привилегий до манипулирования моделями ИИ. GPUThor — первая атака Rowhammer на графические процессоры Nvidia, способная преодолеть коды ECC, пояснили исследователи.
Их предыдущие атаки (GPUHammer и GPUBreach) равномерно нагружали строки памяти, поэтому аппаратный механизм Target Row Refresh (TRR) в DDR5 и более поздних поколениях памяти способен обнаружить однобитовые инверсии, а ECC – их исправить. Однако GPUThor впервые на практике осуществляет неравномерное «простукивание» строк в видеопамяти GPU, что вызывает одновременные ошибки в двух или даже трех битах, которые ECC исправить не может. GPUThor «простукивает» свою цель в 6,6 раза интенсивнее, чем предыдущие GPU-атаки, и вызывает в 500–23 500 раз больше битовых инверсий за сеанс атаки. GPUThor также сокращает время атаки, уменьшая длительность ее подготовительной фазы. Так, на карте Nvidia RTX A6000 с отключенной коррекцией ECC атака GPUHammer занимает 21,9 часа, а GPUThor — 1,1 минуты.
Инверсию битов подтвердили в четырех различных ускорителях на базе микроархитектуры графических процессоров Nvidia Ampere с памятью GDDR6 — RTX A4000, A5000, A6000 и A4500, которые часто используются в рабочих станциях, а также в виртуальных машинах и выделенных серверах публичных облаков. Однако в таких серверных графических картах Nvidia, как A100 и H100, а также в более новых ускорителях на базе архитектуры Blackwell инверсии битов пока не были продемонстрированы.
Тем не менее, в ходе испытаний удалось вызывать сбои в работе графических процессоров так часто, что в течение одного дня карты помечали себя как неисправные и подлежащие замене, используя внутренние механизмы обнаружения сбоев. Помимо создания условий для отказа в обслуживании, которые приводят к сбою всех рабочих нагрузок на карте, исследователям удалось повредить таблицы страниц памяти графического процессора таким образом, что непривилегированная программа получила права суперпользователя.
Полное устранение уязвимости, используемой GPUThor, потребует более совершенной встроенной аппаратной защиты в будущих GPU. До этого пользователям следует с осторожностью запускать на графических процессорах ненадежный код (к примеру, ML-модели, загружающие скомпрометированные пакеты из интернета), способный получить права суперпользователя и стать точкой входа вредоносного ПО.
В конце августа в Nvidia выпустили новое предупреждение о безопасности, касающееся атаки GPUThor.