Новые академические исследования выявили несколько атак класса RowHammer, направленных на графические процессоры (GPU), которые могут использоваться для повышения привилегий и полного захвата системы. Эти методы получили названия GPUBreach, GDDRHammer и GeForge.
GPUBreach развивает ранее представленную атаку GPUHammer и впервые показывает, что ошибки в памяти GPU могут использоваться не только для повреждения данных, но и для получения полного контроля над системой.
Повышение привилегий через память GPU
Атака GPUBreach основана на индуцировании битовых ошибок (bit-flips) в памяти GDDR6 с помощью техники RowHammer. За счёт этого злоумышленник может повредить таблицы страниц GPU.
После нарушения целостности таблиц страниц непривилегированный процесс получает произвольный доступ на чтение и запись в память GPU. Далее эта возможность используется для эскалации привилегий до уровня CPU и запуска root-доступа.
Исследователи отмечают, что атака использует ошибки безопасности в драйвере NVIDIA, что позволяет перейти от контроля над GPU к контролю над всей системой.
Обход защиты IOMMU
Особенность GPUBreach заключается в том, что атака работает даже при включённом IOMMU (механизме, который ограничивает доступ устройств к памяти системы).
Вместо прямого обхода IOMMU используется повреждение доверенных структур драйвера в допустимых областях памяти. Это приводит к выходу за границы памяти на уровне ядра и даёт возможность выполнять произвольную запись в памяти ядра.
Доступ к памяти CPU и утечка данных
После компрометации GPU атакующий может инициировать операции DMA для доступа к памяти CPU. Это позволяет:
получить доступ к памяти хоста
извлекать криптографические ключи
влиять на точность моделей машинного обучения
Атака демонстрирует, что GPU может стать точкой входа для полного захвата системы.
Связанные атаки: GDDRHammer и GeForge
Одновременно были представлены атаки GDDRHammer и GeForge, которые также используют битовые ошибки в памяти GDDR6.
GDDRHammer атакует таблицы страниц GPU, а GeForge директории страниц. В обоих случаях достигается доступ к памяти GPU и CPU.
Однако в отличие от них, GPUBreach позволяет выполнить полноценную эскалацию привилегий до уровня CPU, что делает её более опасной.
Ограничения и защита
Атаки класса RowHammer требуют выполнения кода на целевой системе, что снижает риск удалённой эксплуатации. Тем не менее, они представляют серьёзную угрозу для облачных сред, многопользовательских GPU-инфраструктур и HPC-систем.
В качестве временной меры защиты предлагается включение ECC-памяти на GPU. Однако ранее уже демонстрировались методы обхода подобных механизмов.
Источник: HN