Tudi DDR4 in DDR3 z ECC ranljiva na obračanje bitov

Matej Huš

19. mar 2016 ob 13:35:21

Ranljivost rowhammer, ki so jo raziskovalci na Carneige Mellon University odkrili predlani in za katero je Google praktično izvedbo pokazal lani, napada tudi pomnilniške čipe DDR4 in DDR3 z ECC. Doslej so ti veljali za odporne, a nove raziskave to demantirajo, so povedali na konferenci Semicon China.

Gre za zanimivo ranljivost, kjer programsko izkoriščamo pomanjkljiv fizični dizajn, ki je posledica miniaturizacije čipov. Ob večkratnem zaporednem dostopu do nekega mesta v pomnilniku (hammering) se namreč z neko verjetnostjo zgodi, da to spremeni bite v sosednjih celicah. To pa ni nujno, da povzroči lahko opazne posledice, kot je zrušitev sistema oziroma ponovni zagon. Kot je pokazal Google lani, je mogoče na ta način z eskalacijo privilegijev pridobiti dostop do računalnika.

Ob razkritju ranljivosti so proizvajalci novih čipov DDR4 zagotavljali, da so ti varni, ker uporabljajo TRR (targeted refresh row) in MAC (maximum access count), ki določata zgornjo mejo števila dostopov do iste pomnilniške celice v časovnem intervalu in osvežujeta sosednje celice. ECC pa tako ali tako uporablja paritetni bit za popravljanje enobitnih napak in zaznavanje dvobitnih.

Preizkus 12 različnih čipov DDR4 je pokazal, da so ranljivi tudi ti čipi. Ne sicer vsi, večina pa. Raziskovalcem je uspelo napad izvesti tudi na procesorskih DDR3 čipih, ki so imeli ECC. V tem primeru so se že v nekaj minutah po začetku napada strežniki sesuli ali ponovno zagnali, pa četudi so nekateri vsebovali posebno zaščito pred rowhammerjem, zaradi katere so povečali frekvenco osveževanja podatkov v pomnilniku.