Ranljivosti procesorja so bile v zadnjem času vse v besu, z Zenbleed in Downfall sta bili dve nedavni. Toda kako zaskrbljeni bi morali biti?
Ranljivosti procesorjev so bile v zadnjih letih v novicah in izginjajo in pogosto prihajajo s precej strašljivim sporočilom, ko pride do njihovega razkritja. V primeru Zenbleed in Propad, je bilo to, da lahko katera koli aplikacija v vašem računalniku dostopa do pomnilnika katerega koli drugega programa, ki se izvaja v pravih okoliščinah. Sliši se intenzivno, kajne?
Vendar pa ni tako hudo, kot se zdi. Očitno je dovolj pomembno, da zahteva razkritje in posodobitev programske opreme za odpravo napak, tudi za ceno zmogljivosti, toda kaj točno se dogaja, da povzroči te varnostne težave? Bi vas moralo skrbeti?
Ali bi vas moralo skrbeti ranljivost procesorja, kot so Zenbleed, Downfall in Inception?
Če sem iskren, nobeden od teh podvigov ne vpliva na veliko večino ljudi. Medtem ko lahko uhajajo podatki iz enega programa v drugega, ima katera koli zlonamerna programska oprema na uporabnikovem računalniku že visoko stopnjo dostopa, ki jo lahko zlorabi. Namesto tega so ti napadi posebej zaskrbljujoči v kontekstu računalništva v oblaku.
Če želite razumeti težavo, morate razumeti, da je veliko različnih strežnikov v oblaku preprosto računalniki z veliko konjskih moči, veliko pasovno širino omrežja in nekaj druge specializirane strojne opreme potrebno. Številna podjetja najemajo tako imenovane VPS ali navidezne zasebne strežnike, ki so virtualizirani stroji z omejeno močjo, kamor lahko teče na desetine drugih virtualnih strojev.
Kjer je to lahko težava, je, da lahko ena oseba na enem virtualnem stroju izvede enega od teh ranljivosti, pridobiti vpogled v to, kateri podatki tečejo skozi procesor, vključno s podatki drugih virtualni stroji. To ne bi smelo biti mogoče in je velika kršitev varnosti. Zato so ob razkritju Zenbleed že obstajali popravki za AMD-jeve procesorje Epyc, ki so namenjeni uporabi strežnikov.
Najresnejše ranljivosti procesorja trenutno
Industrijski standard "razvrščanja" ranljivosti in njihove resnosti je prek skupnega sistema točkovanja ranljivosti (CVSS). Zagotavlja kvantitativno merilo resnosti, saj bodo različni vidiki ranljivosti vplivali na oceno. Meri tako, da upošteva naslednje:
- Vektor napada: Omrežje/Sosednje/Lokalno/Fizično
- Kompleksnost napada: Nizko visoko
- Potrebne so privilegije: Brez/nizko/visoko
- Interakcija uporabnika: Brez/obvezno
- Obseg: Nespremenjeno/Spremenjeno
- Zaupnost: Brez/nizko/visoko
- Integriteta: Brez/nizko/visoko
- Razpoložljivost: Brez/nizko/visoko
Vse to razvršča resnost hrošča. Na primer ranljivost, ki jo je mogoče izvesti prek omrežja z nizko kompleksnostjo, brez potrebnih privilegijev, brez interakcije uporabnika, s spremenjenim obsegom, visoko uhajanje zaupnosti podatkov, visoka kršitev celovitosti podatkov in velik vpliv na razpoložljivost bodo v CVSS 3.1 dosegli popolnih 10, kar je najvišja ocena mogoče.
S to metriko lahko ocenimo škodo, ki sta jo zmožna povzročiti Zenbleed in Downfall. Spojler: enaka sta, čeprav vplivata na različne procesorje. Zato, medtem ko dosežejo določen znesek v v kontekstu ranljivosti lahko vplivajo na različne količine izdelkov, kar pa ne bo vplivalo na njihove rezultat. Rezultati CVSS so v bistvu samo za triažo, vendar ne povedo celotne zgodbe.
Zenbleed: 6,5 (srednje)
- Vektor napada: lokalno
- Kompleksnost napada: nizko
- Potrebne so privilegije: nizko
- Interakcija uporabnika: Brez
- Obseg: spremenjeno
- Zaupnost: Visoko
- Integriteta: Brez
- Razpoložljivost: Brez
Razlaga: Napadni vektor zahteva lokalni dostop do stroja (kot na primer, deluje na stroju), hkrati pa nima vpliva na celovitost podatkov na stroju ali njihovo razpoložljivost. Vendar spremeni obseg (kar pomeni, da vpliva na vire, ki presegajo njegove privilegije) in zapletenost napada, privilegiji, potrebni za izvedbo, pa so nizki. Prav tako popolnoma krši zaupnost informacij v napravi.
Padec: 6,5 (srednje)
- Vektor napada: lokalno
- Kompleksnost napada: nizko
- Potrebne so privilegije: nizko
- Interakcija uporabnika: Brez
- Obseg: spremenjeno
- Zaupnost: Visoko
- Integriteta: Brez
- Razpoložljivost: Brez
Razlaga: Napadni vektor zahteva lokalni dostop do stroja (kot na primer, deluje na stroju), hkrati pa nima vpliva na celovitost podatkov na stroju ali njihovo razpoložljivost. Vendar spremeni obseg (kar pomeni, da vpliva na vire, ki presegajo njegove privilegije) in zapletenost napada, privilegiji, potrebni za izvedbo, pa so nizki. Prav tako popolnoma krši zaupnost informacij v napravi.
Začetek: 5,6 (srednje)
- Vektor napada: lokalno
- Kompleksnost napada: Visoko
- Potrebne so privilegije: nizko
- Interakcija uporabnika: Brez
- Obseg: spremenjeno
- Zaupnost: Visoko
- Integriteta: Brez
- Razpoložljivost: Brez
Razlaga: Napadni vektor zahteva lokalni dostop do stroja (kot na primer, deluje na stroju), hkrati pa nima vpliva na celovitost podatkov na stroju ali njihovo razpoložljivost. Vendar spremeni obseg (kar pomeni, da vpliva na vire, ki presegajo njegove privilegije), zapletenost napada je visoka, privilegiji, potrebni za izvedbo, pa nizki. Prav tako popolnoma krši zaupnost informacij v napravi.
Spectre: 5,6 (srednje) (popravljeno)
Spectre, kljub temu, da je bolj razširjen pojav, dejansko dosega točke manj kot Zenbleed in Downfall. To je posledica dejstva, da je bila zapletenost napada poimenovana "Visoka", kar je znižalo oceno.
- Vektor napada: lokalno
- Kompleksnost napada: Visoko
- Potrebne so privilegije: nizko
- Interakcija uporabnika: Brez
- Obseg: spremenjeno
- Zaupnost: Visoko
- Integriteta: Brez
- Razpoložljivost: Brez
Razlaga: Napadni vektor zahteva lokalni dostop do stroja (kot na primer, deluje na stroju), hkrati pa nima vpliva na celovitost podatkov na stroju ali njihovo razpoložljivost. Vendar spremeni obseg (kar pomeni, da vpliva na vire, ki presegajo njegove privilegije), zapletenost napada je visoka, privilegiji, potrebni za izvedbo, pa nizki. Prav tako popolnoma krši zaupnost informacij v napravi.
Meltdown: 5,6 (srednje) (popravljeno)
Tako kot Spectre ima tudi Meltdown nižje rezultate kot Zenbleed in Downfall zaradi večje zahtevnosti napada.
- Vektor napada: lokalno
- Kompleksnost napada: Visoko
- Potrebne so privilegije: nizko
- Interakcija uporabnika: Brez
- Obseg: spremenjeno
- Zaupnost: Visoko
- Integriteta: Brez
- Razpoložljivost: Brez
Razlaga: Napadni vektor zahteva lokalni dostop do stroja (kot na primer, deluje na stroju), hkrati pa nima vpliva na celovitost podatkov na stroju ali njihovo razpoložljivost. Vendar spremeni obseg (kar pomeni, da vpliva na vire, ki presegajo njegove privilegije), zapletenost napada je visoka, privilegiji, potrebni za izvedbo, pa nizki. Prav tako popolnoma krši zaupnost informacij v napravi.
Največji vzrok: Predvidevanje veje
Vir: AMD
Predvidevanje veje in špekulativno izvajanje se na splošno nanašata na to, kdaj vaš računalnik izvaja operacije, ki trenutno niso potrebne, vendar bodo v naslednjih ciklih. To se pogosto izvaja takrat, ko ima vaš sistem prosta sredstva, saj pospeši celotno obdelavo, ko navodila ali podatki sicer še ne bi bili pripravljeni za CPE. Če opravljeno delo ni potrebno, se običajno zavrže in procesor lahko skoči nazaj tja, kjer mora, da izvede naslednje pravilno navodilo. Ko to stori, se to imenuje napačna napoved veje.
Za bolj poglobljeno razumevanje napovedovalcev vej si predstavljajte scenarij, kjer program pri svojem izvajanju dosledno dodaja isti dve številki. Na neki stopnji lahko procesor prepozna ta vzorec in pripravi naslednje korake, če se ponovno pokliče metoda, kjer sta ti dve številki sešteti. Če se ta izid na neki točki spremeni, tudi če je procesor načrtoval, da bosta isti dve številki enaki, bo ugibanje zavrženo in nadomeščeno z dejanskim tokom izvajanja. Vendar pa za čas, da te številke so enako, potem lahko procesor hitro preskoči ta navodila.
Vendar pa obstaja veliko težav, ko gre za špekulativno izvajanje, rezultat pa so ranljivosti, kot so Spectre, Zenbleed, Downfall in druge. To je zmogljiva lastnost, ki ji dolgujemo veliko zmogljivost sodobnega procesorja, vendar je glavni cilj, ko raziskovalci iščejo ranljivosti v procesorjih.
Blažitev: Zaviralec delovanja
Zmanjšanje teh ranljivosti je izjemnega pomena, vendar je težava v tem, da te ublažitve pogosto obremenjujejo učinkovitost. V primeru AMD-jevega najnovejšega Zenbleeda bi ublažitev lahko povzročila ogromne stroške delovanja.
Razlog za to je, da je edini pravi način za to, da onemogočite ali spremenite vedenje napovedovalca vej v prizadetem procesorju. Enako znižanje zmogljivosti je mogoče najti v ublažitvah Intelovega padca, s prvimi poročili, ki kažejo na vplive na uspešnost do 39 %. Epske igre nekoč slavno deljeno Grafi izkoriščenosti procesorja po razkritju ranljivosti Meltdown in kolikšen vpliv so imele te ublažitve na uporabo procesorja v podjetju. Kot bi pričakovali, je prišlo do velikega povečanja uporabe procesorja. Stvari postanejo strašne s popravkom za AMD-jev Inception, ugotovljeno je bilo, da se je učinkovitost zmanjšala za do 54 %.
Ker ranljivosti, kot je ta, vplivajo na funkcije, ki so bistvene za procesor, jih je težko zares popraviti, razen da onemogočite ali resno poškodujete osnovne funkcije. Špekulativna izvedba je izjemno pomembna in te ublažitve bo občutilo veliko ljudi. Zmogljivost igranja iger je manj predvidljiva, tako da, če je vaš računalnik primarno namenjen igranju iger, boste morda v redu, saj vaš računalnik ne more narediti toliko napovedi, vendar se te težave še povečajo sistemi.
Ali to vpliva na prihodnje procesorje?
Na srečo tako v primeru Intel Downfall kot Zenbleed ta izkoriščanja vplivajo na starejše procesorje. Novejši procesorji od obeh podjetij so varni in za zdaj ni razloga za skrb. Pomembna prenova je običajno tisto, kar na koncu odpravi te težave. Spectre je na primer vplival na Intelove procesorje osme in devete generacije, vendar je deveta generacija vključevala različico strojne opreme popravkov programske opreme, ki so bili implementirani, skupaj z uspešnostjo. Intelova 10. generacija je bila še vedno varna, vendar tudi ni več vplivala na zmogljivost zaradi teh omilitvenih ukrepov.
Kot rezultat, glede na to, da sta bila tako Downfall kot Zenbleed že popravljena v najnovejših različicah svojih procesorjev, uporabnikom ni treba veliko skrbeti. Seveda se vedno lahko odkrije več ranljivosti, a v tem trenutku ste varni.