Kas yra Spectre ir Meltdown pažeidžiamumas?

click fraud protection

Du 2010-aisiais dažniausiai viešinami pažeidžiamumai buvo labai glaudžiai susiję vienas su kitu. „Spectre“ ir „Meltdown“ yra ne programinės įrangos saugumo spragos, o pagrindinės procesorių konstrukcijos pažeidžiamumas, todėl problemą išspręsti sunkiau. Pačios problemos yra ypač rimtos, todėl atmintį galima atskleisti iš kitų programų ir operacinės sistemos.

Apžvalga

CPU naudoja neįtikėtinai pažangias konstrukcijas, kad pasiektų didžiausią našumą, įskaitant metodus, įskaitant spekuliacinį vykdymą ir šakų numatymą. Spekuliacinis vykdymas yra ta vieta, kai procesorius pradeda vykdyti procesą dar nesužinojęs, ar to reikia, siekdamas sutaupyti laiko, kai nustato, kad to reikia. Atšakos numatymas yra spekuliatyvaus vykdymo poaibis, kuriuo bandoma numatyti proceso baigtį ir tada pradeda skaičiuoti kitą veiksmą, remdamasi ta numatoma verte, leidžiančia CPU vykdyti eilę instrukcijų iš įsakymas.

Spectre pažeidžiamumas atsiranda dėl šių dviejų funkcijų įdiegimo. Tai leidžia programai pažeisti atminties izoliavimo metodus, integruotus daugelyje šiuolaikinių programinės įrangos, leidžiančių atskleisti atmintį, įskaitant paslaptis, pvz., slaptažodžius ir šifravimo raktus. Viena iš Spectre problemų yra ta, kad duomenis galima pasiekti iš programų, kurios neturi jokių saugumo spragų, nes reikia tik kenkėjiškos programos.

„Meltdown“ pažeidžiamumas yra pagrįstas kai kuriomis atminties technikomis, taip pat anksčiau minėta spekuliacine vykdymo sistema. Jis naudoja „lenktynių sąlygą“ tarp proceso vykdymo ir teisių patikrinimo ir leidžia kenkėjiškai programai pasiekti kitų programų ir operacinės sistemos atmintį.

Patarimas: „Lenktynių sąlyga“ yra problema, kai viena užduotis turėtų būti priklausoma nuo kitos, tačiau teisinga vykdymo tvarka nėra vykdoma. Dėl to pirmiausia gali būti paleistas „antrasis“ procesas ir panaudota neinicializuota atmintis, kurioje turėjo būti „pirmojo“ proceso rezultatas, ir nutekės ankstesnis tos atminties turinys. Šiuo konkrečiu atveju procesas neturėtų būti vykdomas tol, kol leidimų patikra nepatvirtins, kad tai leidžiama, tačiau leidimų patikra gali įvykti antrą kartą dėl našumo optimizavimo.

Efektai

2017 m. viduryje kelios komandos savarankiškai atrado ir „Meltdown“, ir „Spectre“ privačiai pranešė pataisas kūrusiems procesoriaus gamintojams. Dėl pataisų, skirtų našumo optimizavimui, jie sumažino procesorių našumą iki 30 % blogiausiu atveju, o 2–14 % našumo sumažėjimas labiau atspindi žmonių patirtys.

Pažeidžiamumas paveikė daugelį x86 procesorių, IBM POWER procesorių ir kai kuriuos ARM pagrindu veikiančius procesorius. Tirpimas paveikia aparatinę įrangą, paprastai esančią asmeniniuose kompiuteriuose ir debesies serveriuose. Spectre veikia asmeninius kompiuterius, debesų serverius ir mobiliuosius įrenginius. Visi „Intel“ procesoriai nuo 1995 m. iki 2018 m. vidurio buvo pažeidžiami dėl problemų (išskyrus „Itanium“ ir „Atom“ linijas iki 2013 m.). AMD procesoriams Meltdown įtakos neturėjo, tačiau jie buvo pažeidžiami Spectre.

Programinės įrangos mažinimo pataisos buvo sukurtos ir išleistos per operacinių sistemų tiekėjus, kurios išsprendžia daugumą problemų. Nuo 2018 m. vidurio „Intel“ atnaujino savo procesoriaus dizainą, kad įtrauktų aparatinės įrangos problemų mažinimo priemones.

Abi problemos gali būti išnaudotos per kenkėjiškus tinklalapius su sukurta JavaScript, todėl tai tikrai svarbu įsitikinkite, kad saugos pataisos yra įdiegtos kiekvienoje sistemoje, net jei našumas bus prarastas sunkus. Deja, problemos negali būti išspręstos vienu pataisu, nes tai labai sudėtingos problemos integruojant į aparatinę įrangą, saugos pataisos laikui bėgant bus išleidžiamos kaip naujesni variantai atrado.