The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

GPUHammer - вариант атаки Rowhammer на память GPU

14.07.2025 10:22

Исследователи из Университета Торонто представили первую атаку класса Rowhammer, применяемую для искажения содержимого видеопамяти. Возможность совершения атаки, приводящей к подстановке до 8 бит данных, продемонстрирована на дискретном GPU NVIDIA A6000 с видеопамятью GDDR6. В качестве практического примера показано как можно использовать подобное искажение для вмешательства в выполнение моделей машинного обучения и существенного (с 80% до 0.1%) снижения точности выдаваемых ими результатов при изменении значения всего одного бита.

До сих пор создание атак класса Rowhammer для видеопамяти было затруднено из-за сложности определения физической раскладки памяти в чипах GDDR, больших задержек при доступе к памяти (в 4 раза медленнее) и более высокой частоты обновления памяти. Кроме того, проведению исследований мешало задействование в чипах GDDR проприетарных механизмов защиты от манипуляций, приводящих к преждевременной потере заряда, для анализа которых требовалось создание специальных аппаратных тестовых стендов на базе FPGA.

Для изучения видеопамяти исследователями была создана новая техника обратного инжиниринга GDDR DRAM, а в самой атаке задействованы применяемые для организации параллельных вычислений оптимизации доступа к памяти, которые были использованы в качестве усилителей интенсивности доступа к отдельным ячейкам. Для проведения атаки на GPU NVIDIA использован низкоуровневый код CUDA.

В пользовательском коде CUDA не выполняется обращение по физическим адресам памяти, но в драйвере NVIDIA производилось отражение виртуальную памяти в одну и ту же физическую память, чем и воспользовались исследователи для вычисления смещения виртуальной памяти и определения раскладки банков памяти. Распознание обращений к разным банкам памяти было произведено через анализ задержек, которые отличались при доступе к одному или разными банкам памяти.

В системах, совместно использующих GPU, таких как серверы для выполнения моделей машинного обучения, атака позволяет одному пользователю изменить содержимое видеопамяти с данными другого пользователя. В качестве меры защиты компания NVIDIA рекомендует включить коды коррекции ошибок (ECC, Error Correction Codes) командой "nvidia-smi -e 1" или использовать серии видеокарт с поддержкой OD-ECC (On-Die ECC), такие как GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 и GH200.

По данным исследователей включение ECC на системах с GPU A6000 приводит к снижению производительности выполнения моделей машинного обучения примерно на 10% и уменьшению объёма памяти на 6.25%. Инструментарий для проведения атаки и выполнения обратного инжиниринга низкоуровневой раскладки видеопамяти на системах с GPU NVIDIA опубликован на GitHub.

Атака RowHammer позволяет исказить содержимое отдельных битов памяти DRAM путём цикличного чтения данных из соседних ячеек памяти. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения большая, то соседняя ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить её первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных.

