Kakšne so ranljivosti Spectre in Meltdown?

click fraud protection

Dve najbolj objavljeni ranljivosti v letih 2010 sta bili med seboj zelo tesno povezani. Spectre in Meltdown sta namesto varnostne ranljivosti v programski opremi ranljivosti v temeljni zasnovi CPE, zaradi česar je težavo težje rešiti. Težave same so še posebej resne, saj omogočajo razkritje pomnilnika iz drugih aplikacij in operacijskega sistema.

Pregled

CPE uporabljajo neverjetno napredne zasnove za doseganje najvišje zmogljivosti, vključno s tehnikami, vključno s špekulativno izvedbo in napovedovanjem vej. Špekulativna izvedba je, ko CPU začne izvajati proces, preden ve, ali ga potrebuje, da bi prihranil čas, ko ugotovi, da mora. Napovedovanje vej je podmnožica špekulativne izvedbe, ki poskuša predvideti izid procesa in nato začne računati naslednji korak na podlagi te predvidene vrednosti, kar omogoča CPE-ju, da izvede vrsto navodil iz naročilo.

Ranljivost Spectre izhaja iz implementacije teh dveh funkcij. Aplikaciji omogoča kršitev tehnik izolacije pomnilnika, vgrajenih v večino sodobne programske opreme, ki omogoča razkritje pomnilnika, vključno s skrivnostmi, kot so gesla in ključi za šifriranje. Ena od težav s Spectre je, da je do podatkov mogoče dostopati iz aplikacij, ki nimajo nobenih varnostnih ranljivosti, saj je potreben samo zlonamerni program.

Ranljivost Meltdown temelji na nekaterih pomnilniških tehnikah, pa tudi na zgoraj omenjenem sistemu špekulativnega izvajanja. Uporablja »pogoj dirke« med izvajanjem procesa in preverjanjem privilegijev ter omogoča zlonamernemu programu dostop do pomnilnika drugih aplikacij in operacijskega sistema.

Namig: »Pogoj dirke« je težava, pri kateri naj bi se ena naloga zanašala na drugo, vendar pravilen vrstni red izvedbe ni uveljavljen. To lahko povzroči, da se "drugi" proces zažene prvi in ​​uporabi neinicializiran pomnilnik, ki bi moral vsebovati rezultat "prvega" procesa, pri čemer uhaja prejšnja vsebina tega pomnilnika. V tem posebnem primeru se postopek ne bi smel zagnati, dokler preverjanje dovoljenj ne potrdi, da je dovoljeno, vendar se lahko preverjanje dovoljenj zgodi drugič zaradi optimizacij zmogljivosti.

Učinki

Sredi leta 2017 je več skupin neodvisno odkrilo in poročalo tako Meltdown kot Spectre proizvajalcem CPU, ki so razvili popravke. Zaradi popravkov, ki ciljajo na optimizacijo zmogljivosti, so na koncu zmanjšali zmogljivost CPE-ja do 30 % v najslabšem primeru, pri čemer je zmanjšanje uspešnosti za 2–14 % bolj reprezentativno za ljudi izkušnje.

Ranljivosti so prizadele številne procesorje x86, procesorje IBM POWER in nekatere CPE, ki temeljijo na ARM. Taljenje vpliva na strojno opremo, ki se običajno nahaja v osebnih računalnikih in strežnikih v oblaku. Spectre vpliva na osebne računalnike, strežnike v oblaku in mobilne naprave. Vsi procesorji Intel od leta 1995 do sredine leta 2018 so bili ranljivi za težave (z izključitvijo linij Itanium in Atom pred letom 2013). Meltdown ni vplival na procesorje AMD, vendar so bili ranljivi za Spectre.

Popravki za ublažitev programske opreme so bili razviti in izdani prek ponudnikov operacijskih sistemov, ki rešujejo večino težav. Od sredine leta 2018 je Intel posodobil svojo zasnovo CPE, da bi vključil ublažitev težav s strojno opremo.

Obe težavi je mogoče izkoristiti prek zlonamernih spletnih strani z izdelanim JavaScriptom, zato je zelo pomembno poskrbite, da bodo varnostni popravki nameščeni v vsakem sistemu, tudi če bo to izguba zmogljivosti hudo. Na žalost težav ni mogoče odpraviti z enim popravkom, saj gre za izjemno zapletene težave z globokimi integracijo v strojno opremo, se bodo varnostni popravki sčasoma še naprej uvajali kot novejše različice odkriti.