Nov napad na Intelove procesorje izrablja spreminjanje napetosti

Jurij Kristan

12. dec 2019 ob 07:59:43

Raziskovalci z več evropskih univerz so razvili napad Plundervolt, ki s spreminjanjem voltaže skozi sistem za navijanje Intelovih procesorjev doseže, da ti izdajo skrivnosti, ki se obdelujejo v njihovem zavarovanem odseku SGX.

Intel's Software Guard eXtensions (SGX) je set inštrukcij, s katerim je mogoče oblikovati varno enklavo v okviru procesorjevega pomnilnika, kamor lahko odložimo obdelavo posebej občutljivih podatkov, na primer šifrirnih ključev. Od okolice je ločena tako fizično, kakor programsko - s šifriranjem - zato naj druge aplikacije tja ne bi imele dostopa. Vsaj v teoriji, saj smo v začetku tega leta že lahko videli prvo zlo kodo, ki je napadala SGX. Sedaj pa so raziskovalci z univerz v Birminghamu, Leuvenu in Gradcu razvili razmeroma kompakten napad, spretno poimenovan Plundervolt, ki je zmožen iz SGXa pridobiti šifrirne ključe in tudi drugače motiti njegovo delovanje.

Posebno zanimiva je njegova premisa. Medtem ko pretekli razvpiti napadi na strojni ravni, kot so Rowhammer, Spectre in Meltdown, izrabljajo specifične slabosti v zasnovi pomnilnikov in procesorskih cevovodov, pa Plundervolt izkoristi občutljivost na spreminjanje voltaže. Strokovnjaki so združili spoznanja obstoječih tovrstnih prijemov VoltJockey in CLKscrew ter se lotili vmesnika za dinamično spreminjanje napetosti na procesorju iz operacijskega sistema. Z drugimi besedami, Plundervolt izrabi orodje za programsko navijanje CPUja. Raziskovalci so z vzvratnim inženiringom našli točna zaporedja nihanj v voltaži, s katerimi lahko spreminjajo bite v okviru SGXa. Metodo je moč izrabiti na več načinov. Prvi prvem je mogoče s primerjavo spremenjenih in nespremenjenih podatkov (side-channel observation) priti do vsebine v zavarovani enklavi, na primer šifrirnih ključev. Tako so ključe AES izluščili v zgolj nekaj minutah. Druga možnost je povzročanje napak v pomnilniku, ki lahko pripeljejo do nepravilnega delovanja programov (buffer overflow).

Ranljivi so vsi Intelovi procesorji Core od vključno šeste generacije (Skylake) dalje; Xeoni na enaki osnovi, se pravi E3 v5 in v6; pa še Xeoni E-2100 in E-2200. Kljub temu se navadnim uporabnikom zaenkrat najverjetneje ni treba bati, da bi bili tarče takšnega napada. Zli heker mora imeti na ciljni napravi za spreminjanje voltaže administratorske privilegije, a ne potrebuje dostopa na strojni ravni, kar v teoriji sicer omogoča napade od daleč. Toda za to so vendarle potrebne celovite priprave, zato je malo verjetno, da bi na tej osnovi lahko nastala zla koda, ki bi ranljivost izrabljala avtomatizirano in množično. Če bo Plundervolt dejansko kdaj uporabljen v divjini, bo šlo za dobro ciljane napade na tarče visoke vrednosti, na primer finančne ustanove.

Raziskovalci so orodje razvili junija in o tem obvestili Intel ter mu dali šest mesecev časa za razvoj popravkov. Tako je podjetje pred dnevi že izdalo popravke mikrokode in Biosov. Toda ti zaenkrat fiksirajo napetosti CPUjev, kar pomeni, da zanesenjakom onemogočijo preprosto navijanje procesorjev. Tudi zato se večini ljudi s tem trenutno ni treba obremenjevati - SGX je navsezadnje privzeto izklopljen.