Viskas, ką reikia žinoti apie procesoriaus pažeidžiamumą, pvz., Zenbleed, Downfall, Inception ir kt.

CPU pažeidžiamumas pastaruoju metu buvo labai populiarus, o „Zenbleed“ ir „Downfall“ buvo du naujausi. Bet kaip jūs turėtumėte jaudintis?

Pastaraisiais metais apie procesoriaus pažeidžiamumą buvo pranešama ir apie juos nebuvo pranešta, o atskleidus juos dažnai pateikiama gana baisi žinutė. Jeigu Zenbleedas ir Nuosmukis, bet kuri jūsų kompiuteryje esanti programa galėjo pasiekti bet kurios kitos programos, veikiančios tinkamomis aplinkybėmis, atmintį. Skamba intensyviai, tiesa?

Tačiau tai nėra taip blogai, kaip atrodo. Akivaizdu, kad tai pakankamai reikšminga, kad pateisintų informacijos atskleidimą ir programinės įrangos atnaujinimą, kad būtų ištaisytos klaidos, net ir našumo kaina, bet kas tiksliai sukelia šias saugumo problemas? Ar turėtumėte nerimauti?

Ar turėtumėte nerimauti dėl procesoriaus spragų, tokių kaip „Zenbleed“, „Downfall“ ir „Inception“?

Tiesą sakant, nė vienas iš šių išnaudojimų nepaveikia didžiosios daugumos žmonių. Nors jie gali nutekėti duomenis iš vienos programos į kitą, bet kuri vartotojo kompiuteryje esanti kenkėjiška programa jau turi puikią prieigą, kuria gali piktnaudžiauti. Vietoj to, kur šios atakos ypač kelia nerimą, yra debesų kompiuterijos kontekstuose.

Norėdami suprasti problemą, turite suprasti, kad daugelis skirtingų debesies serverių yra tiesiog kompiuteriai su daug arklio galių, dideliu tinklo pralaidumu ir kita specializuota aparatūra, jei reikalaujama. Daugelis įmonių nuomoja tai, kas vadinama VPS arba virtualiu privačiu serveriu. Tai virtualizuotos ribotos galios mašinos, kuriose gali veikti dešimtys kitų virtualių mašinų.

Problema gali kilti dėl to, kad vienas asmuo vienoje virtualioje mašinoje gali atlikti vieną iš jų pažeidžiamumų, gauti supratimą, kokie duomenys teka per procesorių, įskaitant duomenis iš kitų virtualios mašinos. Tai neturėtų būti įmanoma ir yra didelis saugumo pažeidimas. Štai kodėl, kai buvo atskleistas Zenbleed, AMD Epyc procesoriams jau buvo pataisų, skirtų serverio naudojimui.

Šiuo metu didžiausias procesoriaus pažeidžiamumas

Pramonės standartas pažeidžiamoms vietoms ir jų rimtumui „reitinguoti“ taikomas naudojant bendrąją pažeidžiamumo vertinimo sistemą (CVSS). Jame pateikiamas kiekybinis sunkumo matas, nes skirtingi pažeidžiamumo aspektai turės įtakos balui. Jis matuojamas atsižvelgiant į šiuos dalykus:

  • Atakos vektorius: tinklas / gretimas / vietinis / fizinis
  • Atakos sudėtingumas: žemas/aukštas
  • Reikalingos privilegijos: Nėra/Žemas/Aukštas
  • Vartotojo sąveika: Nėra / būtina
  • Taikymo sritis: Nepakeista/Pakeista
  • Konfidencialumas: Nėra/Žemas/Aukštas
  • Sąžiningumas: Nėra/Žemas/Aukštas
  • Prieinamumas: Nėra/Žemas/Aukštas

Visa tai klasifikuoja klaidos sunkumą. Pavyzdžiui, pažeidžiamumas, kuris gali būti vykdomas per tinklą su mažo sudėtingumo, nereikia jokių privilegijų, be vartotojo sąveikos, su pakeista apimtimi, Didelis duomenų konfidencialumo nutekėjimas, didelis duomenų vientisumo pažeidimas ir didelis poveikis pasiekiamumui bus įvertintas puikiais 10 CVSS 3.1 – aukščiausiu balu galima.

Pagal šią metriką galime įvertinti žalą, kurią gali padaryti „Zenbleed“ ir „Downfall“. Spoileris: jie yra vienodi, nors veikia skirtingus procesorius. Todėl, nors jie surinko tam tikrą sumą pažeidžiamumo kontekste, jie gali paveikti skirtingą produktų kiekį ir tai neturės įtakos jų balas. CVSS balai iš esmės yra skirti tik rūšiavimui, tačiau nepasako visos istorijos.

Zenbleed: 6,5 (vidutinis)

  • Atakos vektorius: Vietinis
  • Atakos sudėtingumas: Žemas
  • Reikalingos privilegijos: Žemas
  • Vartotojo sąveika: Nė vienas
  • Taikymo sritis: Pasikeitė
  • Konfidencialumas: Aukštas
  • Sąžiningumas: Nė vienas
  • Prieinamumas: Nė vienas

Paaiškinimas: Atakos vektoriui reikalinga vietinė prieiga prie įrenginio (kaip ir veikia įrenginyje), tačiau neturi įtakos įrenginio duomenų vientisumui ar jo pasiekiamumui. Tačiau jis keičia apimtį (tai reiškia, kad paveikia išteklius, viršijančius jo privilegijas) ir atakos sudėtingumą, o vykdymui reikalingos privilegijos yra mažos. Tai taip pat visiškai pažeidžia mašinos informacijos konfidencialumą.

Kritimas: 6,5 (vidutinis)

  • Atakos vektorius: Vietinis
  • Atakos sudėtingumas: Žemas
  • Reikalingos privilegijos: Žemas
  • Vartotojo sąveika: Nė vienas
  • Taikymo sritis: Pasikeitė
  • Konfidencialumas: Aukštas
  • Sąžiningumas: Nė vienas
  • Prieinamumas: Nė vienas

Paaiškinimas: Atakos vektoriui reikalinga vietinė prieiga prie įrenginio (kaip ir veikia įrenginyje), tačiau neturi įtakos įrenginio duomenų vientisumui ar jo pasiekiamumui. Tačiau jis keičia apimtį (tai reiškia, kad paveikia išteklius, viršijančius jo privilegijas) ir atakos sudėtingumą, o vykdymui reikalingos privilegijos yra mažos. Tai taip pat visiškai pažeidžia mašinos informacijos konfidencialumą.

Pradžia: 5,6 (vidutinis)

  • Atakos vektorius: Vietinis
  • Atakos sudėtingumas: Aukštas
  • Reikalingos privilegijos: Žemas
  • Vartotojo sąveika: Nė vienas
  • Taikymo sritis: Pasikeitė
  • Konfidencialumas: Aukštas
  • Sąžiningumas: Nė vienas
  • Prieinamumas: Nė vienas

Paaiškinimas: Atakos vektoriui reikalinga vietinė prieiga prie įrenginio (kaip ir veikia įrenginyje), tačiau neturi įtakos įrenginio duomenų vientisumui ar jo pasiekiamumui. Tačiau jis keičia apimtį (tai reiškia, kad daro poveikį ištekliams, viršijantiems jo privilegijas), atakos sudėtingumas yra didelis, o vykdymui reikalingos privilegijos yra mažos. Tai taip pat visiškai pažeidžia mašinos informacijos konfidencialumą.

Spektras: 5,6 (vidutinis) (pataisytas)

Spektras, nepaisant to, kad yra labiau paplitęs reiškinys, iš tikrųjų gauna balus mažiau nei Zenbleed ir Downfall. Taip yra dėl to, kad atakos sudėtingumas buvo pavadintas „aukštu“, o tai sumažino jo rezultatą.

  • Atakos vektorius: Vietinis
  • Atakos sudėtingumas: Aukštas
  • Reikalingos privilegijos: Žemas
  • Vartotojo sąveika: Nė vienas
  • Taikymo sritis: Pasikeitė
  • Konfidencialumas: Aukštas
  • Sąžiningumas: Nė vienas
  • Prieinamumas: Nė vienas

Paaiškinimas: Atakos vektoriui reikalinga vietinė prieiga prie įrenginio (kaip ir veikia įrenginyje), tačiau neturi įtakos įrenginio duomenų vientisumui ar jo pasiekiamumui. Tačiau jis keičia apimtį (tai reiškia, kad daro poveikį ištekliams, viršijantiems jo privilegijas), atakos sudėtingumas yra didelis, o vykdymui reikalingos privilegijos yra mažos. Tai taip pat visiškai pažeidžia mašinos informacijos konfidencialumą.

Tirpimas: 5,6 (vidutinis) (užtaisytas)

Kaip ir „Spectre“, „Meltdown“ balai yra mažesni nei „Zenbleed“ ir „Downfall“, nes reikia didesnio atakos sudėtingumo.

  • Atakos vektorius: Vietinis
  • Atakos sudėtingumas: Aukštas
  • Reikalingos privilegijos: Žemas
  • Vartotojo sąveika: Nė vienas
  • Taikymo sritis: Pasikeitė
  • Konfidencialumas: Aukštas
  • Sąžiningumas: Nė vienas
  • Prieinamumas: Nė vienas

Paaiškinimas: Atakos vektoriui reikalinga vietinė prieiga prie įrenginio (kaip ir veikia įrenginyje), tačiau neturi įtakos įrenginio duomenų vientisumui ar jo pasiekiamumui. Tačiau jis keičia apimtį (tai reiškia, kad daro poveikį ištekliams, viršijantiems jo privilegijas), atakos sudėtingumas yra didelis, o vykdymui reikalingos privilegijos yra mažos. Tai taip pat visiškai pažeidžia mašinos informacijos konfidencialumą.

