Атаките GDDRHammer и GeForge, които изкривяват паметта на GPU, за да получат достъп до цялата памет на CPU

Изследователи от няколко университета в САЩ и Австралия разработиха две атаки от клас 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, дават възможност да се четат и записват данни с повикване на основната памет през шина PCIe при изключен IOMMU (по подразбиране изключен).

Атаките GDDRHammer и GeForge, които изкривяват паметта на GPU, за да получат достъп до цялата памет на CPU
Атаките GDDRHammer и GeForge, които изкривяват паметта на GPU, за да получат достъп до цялата памет на CPU

Успешни атаки бяха демонстрирани за високопроизведителни професионални графични карти NVIDIA RTX A6000, основани на микроархитектурата Ampere (новите карти започват от $6850, а употребяваните — от $4000), както и за битови модели NVIDIA RTX 3060 ($250-300). Разработената техника за заобикаляне на защитата от Rowhammer, в комбинация с използването на предоставените от GPU средства за паралелизиране на операциите, е увеличила 64 пъти честотата на възникване на изкривявания на клетките в сравнение с предишните атаки. Като временно средство за блокиране на атаките, режимът за корекция на грешки ECC (Error Correcting Codes) може да бъде включен с командата „nvidia-smi -e 1“, но той води до допълнителни разходи и потенциално може да бъде заобиколен, използвайки методи за атака, като ECCploit и ECC.fail.

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

Методът на атаката Rowhammer беше предложен през 2014 година, след което между изследователите по сигурността и производителите на оборудване започна игра на „котка и мишка“ — производителите на чипове за памет се опитваха да блокират уязвимостта, а изследователите откриваха нови начини за нейното заобикаляне. Например, за защита от RowHammer производителите на чипове добавиха механизъм TRR (Target Row Refresh), но се оказа, че той блокира изкривяванията на клетките само в частни случаи, но не предлага защита срещу всички възможни варианти на атака. Методи на атака са разработени за чипове DDR3, DDR4 и DDR5 на системи с процесори Intel, AMD и ARM, както и за GDDR-памет на GPU NVIDIA. Освен това са открити начини за заобикаляне на корекцията на грешки ECC и са предложени варианти за извършване на атака през мрежата и чрез изпълнение на JavaScript код в браузъра.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster