Analiza Meltdown i Spectre afere

Svetska IT javnost uznemirena je poslednjih meseci zbog Meltdown i Spectre afere. Reč je o ozbiljnim sigurnosnim propustima koji zahvataju ogromnu većinu PC računara proizvedenih u poslednjih desetak godina, a nalaze se duboko u jezgrima procesora.

Sama činjenica da se ovaj problem nalazi u hardveru znači da su ranjivi svi računari koji koriste procesore, bez obzira na operativni sistem. Nisu dakle samo pogođeni Windows, Linux, Anroid već i svi ostali operativni sistemi. Da, to obuhvata i Apple računare (MacOS i iOS).

Gde je skriven problem?

Svako iskorišćavanje nekog tehničkog propusta u računarskom hardveru veoma je komplikovano, posebno kada su CPU stvari u pitanju, ali probaćemo da uprostimo. Dakle, Meltdown i Spectre su nazivi za „rupe“ koje omogućavaju da se neovlašćeno pristupi kernelu (srcu) operativnog sistema i na taj način eventualno sakupe razne poverljive informacije korisnika.

Meltdown je mnogo ozbiljnija „rupa“ jer omogućava prolaz kroz fundamentalnu zaštitu koju ima kernel operativnog sistema u odnosu na svaku aplikaciju koju pokreće. Koristeći ovu „rupu“, jedna aplikacija može pristupiti podacima druge, što otvara mogućnosti za razne malverzacije. Dakle, pristup raznim šiframa, kodovima za enkripciju, mail‑ovima i tako dalje, sve to spada u stvari koje omogućava Meltdown. Spectre je nešto manje opasan jer u nekim situacijama može omogućiti „divlji“ pristup nekim lokacijama u memoriji, ali je krajnji efekat isti.

Ono što je takođe veoma nezgodno jeste to što eksploatacija ovih „rupa“ ne ostavlja apsolutno nikakav trag, pa je nemoguće utvrditi da li je neko bio žrtva Meltdown ili Spectre napada. Dovoljno je „lepo“ napisano parče specijalnog JavaScript koda koji se izvršava u Internet pretraživaču i posao je završen.

 

Koji su procesori pogođeni?

Spisak procesora koju su ranjivi na Meltdown i Spectre vrlo je kratak ali, u stvari, i veoma dug. Gotovo svi. To se prvenstveno odnosi na Intel procesore koji je još od lansiranja svojih prvih 64‑bitnih Core2Duo procesora počeo da koristi arhitekturu i sisteme koji se sada pokazuju problematični.

Kod svih modernih procesora unapređenje jedinice za „predviđanje grananja instrukcija“ (branch prediction) postalo je jedan od značajnih elemenata za povećanje performansi. S dugačkim pipeline sistemima, veoma je važna što bolja predikcija grananja, a deo toga je i speculative execution optimizacija.

Pročitajte i:  Apple zapošljava bivšeg šefa sektora za AI u Google-u

Ideja je da procesor i pre nego što if/then rutina zatraži dalje izvršavanje već uradi obe te kalkulacije, pa se na taj način dobija na brzini. Da bi sve ovo bilo što preciznije, brže i da bi dolazilo do manje grešaka u predikcijama, otvara se pristup kompletnoj sadržini memorije u kratkom periodu dok se određena instrukcija ne završi i pređe na sledeću.

U tom momentu standardni bezbednosni mehanizmi, koji treba da spreče da zaštićeni delovi keš memorije postanu vidljivi za sve procese, ne uradi svoj posao dovoljno brzo, ostavlja nezaštićene segmente memorije koji ne bi trebalo da budu dostupni ostalim procesima kojima se procesor bavi. Upravo taj kratki period koriste Meltdown i Spectre, pa je tu i glavni uzrok problema o kojima je reč. Ukoliko se prisetimo vremena kada se Core 2 Duo pojavio, Intel je tada zaostajao u odnosu na AMD po pitanju performansi i 64‑bitne implementacije, pa je moguće da su se tada koristila sva moguća sredstva kako bi se ostvarila što veća brzina rada.

Interesantno je da AMD‑ovi procesori nemaju Meltdown problem jer je arhitektura kod svih jezgara za predikciju grananja bila drugačija. Ipak, i AMD‑ovi procesori su ranjivi na Spectre, čak do Athlon 64 vremena. To znači da je i najnovija Ryzen generacija procesora „otvorena“ za Spectre (u dve varijacije koje postoje). Dodatna problematika je u tome što je Meltdown relativno lako onemogućiti odgovarajućim korekcijama na operativnom sistemu, BIOS‑u matične ploče i procesorskom mikrokodu, dok je Spectre varijante mnogo teže neutralisati.

Trenutna rešenja

Prva linija odbrane je „zakrpa“ svih pogođenih operativnih sistema kako bi se pomenuta rupa u firmveru procesorima nekako neutralisala. Intel je brzo i prilično nezgrapno reagovao, jer je prva verzija microcode update‑a imala problema sa stabilnošću, pa su mnogi korisnici upali u još veće probleme.

Pročitajte i:  Intel: osveženje, novine i odlaganje

Microsoft je reagovao savetom da se to u tom momentu ne instalira i ugasio automatsko osvežavanje za ovaj problem. Kasnije je Microsoft napravio svoju verziju „zakrpe“ koja je krenula u Windows 10 instalacije, a i sam Intel je popravio pomenuti microcode update pa su se problemi sa stabilnošću znatno umanjili. Apple je takođe pustio „zakrpu“ za svoje operativne sisteme, kao i Safari. Firefox i Chrome su takođe dostupni u osveženim varijantama, tako da industrija veoma brzo radi na redukciji problema. Ipak, treba imati u vidu da je neophodno instalirati sva moguća osveženja softvera kako bi se postigao što veći stepen zaštite.

Pad performansi?

Kako to utiče na performanse? Ukoliko su se pomenuti sistemi koristili za povećanje performansi, dodavanjem još jednog „sloja“ softvera koji treba da prati šta se događa sigurno mora u nekoj meri negativno uticati na brzinu rada čitavog sistema. Nas je pre svega interesovalo da vidimo kolike su te razlike i da li ih obični korisnici primećuju u svakodnevnom radu. To smo učili testirajući nekoliko procesora u test‑scenarijima pre i nakon primene svih aktuelnih softverskih zakrpa.

Prvo smo probali čiste CPU performanse kroz rendering i standardne CPU test‑programe. Interesantno, razlika postoji ali je prilično mala. Nakon svih zakrpa CPU je sporiji u okvirima od oko dva do tri procenta. Kod gaming‑a, razlike su još manje. U nekim test‑scenarijima uglavnom je opet zabeleženo oko tri procenta usporenja, s tim što ima igara koje ne prikazuju nikakvu razliku.

U ove dve primene nekog značajnog usporenja nema. Nešto veći procenat primetili smo u I/O operacijama i radu s diskovima. DiskMark je pokazao oko 15 procenata usporenja nakon instalacije svih zakrpa, što se već primeti. Ovaj pad performansi zabeležen je s bržim SSD‑ovima koji mogu dovoljno brzo da obave svoje deo posla i time dodatno opterete procesor.

Sa sporijim diskovima razlika je sve manja, pa je opet u okvirima od nekoliko procenata. Sve ovo važi u klasičnoj Windows 10 konfiguraciji s jednim korisnikom. Kada se dodaju virtuelne mašine ili se pristupa preko guest naloga, može se videti da u istim testovima postoji nešto veći pad performansi. Očigledno su to situacije koje zahtevaju veći monitoring od strane „zakrpe“ pa je i usporenje veće.

Pročitajte i:  HTC prijavio najveći kvartalni gubitak do sad

Meltdown i Spectre zakrpe kod Intel‑ovih procesora prave određeno usporenje, a to zavisi i od načina upotrebe. Kategorija „običnog“ korisnika nema mnogo razloga za zabrinutost, jer je u single user primeni usporenje minimalno, pa se pad performansi u realnom radu baš teško ili uopšte ne primećuje, bez obzira na to da li se koristi neki zahtevniji softver ili se samo vrte igre.

Usporenje koje varira od dva do pet procenata, uz današnje CPU brzine, nikako ne može biti razlog za „uzbuđivanje“. Ono što ostaje da se vidi jesu performanse u serverskim uslovima, dakle Windows R12 i R16, ali i pod Linux‑om koji pokreće ogroman broj servera.

Ko dobija, ko gubi?

S korisničke strane, gube svi, samo je pitanje koliko. Za „obične“ korisnike to je svega par procenata, tako da će se „lako preživeti“. Ipak, to je mnogo bolje nego ostaviti računar izložen Meltdown i Spectre baziranim napadima. U raznim serverskim primenama, stvar je drugačija pa će biti potrebno neko duže vreme da se tu vidi ukupni ceh.

Što se tiče proizvođača procesora, AMD‑a i Intel‑a, moglo bi se reći da je za sve najbolje da Intel ponese najveći teret jer će on najlakše izdržati. Ako se plašite da će Intel‑ova pozicija oslabiti – to će se u realnosti dosta teško desiti. AMD i Intel će pripremiti novu generaciju procesora kod kojih će sve ovo biti hardverski rešeno, a sve moguće korisnike očekuje investicija u „nove, sada bezbedne i, shodno tome, brže“ procesore. Naravno, tu će ići i nove matične ploče, memorije i sve ostalo, pa je moguće da će najveći dobitnik iz cele ove priče biti upravo onaj koji ju je i izazvao.

(Objavljeno u PC#252)

Facebook komentari:
SBB Solutions
Tagovi: , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *