Zasnova procesorjev, ki je pohitrila naše računalnike, jih utegne zaradi ranljivosti tudi upočasniti
Matjaž Ropret 4. januarja 2018 ob 11:16

Odkar so se poslovili originalni Pentiumi (kasneje je Intel to ime spet uvedel) je eden glavnih načinov za pohitritev procesorjev in s tem računalnikov ter drugih naprav špekulativno izvajanje ukazov. V zadnjih dneh pa so se razširila ugibanja, da je mogoče prav to lastnost zlorabiti za pridobivanje občutljivih podatkov in da prihajajo popravki operacijskih sistemov, ki bodo računalnike konkretno upočasnili. Industrija, ki za težavo ve že nekaj časa, je najprej molčala, ker se je dogovorila za razkrivanje informacije ob predvideni izdaji popravkov prihodnji teden. A je morala pohiteti in tako je zdaj znanih nekaj več podrobnosti tega problema, ki bo zaradi arhitekture sodobnih procesorjev z nami še dolgo, saj trenutno na trgu praktično ni čipa, ki bi deloval drugače.

Po začetnih poročilih, da gre za napako v Intelovih procesorjih in konkretnem padcu vrednosti delnic tega podjetja, je postalo jasno, da je problem veliko širši, čeprav še vedno ne vemo povsem natančno, kateri procesorji dopuščajo ukane in kateri ne. In jasno je tudi, da nimamo opravka s hroščem ali nedoslednostjo v zasnovi čipa, temveč je varnostno problematičen sam način delovanja, saj ga je mogoče z nekaj znanja in manipulacije uporabiti za »vdor« v zaščiteni del predpomnilnika ter od tam pridobiti informacije, ki bi morale ostati skrite, denimo gesla, šifrirne ključe in podobne. Računalniški strokovnjaki so v bistvu odkrili dve ranljivosti. Prva se imenuje Meltdown (taljenje, zlom) in so jo neodvisno našli raziskovalci na Univerzi v Gradcu, nemškem podjetju Cerberus Security in Googlovem oddelku Project Zero. Zanjo že prihajajo popravki, jo je lažje zakrpati, čeprav ne brez stranskih posledic (upočasnitve), in menda ne zadeva vseh procesorjev. Druga ranljivost pa je Spectre (duh), odkrili so jo omenjeni Googlovci in neodvisni varnostni strokovnjak Paul Kocher. Duhca je sicer težje izvesti, vendar za zdaj ne kaže, da bi se dalo s programskimi popravki učinkovito odpraviti to ranljivost.

Znano je, da Taljenje zagotovo prizadene vse Intelove procesorje v uporabi, zanje so popravki nujni. Z njimi se utegne hitrost zmanjšati tudi do 30 odstotkov, vendar bo učinek odvisen od posameznega programa oz. operacije. Vsaka interakcija z jedrom (zapisovanje na disk, pošiljanje datotek v omrežje, …) naj bi bila počasnejša, a za konkretne meritve bo treba še malo počakati. V AMD-ju zatrjujejo, da njihovi procesorji ne »špekulirajo« o naslovih v jedru (kernelu) na enak način in tudi raziskovalci niso uspeli izvesti tega trika na procesorjih AMD, kot tudi ne na Armovih – njegova arhitektura je osnova za procesorjev bolj ali manj vseh sodobnih pametnih telefonov in tablic. Vendar so v Armu priznali, da so nekatere njegove zasnove dejansko ranljive.

Popravke so minulih dneh že dobile različne distribucije Linuxa. Nujno nadgradnjo za sistem Windows je objavil tudi Microsoft. Za Windows 10 naj bi se uporabnikom, vsaj tistim, ki so že namestili jesensko nadgradnjo (različica 1709), popravek KB4056892 samodejno prenesel še danes. V času priprave tega zapisa ga sam sicer še ne vidim v storitvi Windows Update, vendar pričakujem, da se bo čez dan pojavil. Tisti s starejšimi Okni (7, 8) bodo popravek dobili prihodnji torek v sklopu standardnih torkovih obližev. Apple za zdaj še ni konkretno povedal, kaj namerava, delno pa naj bi zadevo že zakrpal v različici MacOS 10.13.2. Google trdi, da so androidne naprave z najnovejšim, januarskih varnostnim popravkom že varne. Vsaj kar se taljenja tiče. Duh je popolnoma druga zgodba.

Ta vrsta napada je bolj splošna, zahteva več znanja, a prizadene pa verjetno vse procesorje. In znebili se je bomo šele z novimi procesorji, ki bodo zasnovani drugače, zato bo nevarnost obstaja še zelo dolgo. Za kaj pri obeh zlorabah sploh gre? V osnovi izkoriščata dejstvo, da čipi, ki poganjajo naše naprave, v želji po čim večjih hitrosti oz. čim krajšem čakanju izvajajo ukaze na osnovi ugibanja. Domnevajo, da bo določen pogoj izpolnjen in zato nekaj naredijo vnaprej. Če se izkaže, da so domnevali pravilno, se ukaz izvaja naprej. Če pa je bila domneva napačna, špekulativni ukaz zavržejo in v osnovi nima posledic. Toda četudi »napačno« izvajanje nima učinka na sam program, ima lahko druge stranske posledice, ki se ne odstranijo, ko se stanje procesorja »izniči«, to pa lahko vodi do uhajanja informacij. Večina sodobnih operacijskih sistemov temelji na navideznem pomnilniku in predpomnilniku, da so tako programi kot jedro sistema izolirani eden od drugega in da imajo hipen dostop do ključnih podatkov – drugače bi uporabnik ves čas nekaj čakal. In pri špekulativni operaciji lahko v predpomnilnik pridejo podatki, ki morda ne bi smeli, tam pa jih lahko napadalec prestreže. Če bi mu uspelo na računalnik namestiti zlonamerno kodo, bi se morda dokopal do gesel in podobnega. Še bolj kočljiva pa je zadeva za oblačne storitve in drugo infrastrukturo. V teoriji bi lahko nekdo, ki bi zakupil nekaj minut na Amazonovih, Googlovih ali Microsoftovih strežnikih, v tem času nakradel podatke drugih sočasnih zakupnikov. Ranljivi so najmanj vsi sistemi z Intelovimi procesorji, ti so tako ali tako v večini, zaradi Duha pa tudi ostali.

Naroči se na redna vsakotedenska e-poštna obvestila o novih prispevkih na naši strani.


 

Avtor Matjaž Ropret
mm
Matjaž že več kot desetletje novinarsko pokriva tehnološki svet. Najprej na Radiu Slovenija, nato je na Delu od začetka leta 2009 do jeseni 2016 urejal redno tedensko prilogo Infoteh in pripadajočo rubriko na spletni strani. Zdaj je urednik Tehnozvezdja in hkrati glavni avtor na tej strani. Uporablja tiste naprave, ki se mu zdijo tehnološko dovolj napredne, uporabne in narejene z vsaj nekaj sloga, ne glede na znamko, operacijski sistem, platformo in ostale religiozne razloge.
Matjaž Ropret - prispevki
Brez komentarjev

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja