Napad SgxSpectre lahko krši občutljive podatke, shranjene v enklavah Intel SGX

click fraud protection

Najnovejši napad Spectre, imenovan SgxSpectre, lahko ogrozi občutljive podatke, shranjene v enklavah SGX

SgxSpectre - še en napad Spectre, ki predstavlja tveganje za občutljive podatke

Spectre-Meltdown CPU napaka[1] odkrite na začetku leta 2018 predstavljajo večji izziv, kot so pričakovali Microsoft, Intel in drugi tehnološki velikani. Ne samo, da se je uspelo razširiti s čipov Intel in AMD na čipe Skylake, Kaby Lake, Coffee Lake; hekerjem je omogočila, da sprožijo več kampanj za distribucijo zlonamerne programske opreme[2] in napadi, ki temeljijo na programski opremi.

V začetku marca 2018 je skupina šestih IT raziskovalcev z univerze Ohio State odkrila novo različico napada Spectre, imenovano SgxSpectre, ki se lahko uporablja za razbijanje enklav Intelovih Software Guard Extensions (SGX), ki so odgovorne za izolacijo občutljivih komponente. Pravzaprav so podatki, ki jih varujejo te enklave, verjetno najbolj občutljivi od vseh, saj komponentam operacijskega sistema ni dovoljeno interakcijo s podatki, zaščitenimi v enklavi.

Caroline Trippel in Daniel Lustig, raziskovalca z univerze Princeton, in Margaret Martonosi iz Nvidie je predvidela možnost takšnih napadov in opisala scenarij v znanstvenem delu poklical

»MeltdownPrime in SpectrePrime: izkoriščanje samodejno sintetiziranih napadov. Protokoli skladnosti, ki temeljijo na razveljavitvi."[3] To sta najnovejši ranljivosti Meltdown in Spectre, ki se lahko končata z napadom občutljivih podatkov.

Prejšnje ranljivosti Meltdown in Spectre niso imele dostopa do občutljivih podatkov, zaščitenih s SGX

Intelove razširitve Software Guard (SGX) so razmeroma nova funkcija, ki je na voljo v sodobnih Intelovih procesorjih. Omogoča ustvarjanje tako imenovanih enklav za zaščito programske opreme, ki obravnava izjemno občutljive podatke in informacije o kodiranju.

Posledice prejšnjih napadov Spectre in Meltdown na SGX niso bile jasne. Kljub temu je imuniteta enklav SGX že od samega začetka sprožila številna vprašanja. Izkazalo se je, da nobena od teh ranljivosti ne kaže lastnosti, ki bi omogočale razbijanje zaščite SGX, vendar očitno hekerji ciljajo na podatke v enklavah. Zato se je razvil SgxSpectre.

Po mnenju raziskovalcev ranljivosti SgxSpectre,[4] ranljivost omogoča izkoriščanje "stanje dirke med vbrizganimi, špekulativno izvedenimi referencami pomnilnika, ki vodijo do opazljivih sledi predpomnilnika stranskega kanala, in latenco ločljivosti veje." Trenutno lahko ranljivost vpliva na Intel SGX, SDK, Rust-SGX in Graphene-SDX.
Na sistem lahko vpliva, če je omogočen določen vzorec kode v programskih knjižnicah. Napadalec, ki cilja na informacije, shranjene v enklavah, uporablja špekulativno izvedbo in izvede napovedovanje kode enklave z iskanjem majhnih variacij velikosti predpomnilnika. Kot so pojasnili raziskovalci,

Enote za napovedovanje vej, ki se uporabljajo v načinu enklave za napovedovanje ciljev vej, niso temeljito očiščene ob vstopu v enklavo. Zato lahko koda zunaj ciljne enklave (bodisi teče v nezaščitenem pomnilniškem območju ali v drugi enklavi) manipulira s cilji napovedi veje znotraj ciljne enklave.

Intel je izdal orodje za pregledovanje ranljivosti

Celoten postopek se morda zdi težak za ljudi, ki niso vpleteni v svet IT. Na kratko, s pomočjo ranljivosti Meltdown in Spectre so hekerji našli način, kako izkoristiti slabosti kodnih vzorcev SDX. Te ranljivosti nato hekerjem omogočajo, da spremenijo knjižnice izvajanja SDK in napadejo kateri koli sistem, razvit z Intelovim uradnim SGX SDK.

Intel in Microsoft sta se na zaznano ranljivost Meltdown in Spectre takoj odzvala in začela izdajati popravke. Žal vsi ne delujejo, zato je treba spremljati novice o tej ranljivosti.

Indirect Branch Restricted Speculation (IBRS) je eden od popravkov, ki jih predstavlja Intel. Naslavlja različico Spectre z zagotavljanjem prilagojene mikrokode. Vendar ta popravek ni usmerjen v ranljivost SGX SDK.
Rok za izdajo popravka SgxSpectre je 16. marec 2018. Razvijalci aplikacij bodo morali spremeniti starejšo različico SDK-ja s tisto, ki jo bo Intel izdal v aplikacijah, ki temeljijo na SGX.

Za tiste, ki želijo preveriti, ali njihov osebni računalnik vsebuje ranljive kode, so strokovnjaki ustvarili orodje za skeniranje ranljivosti,[5] ki preverja enklavne programe in preverja vzorce kode. V primeru odkritja zlorab SgxPectre bo uporabnik opozorjen in pozvan, naj namesti komplet orodij, ki ga je razvil Intel, skupaj z zastarelim kompletom orodij za razvoj programske opreme za ponudnike aplikacij SGX.