CPU haavatavused on viimasel ajal olnud moes, kusjuures Zenbleed ja Downfall on kaks viimast. Aga kui mures peaksite olema?
Protsessori haavatavused on viimastel aastatel olnud uudistes ja nende avalikustamise korral on nendega sageli kaasas üsna hirmutav sõnum. Juhul kui Zenbleed ja Allakäik, oli see, et iga teie arvuti rakendus pääses õigetes tingimustes juurde mis tahes muu töötava programmi mälule. Kõlab intensiivselt, eks?
Siiski pole see nii hull, kui tundub. Ilmselgelt on see piisavalt märkimisväärne, et õigustada vigade avalikustamist ja tarkvarauuendust, et parandada vigu, isegi jõudluse hinnaga, kuid mis täpselt neid turbeprobleeme põhjustab? Kas peaksite muretsema?
Kas peaksite muretsema CPU haavatavuste pärast, nagu Zenbleed, Downfall ja Inception?
Ausalt öeldes ei mõjuta kumbki neist ärakasutamistest enamikku inimesi. Kuigi nad võivad andmeid ühest programmist teise lekitada, on tarbija masinas igal pahavaral juba suurepärane juurdepääs, mida see võib kuritarvitada. Selle asemel, kus need rünnakud on eriti murettekitavad, on pilvandmetöötluse kontekstis.
Probleemi mõistmiseks peate mõistma, et paljud erinevad pilveserverid on lihtsalt arvuteid, millel on palju hobujõude, suur võrgu ribalaius ja mõni muu spetsiaalne riistvara nõutud. Paljud ettevõtted rendivad välja nn VPS-i või virtuaalset privaatserverit, mis on piiratud võimsusega virtualiseeritud masinad, mille poole võivad töötada kümned teised virtuaalmasinad.
Probleemiks võib see osutuda selles, et üks inimene ühes virtuaalmasinas võib ühte neist käivitada haavatavused, saades ülevaate sellest, millised andmed protsessori kaudu liiguvad, sealhulgas teistelt saadud andmed virtuaalsed masinad. See ei tohiks olla võimalik ja on suur turvarikkumine. Seetõttu olid Zenbleedi avalikustamisel juba AMD Epyci protsessoritele paigad, mis on suunatud serverikasutusele.
Praegu on kõige tõsisemad CPU haavatavused
Haavatavuste järjestamise ja nende raskuse valdkonna standard põhineb CVSS-i (Common Vulnerability Scoring System) süsteemil. See annab kvantitatiivse raskusastme mõõtmise, kuna haavatavuse erinevad aspektid mõjutavad skoori. See mõõdab, võttes arvesse järgmist:
- Rünnaku vektor: Võrk/Kõrval/Kohalik/Füüsiline
- Rünnaku keerukus: madal/kõrge
- Vajalikud privileegid: Puudub/Madal/Kõrge
- Kasutaja interaktsioon: Puudub/nõutav
- Ulatus: Muutmata/Muudetud
- Konfidentsiaalsus: Puudub/Madal/Kõrge
- Terviklikkus: Puudub/Madal/Kõrge
- Kättesaadavus: Puudub/Madal/Kõrge
Kõik need klassifitseerivad vea tõsiduse. Näiteks haavatavus, mida saab käivitada väikese keerukusega võrgu kaudu, õigusi pole vaja, kasutaja interaktsiooni pole vaja, muudetud ulatusega, kõrge andmete konfidentsiaalsuse leke, suur andmete terviklikkuse rikkumine ja suur mõju saadavusele annavad CVSS 3.1-s suurepärase hinde 10, mis on kõrgeim tulemus võimalik.
Selle mõõdiku järgi saame hinnata kahju, mida Zenbleed ja Downfall suudavad tekitada. Spoiler: need on samad, kuigi mõjutavad erinevaid protsessoreid. Seega, kuigi nad löövad teatud summa sisse haavatavuste kontekstis võivad need mõjutada erinevat kogust tooteid ja see ei mõjuta neid skoor. CVSS-i hinded on sisuliselt ainult triaaži jaoks, kuid ei räägi kogu lugu.
Zenbleed: 6,5 (keskmine)
- Rünnaku vektor: Kohalik
- Rünnaku keerukus: Madal
- Vajalikud privileegid: Madal
- Kasutaja interaktsioon: Mitte ühtegi
- Ulatus: Muutunud
- Konfidentsiaalsus: Kõrge
- Terviklikkus: Mitte ühtegi
- Kättesaadavus: Mitte ühtegi
Selgitus: ründevektor nõuab kohalikku juurdepääsu masinale (nagu see töötab masinas), kuid ei mõjuta ka masinas olevate andmete terviklikkust ega selle saadavust. Siiski muudab see ulatust (see tähendab, et see mõjutab ressursse väljaspool oma õigusi) ja rünnaku keerukust ning käivitamiseks vajalikud õigused on väikesed. Samuti rikub see täielikult masinal oleva teabe konfidentsiaalsust.
Langus: 6,5 (keskmine)
- Rünnaku vektor: Kohalik
- Rünnaku keerukus: Madal
- Vajalikud privileegid: Madal
- Kasutaja interaktsioon: Mitte ühtegi
- Ulatus: Muutunud
- Konfidentsiaalsus: Kõrge
- Terviklikkus: Mitte ühtegi
- Kättesaadavus: Mitte ühtegi
Selgitus: ründevektor nõuab kohalikku juurdepääsu masinale (nagu see töötab masinas), kuid ei mõjuta ka masinas olevate andmete terviklikkust ega selle saadavust. Siiski muudab see ulatust (see tähendab, et see mõjutab ressursse väljaspool oma õigusi) ja rünnaku keerukust ning käivitamiseks vajalikud õigused on väikesed. Samuti rikub see täielikult masinal oleva teabe konfidentsiaalsust.
Algus: 5,6 (keskmine)
- Rünnaku vektor: Kohalik
- Rünnaku keerukus: Kõrge
- Vajalikud privileegid: Madal
- Kasutaja interaktsioon: Mitte ühtegi
- Ulatus: Muutunud
- Konfidentsiaalsus: Kõrge
- Terviklikkus: Mitte ühtegi
- Kättesaadavus: Mitte ühtegi
Selgitus: ründevektor nõuab kohalikku juurdepääsu masinale (nagu see töötab masinas), kuid ei mõjuta ka masinas olevate andmete terviklikkust ega selle saadavust. Kuid see muudab ulatust (see tähendab, et see mõjutab ressursse väljaspool oma õigusi), ründe keerukus on kõrge ja täitmiseks vajalikud õigused on väikesed. Samuti rikub see täielikult masinal oleva teabe konfidentsiaalsust.
Spekter: 5,6 (keskmine) (paigatud)
Vaatamata sellele, et spekter on laiemalt levinud nähtus, annab ta tegelikult hindu vähem kui Zenbleed ja Downfall. Seda tänu asjaolule, et rünnaku keerukust nimetati "kõrgeks", mis langes selle skoori.
- Rünnaku vektor: Kohalik
- Rünnaku keerukus: Kõrge
- Vajalikud privileegid: Madal
- Kasutaja interaktsioon: Mitte ühtegi
- Ulatus: Muutunud
- Konfidentsiaalsus: Kõrge
- Terviklikkus: Mitte ühtegi
- Kättesaadavus: Mitte ühtegi
Selgitus: ründevektor nõuab kohalikku juurdepääsu masinale (nagu see töötab masinas), kuid ei mõjuta ka masinas olevate andmete terviklikkust ega selle saadavust. Kuid see muudab ulatust (see tähendab, et see mõjutab ressursse väljaspool oma õigusi), ründe keerukus on kõrge ja täitmiseks vajalikud õigused on väikesed. Samuti rikub see täielikult masinal oleva teabe konfidentsiaalsust.
Sulamine: 5,6 (keskmine) (paigatud)
Sarnaselt Spectre'iga on Meltdowni skoori madalamad kui Zenbleedil ja Downfallil, kuna see nõuab suuremat rünnaku keerukust.
- Rünnaku vektor: Kohalik
- Rünnaku keerukus: Kõrge
- Vajalikud privileegid: Madal
- Kasutaja interaktsioon: Mitte ühtegi
- Ulatus: Muutunud
- Konfidentsiaalsus: Kõrge
- Terviklikkus: Mitte ühtegi
- Kättesaadavus: Mitte ühtegi
Selgitus: ründevektor nõuab kohalikku juurdepääsu masinale (nagu see töötab masinas), kuid ei mõjuta ka masinas olevate andmete terviklikkust ega selle saadavust. Kuid see muudab ulatust (see tähendab, et see mõjutab ressursse väljaspool oma õigusi), ründe keerukus on kõrge ja täitmiseks vajalikud õigused on väikesed. Samuti rikub see täielikult masinal oleva teabe konfidentsiaalsust.
Suurim põhjus: haru ennustamine
Allikas: AMD
Haru ennustamine ja spekulatiivne täitmine viitavad üldiselt sellele, kui teie arvuti teeb toiminguid, mida praegu ei vajata, kuid mis tehakse järgmistes tsüklites. Seda tehakse sageli ajal, mil teie süsteemil on vabu ressursse, kuna see kiirendab üldist töötlemist, kui juhised või andmed poleks muidu protsessori jaoks valmis. Kui tehtud tööd pole vaja, visatakse see tavaliselt kõrvale ja protsessor saab järgmise õige käsu täitmiseks hüpata tagasi sinna, kus ta vajab. Kui ta seda teeb, nimetatakse seda haru valesti ennustamiseks.
Haru ennustajate põhjalikumaks mõistmiseks kujutage ette stsenaariumi, kus programm lisab täitmisel järjekindlalt kaks sama numbrit. Mingil etapil võib protsessor selle mustri ära tunda ja ette valmistada järgmised sammud, kui meetod, kus need kaks numbrit lisatakse, uuesti välja kutsutakse. Kui see tulemus mingil hetkel muutub, isegi kui protsessor kavandas samad kaks numbrit olema samad, visatakse oletus välja ja asendatakse tegeliku täitmisvooga. Küll aga selle aja kohta, et need numbrid on sama, siis saab protsessor need juhised kiiresti vahele jätta.
Spekulatiivse täitmisega seoses on aga palju probleeme ja selle tulemuseks on haavatavused, nagu Spectre, Zenbleed, Downfall ja palju muud. See on võimas funktsioon, millele võlgneme palju tänapäevase protsessori jõudluse eest, kuid see on peamine sihtmärk, kui teadlased otsivad CPU-des haavatavusi.
Leevendus: jõudluse inhibiitor
Nende haavatavuste leevendamine on ülimalt oluline, kuid probleem on selles, et need leevendused koormavad sageli jõudlust. AMD uusima Zenbleedi puhul võib leevendus näha tohutuid jõudluse üldkulusid.
Selle põhjuseks on asjaolu, et ainus reaalne viis sellest mööda minna on keelata või muuta mõjutatud protsessori haru ennustaja käitumist. Sama jõudluse hiti võib leida ka Inteli allakäigu leevendustest, varajaste aruannetega, mis viitavad kuni 39% tulemuslikkusele. Eepilised mängud kunagi kuulsalt jagatud Protsessori kasutamise graafikud pärast Meltdowni haavatavuse avalikustamist ja seda, kui suurt mõju need leevendused ettevõtte protsessorikasutusele avaldasid. Protsessori kasutuses oli suur tõus, nagu arvata võis. Asjad muutuvad hirmutavaks AMD inceptioni parandusega, leiti, et jõudlus langes kuni 54%.
Kuna sellised haavatavused mõjutavad protsessori põhifunktsioone, on neid raske parandada, välja arvatud põhifunktsioonide keelamine või tõsine kahjustamine. Spekulatiivne hukkamine on uskumatult oluline ja paljud inimesed tunnevad neid leevendusi. Mängude jõudlus on vähem prognoositav, nii et kui teie arvuti peamine kasutusala on mängimine, võite seda teha hästi, kuna teie arvuti ei suuda nii palju ennustusi teha, kuid need probleemid muutuvad palju suuremaks süsteemid.
Kas see mõjutab tulevasi töötlejaid?
Õnneks mõjutavad need ärakasutused nii Intel Downfalli kui ka Zenbleedi puhul vanemaid protsessoreid. Uuemad protsessorid mõlemad ettevõtted on turvalised ja praegu pole põhjust muretsemiseks. Tavaliselt lahendab need probleemid olulise ümberkujundamise. Näiteks Spectre mõjutas Inteli kaheksanda ja üheksanda põlvkonna protsessoreid, kuid üheksas põlvkond sisaldas rakendatud tarkvaraparanduste riistvaraversiooni, koos esitushitiga. Inteli 10. põlvkond oli endiselt ohutu, kuid ei mõjutanud enam nende leevendusmeetmete jõudlust.
Arvestades, et nii Downfall kui ka Zenbleed olid juba nende vastavate protsessorite uusimates versioonides parandatud, ei pea kasutajad palju muretsema. Muidugi võib alati avastada rohkem turvaauke, kuid praegusel hetkel olete kaitstud.