Обнаружены две новые атаки Rowhammer для GPU, способные вызывать сбои битов в VRAM для получения произвольного доступа на чтение/запись. Эти атаки нацелены на файлы страниц и каталог страниц, которые в противном случае защищены от электрических помех драйвером. «Массируя» эти структуры данных в уязвимые области, где может произойти сбой бита, злоумышленник может получить доступ даже к памяти ЦП. — tomshardware.com
В прошлом году мы рассказывали о первой известной атаке Rowhammer на графические процессоры, получившей название «GPUHammer», которая доказала, что видеопамять (VRAM) также подвержена сбоям битов. В то время наше внимание было сосредоточено на том, как GPUHammer может снизить точность модели ИИ с 80% до всего лишь 0,1% на RTX A6000 с помощью одного сбоя бита. С тех пор появились две новые атаки Rowhammer, которые могут обеспечить доступ уровня root к центральному процессору (CPU) через ваш графический процессор (GPU), потенциально компрометируя всю вашу систему (история по материалам Ars Technica). Эти атаки называются «GDDRHammer» и «GeForge», как указано на веб-сайте gddr.fail. Обе они работают довольно схожим образом и имеют идентичную конечную цель. Но прежде всего, важно понять, что такое Rowhammer. Еще в 2014 году было обнаружено, что постоянный доступ к строкам памяти может намеренно вызвать сбой бита в соседних строках. Поскольку биты хранятся в виде электрического заряда, «простукивание» ими вызывает электрические помехи, которые могут изменить 0 на 1 или наоборот. Когда происходит сбой бита, злоумышленник внезапно получает возможность получить доступ к более высоким привилегиям в памяти, откуда можно скомпрометировать ЦП. Rowhammer всегда ассоциировался с ЦП, поскольку он начался с оперативной памяти DDR3 и распространился на другие типы системной памяти, такие как DDR5 или DDR4 с ECC. Только в конце 2025 года впервые был скомпрометирован графический процессор, когда исследователи атаковали видеопамять GDDR6 на RTX A6000. Теперь GDDRHammer выводит это на новый уровень. Концепция принудительного сбоя бита остается прежней, но «простукивание» стало умнее и значительно эффективнее. Исследователи использовали технику, называемую «массаж памяти», для организации более контролируемой атаки, что позволило им добиться 129 сбоев на банк памяти. Это называется массажем, потому что атака направляет целевые структуры данных в области памяти, которые не защищены от электрических помех (драйверами GPU). Это делается для того, чтобы нарушить таблицы страниц GPU, которые указывают на физические адреса в VRAM. Представьте, что приложение получает доступ к памяти другого приложения, над которым оно не имеет контроля; вы обманываете GPU, заставляя его нарушать собственные границы. Как только таблицы страниц повреждены и изоляция памяти скомпрометирована, вы получаете полный контроль над VRAM, что обеспечивает доступ на чтение и запись. GeForge основан на GDDRHammer, но был обнаружен другой исследовательской группой, которая пошла еще дальше и нацелилась на каталог страниц GPU вместо таблиц страниц. Каталог указывает на эти таблицы, поэтому, вызывая сбои битов в этой структуре данных, вы компрометируете VRAM на еще более глубоком уровне. Кроме того, GeForge работает, даже если IOMMU отключен в BIOS (об этом позже). Команда смогла вызвать 1171 сбой бита на RTX 3060 и 202 сбоя бита на RTX A6000. Это, очевидно, выводит из строя память графического процессора, но, согласно исследовательской работе, это также означает, что «злоумышленник может изменить таблицу страниц на графическом процессоре так, чтобы она указывала на память в ЦП, тем самым давая злоумышленнику возможность читать/записывать всю память ЦП, что, конечно, полностью компрометирует машину». На данный момент, по-видимому, только память GDDR6 подвержена этим атакам Rowhammer, и команда протестировала 25 графических процессоров, обнаружив уязвимости в большинстве из них. Более современные карты с памятью GDDR6X или GDDR7 также были протестированы, но пока не удалось их скомпрометировать. Nvidia уже рекомендовала включить ECC для смягчения последствий атак Rowhammer, но это снижает общую емкость VRAM, вносит накладные расходы на производительность и доступно не на всех графических процессорах. Другой вариант — включить IOMMU (Input–Output Memory Management Unit) в BIOS, который устанавливает строгие границы для устройств, не являющихся ЦП, когда они пытаются получить доступ к системной памяти. Обычно графический процессор может читать или записывать системную память без запроса к ЦП каждый раз (прямой доступ к памяти), что и позволяет GDDRHammer или GeForge проникать в системную ОЗУ. Но при включенном IOMMU поврежденные таблицы страниц с некорректным сопоставлением не могут быть использованы для получения доступа к ЦП, поскольку они будут изолированы. Представьте, что графический процессор помещен в песочницу, где он все еще может взаимодействовать с ЦП, но ему не разрешено обходить его. Конечно, если сам IOMMU настроен неправильно или становится целью атаки, его тоже можно обойти, но на данный момент это лучшая линия защиты. Сами исследователи признают, что включение IOMMU закрывает уязвимость. По умолчанию он остается отключенным в BIOS, чтобы избежать проблем с совместимостью, поскольку он очень строг. Атаки Rowhammer, хотя и опасны, все же требуют, чтобы у злоумышленника был доступ к вашей системе для запуска кода, который инициирует процесс. Таким образом, вы не так активно подвержены риску, как при удаленных атаках. Однако в сети общих компьютеров, возможно, в кластере графических процессоров, выполняющих рабочие нагрузки ИИ, риск возрастает, поэтому, тем не менее, важно сохранять бдительность и быть в курсе. Ознакомьтесь с приложенными исследовательскими работами, если хотите углубиться в детали того, как работает каждая из атак.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Hassam Nasir