Napad rowhammer deluje tudi s pomnilnikom ECC

Matej Huš

24. nov 2018 ob 19:22:32

Napad rowhammer, ki ga poznamo že dobra tri leta, zmore prizadeti tudi pomnilniške module, ki uporabljajo ECC, so pokazali raziskovalci z amsterdamske univerze. Doslej je veljalo, da ECC nudi zaščito pred tovrstnimi napadi, a se je izkazalo, da je vsaj DDR3 ranljiv tudi z ECC. Nova varianta napada, ki se imenuje ECCploit, še ni bila odkrita v divjini in verjetno v praksi ne more vplivati na storitve v oblaku, kot sta Azure in AWS.

Rowhammer je posledica leta 2014 odkrite pomanjkljivosti modernih pomnilniških čipov. Ti so fizično že tako majhni, da lahko dogajanje v eni celici vpliva na stanje sosednjih. Če večkrat v kratkem razmaku poizkusimo brati podatke iz iste vrstice (row), to lahko pokvari vsebino sosednjih celic. S premeteno izvedbo napada lahko v sosednjih celicah dosežemo ciljane spremembe, s katerimi lahko povzročimo tudi eskalacijo privilegijev. Napad je možen tudi na telefonih.

Sistem ECC je namenjen odkrivanju (spontanih) napak v pomnilniku, saj paritetni bit lahko ujame spremembo enega bita v 64-bitnem zaporedju. Če sta napaki dve, se prizadeti program navadno sesuje. Toda dosežemo lahko tudi spremembo treh bitov, kjer pa se napaka ne odkrije. Na ta način je mogoče zlorabiti ranljivost za napad na sistem. ECCploit, kakor so raziskovalci poimenovali napad, deluje na pomnilniške čipe DDR3. Za DDR4 demonstracije še ni, pravijo pa, da verjetno tudi obstaja kakšna možnost. Napad so izvedli v kontroliranem okolju s fizičnim dostopom, zato trenutno menijo, da nevarnosti za oddaljene sisteme ni. Je pa ranljivost zanimiva že z akademskega vidika.