Nov dan, nova ranljivost v Intelovih procesorjih

Matej Huš

15. avg 2018 ob 00:29:22

Na konferenci Usenix Security, ki te dni poteka v Baltimoru, so raziskovalci pokazali, da imajo Intelovi procesorji še tri varnostne luknje (CVE-2018-3615, CVE-2018-3620, CVE-2018-3646), ki izkoriščajo podobne arhitekturne nedoslednosti kakor originalna ranljivost Spectre z začetka tega leta. Ena izmed njih omogoča tudi preskok iz enega navideznega stroja (virtual machine) do podatkov v drugem. AMD-jevi procesorji niso prizadeti.

Ranljivost se imenuje Foreshadow (ali v tehničnem jeziku L1 Terminal Fault) in napadalcem omogoča dostop tudi do zaščitenih delov prvonivojskega predpomnilnika, ki ga varuje SGX (Secure Guard Extensions). Gre za Intelov mehanizem, ki naj bi omogočal zaščito občutljivih podatkov (secure enclave), četudi dobi zlonamerna koda dostop do računalnika in nadzor nad ostalimi procesi. S Foreshadowom je mogoče iz procesorja izvleči celo ključ (private attestation key), ki se uporablja za preverjanje integritete v SGX. SGX je eden izmed delov procesorja, ki ga prvotna Spectre in Meltdown nista preveč prizadela, zato je bilo logično nadaljevanje, kaj bodo raziskovalci še poizkusili zlomiti. Sedaj jim je uspelo.

Spet gre za problematično izvedbo špekulativnega izvajanja ukazov, ki je glavni razlog za vse ranljivosti Spectre in Meltdown. Gre za tehniko, ki omogoča pohitritve, saj procesor začne izvajati ukaze, takoj ko ima čas, četudi še ne pozna dejanskega pogoja v kodi, ali bodo ukazi sploh dovoljeni in na vrsti. Ker to spremeni vrednosti v registrih in predpomnilnikih, je mogoče s pametno kodo procesor prisiliti v napačno predvidevanje, kar omogoča branje podatkov.

Intel je hkrati z razkritjem ranljivosti že izdal programske popravke, ki jo odpravljajo, medtem ko jo bila nova mikrokoda dostopna že pred časom. Raziskovalci z inštitucij imec-DistriNet, KU Leuven, Technion, Univerza Michigan, Univerza Adelaide in Data61 so namreč sodelovali z Intelom in Red Hatom, razkritje ranljivosti pa je odgovorno. Popravki za razliko od prejšnjih ranljivosti ne upočasnijo procesorja.