Метод атаки Rowhammer был предложен в 2014 году, после чего между исследователями безопасности и производителями оборудования началась игра в "кошки-мышки" - производители чипов памяти пытались блокировать уязвимость, а исследователи находили новые способы её обхода. Например, для защиты от RowHammer производители чипов добавили механизм TRR (Target Row Refresh), но оказалось, что он блокирует искажение ячеек лишь в частных случаях, но не защищает от всех возможных вариантов атаки. Методы атаки были разработаны для чипов DDR3, DDR4 и DDR5 на системах с процессорами Intel, AMD и ARM. Также были найдены способы обхода коррекции ошибок ECC и предложены варианты совершения атаки по сети и через выполнение JavaScript-кода в браузере.

  1. Главная ссылка к новости (https://nvidia.custhelp.com/ap...)
  2. OpenNews: FlippyRAM - дистрибутив для тестирования атаки Rowhammer
  3. OpenNews: ZenHammer - метод атаки для искажения содержимого памяти на платформах AMD Zen
  4. OpenNews: SnailLoad - атака по определению открываемых сайтов через анализ задержек доставки пакетов
  5. OpenNews: Mayhem - атака, искажающая биты в памяти для обхода аутентификации в sudo и OpenSSH
  6. OpenNews: Воссоздание RSA-ключей через анализ SSH-соединений к сбойным серверам
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63575-gpurowhammer
Ключевые слова: gpurowhammer, rowhammer, gpu, attack
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (37) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:07, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Атака из разряда сферический конь в вакууме
     
     
  • 2.10, Аноним (10), 11:48, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Когда-то ядерная бомба была сферическим конем в вакууме.
     

  • 1.2, iPony128052 (?), 11:08, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    "Ah ..., Here We Go Again" (c)

     
     
  • 2.32, tmpnick (ok), 14:56, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Данный тип атаки хоть и не очень приятен - но, скорей надуман же, по практичному применению...

    Так что спите спокойно,
    "козлы" и "овцы", или если хотите "хомячки", - всёравно волки знают ещё 100-500 задних-дверей в любой ОС и ЦП. В смысле не стоит сильно переживать из-за этого Rowhammer...

    P.S.
    Анонимам (и особенно учатнику OpenmW проекта) - пост по теме OpenmW проекта и схожего, да и вообще идеального 3D движка:
    opennet. me/opennews/art.shtml?num=63545#24

    Альтернативно, то же самое с устранением проблемы форматирования подсветки:
    opennet. me/opennews/art.shtml?num=63545#25

     

  • 1.3, Аноним (3), 11:15, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Самое забавное, что все данные оставались в видеокарте после перезагрузки в другую ОС. Она там вообще не обнуляется что ли?
     
     
  • 2.8, Аноним (8), 11:41, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не обнуляется. Как ты гига обнулять будешь то при каждом переключении контекста? Видеопамять - она общая, в одном окне ты жмёшь на глазок "показать пароль", а любое другое может стырить картинку и прогнать через OCR. В относительно новых картах MMU есть, в TeraScale вообще вся видеопамять доступна всем.
     
     
  • 3.11, Аноним (11), 11:49, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > в одном окне ты жмёшь на глазок "показать пароль", а любое другое может стырить картинку

    Хм... Звучит как иксы.

     
     
  • 4.13, Аноним (8), 11:57, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не надо грязи, в иксах есть расширения для защиты. Проблема в том, что ни один софт их специально не поддерживает (кроме некоторых песочниц, а нужно - чтобы клиентский софт поддерживал). В результате возникают некоторые проблеы, когда я в firejail включаю изоляцию иксов через это расширение. Да, программы таки работают. Но начинают выглядеть как говно и управление работает как говно (а чтобы нормально заработало - программы нативно должны это поддерживать, а долбоящерам пофиг, им вейланд-вейланд-вейланд-старое-железо-дропнуть-надо, поэтому изоляцию пришлось выключить.
     
     
  • 5.14, Аноним (11), 12:03, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Что за расширения? Нет икс неймспейс ли, который появился лишь в форке? Так он должен был появиться не буквально на днях, а лет 5-10 назад. В файрджейл изоляция иксов традиционно делается запуском еще одного сервера, ксефира. В вяленом же все работает из коробки, а как говно не выглядит.
     
     
  • 6.26, Аноним (8), 13:21, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    firejail --x11=xorg

    Чтобы работало, XOrg должен быть настроен как запускаемый от не рута.

     
     
  • 7.27, nebularia (ok), 13:58, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А, это во вложенном окошке
     
     
  • 8.29, Аноним (29), 14:25, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сразу минус графическое ускорение ... текст свёрнут, показать
     
  • 3.20, Аноним (20), 12:36, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Примерно так

    https://www.phoronix.com/news/AMD-Cleaner-Shader-GFX11.0.3

     
     
  • 4.22, Аноним (10), 12:41, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Пора процессоры интегрировать в ГПУ, зачем они отделтные ума не приложу.
     
     
  • 5.28, Аноним (-), 14:24, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А затем, что ГПУ умеет быстро работать с графическими  пикселями, а не разнообразными данными.
     
     
  • 6.40, Аноним (-), 17:35, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эта точка зрения протухла цать лет назад, с появлением unified shaders которым в... большой текст свёрнут, показать
     
  • 5.36, Аноним (-), 16:00, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Пора процессоры интегрировать в ГПУ, зачем они отделтные ума не приложу.

    APU себе купи - будет все вместе.

     
     
  • 6.51, Аноним (51), 21:34, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Надо всех перевести на APU.
     
  • 2.23, Аноним (23), 13:07, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я это заметил ещё лет 15 назад, когда перезагружался из линукс в виндовс и мелькала заставка нвидиа, которая шла с дровами к линукс.
     
     
  • 3.24, Аноним (3), 13:20, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я это заметил ещё лет 15 назад, когда перезагружался из линукс в
    > виндовс и мелькала заставка нвидиа, которая шла с дровами к линукс.

    Вроде на uefi это повесили, только производители дружно забили. А так при старте иксов венда мелькала, да.

     
  • 2.35, Аноним (-), 15:30, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Самое забавное, что все данные оставались в видеокарте после
    > перезагрузки в другую ОС. Она там вообще не обнуляется что ли?

    Оператива тоже видишь ли за просто сам факт сброса - не обнуляется. На основе этого есть атаки по тырингу ключей из памяти опосля сброса. И это причина по которой нормальное крипто - изничтожает ключ в памяти явно затерев его сразу после того как он перестал требоваться, чтобы минимизировать окно возможностей для таких вещей.

    В стародавние времена BIOS парились RAM test но - обычно только при cold boot, и по мере увеличения объема оперативы время этой операции почему-то всех задолбало и на все это забили.

     
  • 2.37, sena (ok), 16:23, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    причём сделать аппаратный сброс памяти проще простого - отключаем рефреш и через 60-200мс наши данные разрушены

    почему это до сих пор не реализовано?

     
     
  • 3.41, Аноним (-), 17:48, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > причём сделать аппаратный сброс памяти проще простого - отключаем рефреш
    > и через 60-200мс наши данные разрушены

    Потому что реально оно разрушится при этом далеко не полностью.

     

  • 1.7, Аноним (8), 11:33, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как же GLitch https://www.vusec.net/projects/glitch/ 2018 года, где через WebGL делали?
     
  • 1.9, Аноним (10), 11:47, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну все теперь известно как искусственный интеллект захватит галактику.
     
     
  • 2.15, Аноним (15), 12:08, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он уже поселился в твоей видеокарте. Теперь даже выключение компа тебя не спасёт.
     
     
  • 3.21, Аноним (10), 12:40, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Sad, but true.
     
  • 3.25, Аноним (-), 13:21, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Холодний рестарт.
     
     
  • 4.48, 12yoexpert (ok), 19:16, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а что делать гентушникам?
     
     
  • 5.50, Аноним (51), 21:32, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То же что и динозаврам.
     

  • 1.16, Аноним (16), 12:17, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, как программная коррекция поможет проблемкмна шареной памяти? Разве что производительность -10% (т.е. +10% к расходам, когда оно по времени считается)
     
     
  • 2.43, ckotinko (ok), 18:11, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно изолировать таблицы страниц. Надо знать "геометрию памяти". И тогда проблемы не будет
     
  • 2.45, tmpnick (ok), 18:44, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, как программная коррекция поможет

    Никак, она исправляет же 1, максимум 2 бита в байте - из рассчёта на небольшие переоблучения [космические]
    (а, т.к. они постоянны отсюда доп.баги из-за порчи данных при без этого,
    но и с этим не всегда обнаруживаются а, только с некоторой вероятностью повыше,
    экономика же должна быть экономной этим производителям... фактически ценой данных покупателей их продукции
    ),
    Т.о. объявленная ранее защита коррекцией от данного типа атак атаки  - просто "зауспокоительный маркетинг"(C) и почти ничего личного.

     

  • 1.39, Tron is Whistling (?), 17:12, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И конечно же требует рут-доступа к системе.
    Интересно только полутора продающим виртуалочки с GPU - собственно так им и надо.
     
  • 1.42, ckotinko (ok), 18:10, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это же было очевидно. Я даже разработал улучшение контроллера которое принудительно пихает реген в поток команд
     
     
  • 2.46, tmpnick (ok), 18:49, 14/07/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Очень разные же скорости - что то не верится что это стало реальной панацеей.
     

  • 1.47, Аноним (47), 18:58, 14/07/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сорок лет пытаемся натянуть архитектуру локалхостов на многопользовательский доступ, и с каждой итерацией не получается — то колесо отвалится, то дворники, то руль. По хорошему всё бы передизайнить начиная с фундамента под многопользовательскую парадигму, но настоящих буйных мало, а те кто мог бы принять такое решение боятся что не получится и акционеры заругают. Вот раз за разом и выбирают провернные решения™. Как говорится, ещё никого не уволили за то, что он выбрал продукты IBM. Скорее бы на пенсию внуков няньчить.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру