Ilang araw na ang nakalipas, ang impormasyon ay inilabas ng isang pangkat ng mga mananaliksik sa pagbuo ng unang pag-atake ng Rowhammer ito ay matagumpay na naidirekta sa la GDDR6 na memorya ng video ng isang GPU, partikular ang isang NVIDIA A6000.
Ang teknik, tinawag na GPUHammer, ay nagbibigay-daan sa mga indibidwal na bit sa DRAM ng GPU na manipulahin, na lubhang nagpapababa sa katumpakan ng mga modelo ng machine learning sa pamamagitan ng pagbabago ng isang piraso lamang ng kanilang mga parameter. Ang mga bit flip na ito ay nagbibigay-daan sa isang malisyosong user ng GPU na manipulahin ang data ng GPU ng isa pang user sa mga shared, time-sliced environment.
Hanggang ngayon, Itinuring na hindi praktikal ang paglalapat ng Rowhammer sa mga alaala ng video dahil sa ilang teknikal na limitasyon. Ang pisikal na layout ng mga memory cell sa GDDR chips ay mahirap imapa, ang mga latency ng pag-access ay hanggang apat na beses na mas mabagal kaysa sa maginoo na DRAM, at ang mga rate ng pag-refresh ay mas mataas. Idinagdag dito ang pagmamay-ari na mga mekanismo ng proteksyon laban sa maagang pagkawala ng singil, ang reverse engineering na nangangailangan ng espesyal na kagamitan.
Upang malampasan ang mga hadlang na ito, Gumawa ang mga mananaliksik ng bagong reverse engineering technique na nagta-target sa GDDR DRAMGamit ang mababang antas na CUDA code, isinagawa nila ang pag-atake sa pamamagitan ng mga partikular na pag-optimize na nagpatindi ng pag-access sa ilang mga cell ng memorya, na lumilikha ng mga kondisyon na nakakatulong sa pagmamanipula ng bit. Ang susi sa tagumpay ay nakasalalay sa pagkamit ng lubos na organisadong parallel computing, na kumilos bilang isang amplifier ng presyon sa mga katabing cell.
Paano gumagana ang pag-atake?
Ang pag-atake sinasamantala ang isang pisikal na kahinaan sa DRAM, kung saan ang intensive access sa isang memory row (kilala bilang "hammering") maaaring magdulot ng mga pagbabago sa mga katabing rowBagama't natukoy ang kahinaan na ito noong 2014 at malawakang pinag-aralan sa memorya ng CPU DDR, ang pag-port nito sa mga GPU ay naging hamon sa ngayon dahil sa:
- Ang mataas na access latency ng GDDR6 (hanggang 4 na beses na mas mataas kaysa sa DDR4).
- Ang pagiging kumplikado sa pisikal na paglalaan ng memorya.
- Ang pagkakaroon ng pagmamay-ari at hindi maayos na dokumentado na mga pagpapagaan, tulad ng TRR.
Ang Rowhammer ay isang kahinaan sa hardware kung saan ang mabilis na pag-activate ng isang row ng memory ay nagpapakilala ng mga bit flips sa mga katabing row. Mula noong 2014, ang kahinaan na ito ay malawakang pinag-aralan sa mga CPU at memorya na nakabatay sa CPU tulad ng DDR3, DDR4, at LPDDR4. Gayunpaman, dahil tumatakbo na ngayon ang mga kritikal na AI at machine learning workload sa mga discrete GPU sa cloud, kritikal ang pagtatasa sa kahinaan ng memorya ng GPU sa mga pag-atake ng Rowhammer.
Sa kabila ng mga hadlang na ito, ang Nagawa ng mga mananaliksik na ilapat ang reverse engineering sa virtual/pisikal na paglalaan ng memorya sa CUDA, Bumuo sila ng isang paraan upang makilala ang mga partikular na DRAM memory bank at nag-optimize ng parallel na pag-access gamit ang maraming thread at warps, na nagma-maximize sa rate ng pagmamartilyo nang hindi nagdudulot ng karagdagang latency.
Ang patunay ng konsepto ay nagpakita kung paano ang isang solong-bit na flip sa deep neural network (DNN) na mga timbang ng modelo, partikular sa mga exponents ng FP16, ay maaaring magpababa sa top-1 na katumpakan ng mga modelo ng pag-uuri ng imahe sa ImageNet mula 80% hanggang 0,1%. Nakakaalarma ang paghahanap na ito para sa mga data center at cloud services na nagpapatakbo ng mga AI workload sa mga shared environment na may mga GPU.
Mga pagpapagaan at limitasyon
Kinumpirma ng NVIDIA ang kahinaan at inirerekomenda ang pagpapagana ng suporta sa ECC. (Error-Correcting Code) gamit ang command nvidia-smi -e 1. Bagaman Maaaring itama ng panukalang ito ang mga pagkakamali single-bit, Ito ay nagpapahiwatig ng pagkawala ng pagganap ng hanggang 10%. at isang 6,25% na pagbawas sa magagamit na memorya. Hindi rin nito pinoprotektahan laban sa mga pag-atake sa hinaharap na kinasasangkutan ng maraming bit flips.
Kinumpirma namin ang Rowhammer bit fluctuations sa NVIDIA A6000 GPUs na may GDDR6 memory. Ang iba pang mga GDDR6 GPU, gaya ng RTX 3080, ay hindi nagpakita ng kaunting pagbabagu-bago sa aming pagsubok, posibleng dahil sa mga pagkakaiba-iba sa DRAM vendor, mga katangian ng chip, o mga kondisyon ng operating gaya ng temperatura. Hindi rin kami nakakita ng anumang pagbabagu-bago sa isang A100 GPU na may HBM memory.
Itinatampok iyon ng koponan Ang GPUHammer ay kasalukuyang na-verify lamang sa A6000 GPU na may GDDR6, at hindi sa mga modelo tulad ng A100 (HBM) o RTX 3080. Gayunpaman, dahil ito ay isang pinalawak na pag-atake, hinihikayat ang ibang mga mananaliksik na kopyahin at palawakin ang pagsusuri sa iba't ibang mga arkitektura at modelo ng GPU.
Panghuli, kung interesado kang matuto nang higit pa tungkol dito, maaari mong konsultahin ang mga detalye sa sumusunod na link.