Didžiausia priežastis: šakos numatymas

Šaltinis: AMD

Atšakos numatymas ir spekuliacinis vykdymas iš esmės reiškia, kai jūsų kompiuteris atlieka operacijas, kurios šiuo metu nereikalingos, bet bus atliekamos vėlesniais ciklais. Tai dažnai daroma tada, kai jūsų sistemoje yra laisvų išteklių, nes tai pagreitina bendrą apdorojimą, kai kitu atveju instrukcijos ar duomenys dar nebūtų paruošti CPU. Jei atliktas darbas nereikalingas, jis paprastai atmetamas, o procesorius gali grįžti ten, kur reikia, kad įvykdytų kitą teisingą komandą. Kai tai daroma, tai vadinama klaidingu filialo numatymu.

Norėdami nuodugniau suprasti šakų prognozes, įsivaizduokite scenarijų, kai programa vykdydama nuolat prideda tuos pačius du skaičius. Tam tikru etapu procesorius gali atpažinti šį šabloną ir paruošti kitus veiksmus, jei metodas, kai tie du skaičiai pridedami, bus iškviestas dar kartą. Jei rezultatas tam tikru momentu pasikeis, net jei procesorius planavo, kad tie patys du skaičiai būtų vienodi, spėjimas bus išmestas ir pakeistas tikru vykdymo srautu. Tačiau tuo metu, kai tie skaičiai yra tą patį, tada procesorius gali greitai praleisti šias instrukcijas.

Tačiau kyla daug problemų, kai kalbama apie spekuliacinį vykdymą, o pažeidžiamumas, pvz., Spectre, Zenbleed, Downfall ir kt., yra rezultatas. Tai galinga savybė, kuriai tenka daug šiuolaikinio procesoriaus našumo, tačiau tai yra pagrindinis tikslas, kai mokslininkai ieško procesorių spragų.

Sušvelninimas: efektyvumo inhibitorius

Labai svarbu sumažinti šiuos pažeidžiamumus, tačiau problema ta, kad šie mažinimai dažnai apmokestina našumą. Naujausio AMD „Zenbleed“ atveju dėl sušvelninimo gali atsirasti didelių pridėtinių išlaidų.

Taip yra todėl, kad vienintelis tikras būdas tai apeiti yra išjungti arba pakeisti šakos numatymo veiksnį paveiktame procesoriuje. Tą patį našumą galima rasti ir „Intel“ žlugimo mažinimo priemonėse, su ankstyvomis ataskaitomis, kuriose teigiama, kad našumo poveikis gali siekti iki 39 proc.. Epiniai žaidimai kadaise garsiai pasidalino Centrinio procesoriaus naudojimo grafikai, kai buvo atskleistas „Meltdown“ pažeidžiamumas, ir kokį poveikį šie sumažinimai turėjo įmonės procesoriaus naudojimui. Kaip ir buvo galima tikėtis, procesoriaus naudojimas smarkiai išaugo. Viskas baisu yra dėl AMD pradžios pataisymo, buvo nustatyta, kad našumas sumažėjo iki 54 proc..

Kadangi pažeidžiamumas, kaip šis, turi įtakos pagrindinėms procesoriaus funkcijoms, sunku jas ištaisyti, išskyrus pagrindinių funkcijų išjungimą ar rimtą sugadinimą. Spekuliatyvus vykdymas yra neįtikėtinai svarbus, ir šiuos sušvelninimus pajus daugelis žmonių. Žaidimų našumas yra mažiau nuspėjamas, taigi, jei jūsų kompiuteris pirmiausia naudojamas žaidimams, galite tai padaryti gerai, nes jūsų kompiuteris negali pateikti tiek daug prognozių, tačiau šios problemos išauga daug didesnės sistemos.

Ar bus paveikti būsimi procesoriai?

Laimei, tiek „Intel Downfall“, tiek „Zenbleed“ atveju šie išnaudojimai veikia senesnius procesorius. Naujesni procesoriai iš abiejų kompanijų yra saugūs, ir šiuo metu nėra ko jaudintis. Paprastai šios problemos išsprendžiamos reikšmingu pertvarkymu. Pavyzdžiui, „Spectre“ paveikė „Intel“ aštuntos ir devintos kartos procesorius, tačiau devintoje kartoje buvo įdiegta programinės įrangos pataisymų aparatinė versija, užbaigti su spektaklio hitu. 10-oji „Intel“ karta vis dar buvo saugi, bet taip pat nebeturėjo šių švelninimo priemonių poveikio našumui.

Dėl to, atsižvelgiant į tai, kad tiek „Downfall“, tiek „Zenbleed“ jau buvo ištaisyti naujausiose atitinkamų procesorių versijose, vartotojams nereikia daug jaudintis. Žinoma, visada gali būti aptikta daugiau pažeidžiamumų, tačiau šiuo metu esate saugūs.