Nova različica napada Foreshadow vpliva na procesorje Intel, AMD, ARM in IBM

Skupina raziskovalcev s Tehnične univerze v Gradcu (Avstrija) in Helmholtz Centra za informacijsko varnost (CISPA), razkrila (PDF) nov vektor za uporabo stranskih kanalskih napadov Napovedovanje (L1TF), ki omogoča ekstrahiranje podatkov iz pomnilnika enklav Intel SGX, SMM (System Management Mode), pomnilniških območij jedra OS in virtualnih strojev v sistemih za virtualizacijo. Za razliko od prvotnega napada, predlaganega leta 2018 Napovedovanje Nova različica ni specifična za procesorje Intel in vpliva na procesorje drugih proizvajalcev, kot so ARM, IBM in AMD. Poleg tega nova različica ne zahteva visoke zmogljivosti in napad je mogoče izvesti tudi z izvajanjem JavaScripta in WebAssembly v spletnem brskalniku.

Napad Foreshadow izkorišča dejstvo, da pri dostopu do pomnilnika na navideznem naslovu, ki povzroči izjemo (napaka terminalske strani), procesor špekulativno izračuna fizični naslov in naloži podatke, če so na voljo v predpomnilniku L1. Špekulativni dostop se izvede, preden je iskanje v tabeli pomnilniških strani končano in ne glede na stanje vnosa v tabeli pomnilniških strani (PTE), tj. pred preverjanjem prisotnosti podatkov v fizičnem pomnilniku in njihove berljivosti. Ko je preverjanje razpoložljivosti pomnilnika končano, se v odsotnosti zastavice Present v PTE operacija zavrže, vendar podatki ostanejo v predpomnilniku in jih je mogoče pridobiti z metodami za določanje vsebine predpomnilnika prek stranskih kanalov (z analizo sprememb v dostopnem času v predpomnjene in nepredpomnjene podatke).

Raziskovalci so pokazali, da so obstoječe metode zaščite pred Foreshadow neučinkovite in se izvajajo z napačno razlago problema. Ranljivost
Foreshadow je mogoče izkoristiti ne glede na varnostne mehanizme jedra, ki so prej veljali za zadostne. Kot rezultat so raziskovalci pokazali možnost izvajanja napada Foreshadow na sisteme z relativno starimi jedri, v katerih so omogočeni vsi razpoložljivi načini zaščite Foreshadow, kot tudi z novimi jedri, v katerih je onemogočena samo zaščita Spectre-v2 (z uporabo možnost jedra Linux nospectre_v2).

Ugotovljeno je bilo, da učinek prednapetosti ni povezano z navodili za vnaprejšnje pridobivanje programske opreme ali učinkom strojne opreme
vnaprejšnje pridobivanje med dostopom do pomnilnika, vendar se pojavi, ko se v jedru registrirajo špekulativne razimenovanja uporabniškega prostora. Ta napačna interpretacija vzroka ranljivosti je sprva privedla do domneve, da lahko do uhajanja podatkov v Foreshadow pride samo prek predpomnilnika L1, medtem ko lahko prisotnost določenih izrezkov kode (pripomočki za vnaprejšnje pridobivanje) v jedru prispeva k uhajanju podatkov izven predpomnilnika L1, na primer v predpomnilniku L3.

Identificirana lastnost odpira tudi možnost ustvarjanja novih napadov, namenjenih procesom prevajanja virtualnih naslovov v fizične v izoliranih okoljih ter določanju naslovov in podatkov, shranjenih v registrih CPU. Kot predstavitev so raziskovalci pokazali možnost uporabe ugotovljenega učinka za pridobivanje podatkov iz enega procesa v drugega z zmogljivostjo približno 10 bitov na sekundo v sistemu s procesorjem Intel Core i7–6500U. Prikazana je tudi možnost uhajanja vsebine registra iz enklave Intel SGX (trajalo je 32 minut, da se določi 64-bitna vrednost, zapisana v 15-bitni register). Izkazalo se je, da je nekatere vrste napadov mogoče implementirati v JavaScript in WebAssembly, na primer, mogoče je bilo določiti fizični naslov spremenljivke JavaScript in izpolniti 64-bitne registre z vrednostjo, ki jo nadzoruje napadalec.

Za blokiranje napada Foreshadow prek predpomnilnika L3 je učinkovita zaščitna metoda Spectre-BTB (Branch Target Buffer), implementirana v kompletu popravkov retpoline. Zato raziskovalci menijo, da je treba pustiti retpoline omogočen tudi v sistemih z novimi procesorji, ki že imajo zaščito pred znanimi ranljivostmi v mehanizmu špekulativnega izvajanja procesorja. Hkrati so predstavniki Intela izjavili, da procesorjem ne nameravajo dodati dodatnih zaščitnih ukrepov proti Foreshadow in menijo, da zadostuje vključitev zaščite pred napadi Spectre V2 in L1TF (Foreshadow).

Vir: opennet.ru

Dodaj komentar