Исследователи из нескольких университетов США и Австралии разработали две атаки класса Rowhammer — GDDRHammer и GeForge, позволяющие при выполнении непривилегированного ядра CUDA на GPU NVIDIA добиться искажения отдельных битов в чипах видеопамяти GDDR. В отличие от представленного в прошлом году метода GPUHammer, новые атаки не ограничиваются воздействием на данные, обрабатываемые в памяти GPU, а позволяют получить полный доступ ко всей основной памяти, относящейся к адресному пространству CPU. Исследователями продемонстрированы эксплоиты, предоставляющие root-доступ к основной системе при выполнении непривилегированного CUDA-ядра на GPU.
Обе атаки добиваются преждевременной потери заряда в определённых ячейках видеопамяти, к которым у атакующих нет прямого доступа, что приводит к изменению хранящихся в этих ячейках битов. Возможность чтения и записи в память, относящуюся к адресному пространству CPU, реализована путём вмешательства в работу аллокатора памяти GPU (cudaMalloc) для нарушения изоляции памяти GPU и отображения виртуальных адресов GPU в произвольные адреса физической памяти GPU или CPU.
Вмешательство осуществляется через искажение значений битов в видеопамяти, в которой хранятся таблицы страниц памяти GPU, отвечающие за трансляцию виртуальных адресов в физические. Отличия между атаками GDDRHammer и GeForge сводятся к тому, что метод GDDRHammer модифицирует таблицу страниц последнего уровня (PT — Last Level Page Table), а метод GeForge — каталог страниц последнего уровня (PD0 — Last Level Page Directory).
Среди прочего указанные таблицы трансляции адресов используются для организации прямого доступа GPU к памяти CPU, поэтому изменение адреса в таблице страниц GPU на физический адрес в основной оперативной памяти и выставление флага APERTURE, включающего режим маппинга памяти CPU, дают возможность читать и записывать данные c обращением к основной памяти через шину PCIe при отключённом IOMMU (по умолчанию отключён).


Успешные атаки продемонстрированы для высокопроизводительных профессиональных видеокарт NVIDIA RTX A6000 на базе микроархитектуры Ampere (стоимость новых карт начинается с $6850, а подержанных — с $4000) и бытовых моделей NVIDIA RTX 3060 ($250-300). Разработанная техника обхода защиты от Rowhammer в сочетании с задействованием предоставляемых в GPU средств распараллеливания операций позволила в 64 раза увеличить частоту возникновения искажения ячеек по сравнению с прошлыми атаками. В качестве временной меры для блокирования атак командой «nvidia-smi -e 1» может быть включён режим коррекции ошибок ECC (Error Correcting Codes), но он приводит к дополнительным накладным расходам и потенциально может быть обойдён, используя такие методы атак, как ECCploit и ECC.fail.
Sulmi RowHammer lejon shpërputhjen e përmbajtjes së biteve të veçanta të memorjes DRAM përmes leximeve ciklike të të dhënave nga qelizat përreth. Pasi memorja DRAM përbëhet nga një matricë dy-dimensionale e qelizave, secila nga të cilat përbëhet nga një kondensator dhe një tranziistor, kryerja e leximeve të vazhdueshme në të njëjtën zonë të memories ndihmon në fluktuacionin e tensionit dhe anomalitë që shkaktojnë një humbje të vogël të ngarkesës në qelizat përreth. Nëse intensiteti i leximit është i lartë, qeliza përreth mund të humbasë një sasi të konsiderueshme ngarkese dhe cikli i ardhshëm i rikuperimit nuk arrin ta rikthejë gjendjen e saj fillestare, gjë që do të çojë në ndryshimin e vlerës së të dhënave të ruajtur në qelizë.
Метод атаки Rowhammer был предложен в 2014 году, после чего между исследователями безопасности и производителями оборудования началась игра в «кошки-мышки» — производители чипов памяти пытались блокировать уязвимость, а исследователи находили новые способы её обхода. Например, для защиты от RowHammer производители чипов добавили механизм TRR (Target Row Refresh), но оказалось, что он блокирует искажение ячеек лишь в частных случаях, но не защищает от всех возможных вариантов атаки. Методы атаки были разработаны для чипов DDR3, DDR4 и DDR5 на системах с процессорами Intel, AMD и ARM, а также для GDDR-памяти GPU NVIDIA. Помимо этого были найдены способы обхода коррекции ошибок ECC и предложены варианты совершения атаки по сети и через выполнение JavaScript-кода в браузере.
Burimi: opennet.ru
