Учёные из Университета Джорджии и Техасского университета провели первую успешную атаку на видеокарту Nvidia A6000 с памятью GDDR6. Вызванные ими ошибки в памяти нарушают работу популярных нейросетевых моделей, снижая точность их предсказаний до менее чем 0,5% всего за восемь попыток с начальной точностью 80%.
Атака основана на эффекте Rowhammer, при котором частое считывание данных из одной строки памяти может исказить биты в соседних строках. Раньше считалось, что видеопамять графических процессоров, особенно мощных, таких как A6000, не подвержена подобным атакам. Новая методика под названием GPUHammer обходит защитные механизмы и позволяет вызывать ошибки, воздействуя на веса нейросетей, хранящиеся в видеопамяти.
Современные микросхемы памяти настолько плотные, что многократное чтение или запись одной строки может вызвать электрические помехи, из-за которых меняются биты в соседних строках. Изменённым битом может быть любая информация — число, команда или часть веса нейронной сети.
Для атаки исследователи применили особенности многопользовательского режима работы видеокарт в облачных платформах. Благодаря точному управлению расположением данных в памяти атакующий может разместить свои данные рядом с ячейками другой программы, например, библиотеки PyTorch. Это позволяет целенаправленно провоцировать сбои в обученной модели без прямого взаимодействия с её кодом. Для этого злоумышленнику достаточно использовать тот же графический процессор в облачной среде или на сервере.
Модели с параметрами в формате FP16 оказались наиболее чувствительными к ошибкам: изменение одного бита в числе может существенно исказить значение веса и вызвать спад качества результатов. Такая ошибка способна снизить точность распознавания изображений с 72% до 0,08% на тестовом наборе ImageNet.
Исследование показало, что алгоритмы распределения памяти, фокусирующиеся на производительности, случайно способствуют подобным атакам. Например, Rapids мгновенно перераспределяет освобожденные участки памяти, что дает злоумышленнику возможность с высокой точностью контролировать расположение данных жертвы.
Авторы указывают, что системы с активной коррекцией ошибок (ECC) могут быть защищены от подобных атак, но часто отключаются из-за снижения производительности и увеличения потребления памяти. По их данным, включение ECC на A6000 замедляет выполнение типичных задач машинного обучения на 3–10%.
Сценарий актуальнее всего для общего назначения графических процессоров, например, облачных игровых серверов, кластеров для обучения ИИ или конфигураций VDI, где несколько пользователей запускают рабочие нагрузки на одном устройстве. Однако риск актуален и для широкого спектра графических процессоров Ampere, Ada, Hopper и Turing, особенно используемых в рабочих станциях и серверах. Nvidia опубликовала полный список уязвимых моделей и рекомендует использовать ECC для большинства из них.
В планах команды – тестирование других видеокарт, среди которых будут модели с памятью HBM и новейшим стандартом GDDR7, а также разработка программных и аппаратных средств для предотвращения атак Rowhammer на графических процессорах.