Kaikki mitä sinun tulee tietää suorittimen haavoittuvuuksista, kuten Zenbleed, Downfall, Inception ja paljon muuta

Suorittimen haavoittuvuudet ovat olleet viime aikoina muotia, ja Zenbleed ja Downfall ovat kaksi äskettäistä. Mutta kuinka huolestunut sinun pitäisi olla?

CPU-haavoittuvuudet ovat olleet uutisissa viime vuosina, ja ne sisältävät usein melko pelottavan viestin, kun on kyse niiden paljastamisesta. Siinä tapauksessa että Zenbleed ja Kaatuminen, mikä tahansa tietokoneesi sovellus pystyi käyttämään minkä tahansa muun käynnissä olevan ohjelman muistia oikeissa olosuhteissa. Kuulostaa intensiiviseltä, eikö?

Se ei kuitenkaan ole niin paha kuin miltä näyttää. Se on ilmeisesti tarpeeksi merkittävä oikeuttaakseen paljastamisen ja ohjelmistopäivityksen virheiden korjaamiseksi, jopa suorituskyvyn kustannuksella, mutta mikä tarkalleen ottaen aiheuttaa nämä tietoturvaongelmat? Pitäisikö sinun olla huolissaan?

Pitäisikö sinun olla huolissaan suorittimen haavoittuvuuksista, kuten Zenbleed, Downfall ja Inception?

Rehellisesti sanottuna kumpikaan näistä hyväksikäytöistä ei vaikuta valtaosaan ihmisistä. Vaikka ne voivat vuotaa tietoja ohjelmasta toiseen, kaikilla kuluttajan koneella olevilla haittaohjelmilla on jo hyvät käyttöoikeudet, joita ne voivat käyttää väärin. Sen sijaan nämä hyökkäykset ovat erityisen huolestuttavia pilvipalveluissa.

Ymmärtääksesi ongelman, sinun on ymmärrettävä, että monet erilaiset pilvipalvelimet ovat yksinkertaisesti tietokoneet, joissa on paljon hevosvoimaa, suuri verkon kaistanleveys ja joitain muita erikoislaitteita, jos edellytetään. Monet yritykset vuokraavat niin kutsuttuja VPS-palvelimia tai virtuaalisia yksityisiä palvelimia, jotka ovat virtualisoituja koneita, joiden teho on rajoitettu ja joita kohti voi toimia kymmeniä muita virtuaalikoneita.

Tämä voi olla ongelma, että yksi henkilö yhdellä virtuaalikoneella voi suorittaa yhden näistä haavoittuvuuksia, saada käsitys siitä, mitä dataa virtaa prosessorin läpi, mukaan lukien tiedot muista virtuaalikoneita. Tämän ei pitäisi olla mahdollista, ja se on vakava tietoturvaloukkaus. Siksi, kun Zenbleed julkistettiin, AMD: n Epyc-prosessoreille oli jo korjaustiedostoja, jotka on suunnattu palvelinkäyttöön.

Tällä hetkellä vakavimmat suorittimen haavoittuvuudet

Alan standardi haavoittuvuuksien ja niiden vakavuuden luokittelussa on CVSS (Common Vulnerability Scoring System) -järjestelmä. Se tarjoaa kvantitatiivisen mittarin vakavuudesta, koska haavoittuvuuden eri näkökohdat vaikuttavat pisteisiin. Se mittaa ottamalla huomioon seuraavat asiat:

  • Hyökkäysvektori: Verkko/Naapuri/Paikallinen/Fyysinen
  • Hyökkäyksen monimutkaisuus: Matala korkea
  • Etuoikeudet vaaditaan: Ei mitään/Matala/Korkea
  • Käyttäjän vuorovaikutus: Ei mitään/pakollinen
  • Laajuus: Muuttumaton/muutettu
  • Luottamuksellisuus: Ei mitään/Matala/Korkea
  • Rehellisyys: Ei mitään/Matala/Korkea
  • Saatavuus: Ei mitään/Matala/Korkea

Kaikki nämä luokittelevat vian vakavuuden. Esimerkiksi haavoittuvuus, joka voidaan suorittaa verkon kautta vähän monimutkaisesti, ei vaadi oikeuksia, ei käyttäjän vuorovaikutusta, muutettu laajuus, korkea tietojen luottamuksellisuusvuoto, suuri tietojen eheysrikkomus ja suuri vaikutus saatavuuteen saavat täydellisen 10 CVSS 3.1:ssä, korkein pistemäärä mahdollista.

Tällä mittarilla voimme arvioida Zenbleedin ja Downfallin vaurioita. Spoileri: Ne ovat samoja, vaikka ne vaikuttavatkin eri prosessoreihin. Siksi, vaikka he tekevät tietyn summan haavoittuvuuksien yhteydessä ne voivat vaikuttaa eri määriin tuotteita, eikä se vaikuta niihin pisteet. CVSS-pisteet ovat lähinnä vain lajittelua varten, mutta ne eivät kerro koko tarinaa.

Zenbleed: 6,5 (Keskitaso)

  • Hyökkäysvektori: Paikallinen
  • Hyökkäyksen monimutkaisuus: Matala
  • Etuoikeudet vaaditaan: Matala
  • Käyttäjän vuorovaikutus: Ei mitään
  • Laajuus: Muutettu
  • Luottamuksellisuus: Korkea
  • Rehellisyys: Ei mitään
  • Saatavuus: Ei mitään

Selitys: Hyökkäysvektori vaatii paikallisen pääsyn koneeseen (kuten se toimii koneella), mutta sillä ei myöskään ole vaikutusta koneen tietojen eheyteen tai sen saatavuuteen. Se kuitenkin muuttaa laajuutta (eli se vaikuttaa resursseihin oikeuksiensa lisäksi) ja hyökkäyksen monimutkaisuutta, ja suorittamiseen vaadittavat oikeudet ovat alhaiset. Se myös loukkaa täysin koneessa olevien tietojen luottamuksellisuutta.

Pudotus: 6,5 (Keskitaso)

  • Hyökkäysvektori: Paikallinen
  • Hyökkäyksen monimutkaisuus: Matala
  • Etuoikeudet vaaditaan: Matala
  • Käyttäjän vuorovaikutus: Ei mitään
  • Laajuus: Muutettu
  • Luottamuksellisuus: Korkea
  • Rehellisyys: Ei mitään
  • Saatavuus: Ei mitään

Selitys: Hyökkäysvektori vaatii paikallisen pääsyn koneeseen (kuten se toimii koneella), mutta sillä ei myöskään ole vaikutusta koneen tietojen eheyteen tai sen saatavuuteen. Se kuitenkin muuttaa laajuutta (eli se vaikuttaa resursseihin oikeuksiensa lisäksi) ja hyökkäyksen monimutkaisuutta, ja suorittamiseen vaadittavat oikeudet ovat alhaiset. Se myös loukkaa täysin koneessa olevien tietojen luottamuksellisuutta.

Aloitus: 5.6 (Keskitaso)

  • Hyökkäysvektori: Paikallinen
  • Hyökkäyksen monimutkaisuus: Korkea
  • Etuoikeudet vaaditaan: Matala
  • Käyttäjän vuorovaikutus: Ei mitään
  • Laajuus: Muutettu
  • Luottamuksellisuus: Korkea
  • Rehellisyys: Ei mitään
  • Saatavuus: Ei mitään

Selitys: Hyökkäysvektori vaatii paikallisen pääsyn koneeseen (kuten se toimii koneella), mutta sillä ei myöskään ole vaikutusta koneen tietojen eheyteen tai sen saatavuuteen. Se kuitenkin muuttaa laajuutta (eli se vaikuttaa resursseihin oikeuksiensa lisäksi), hyökkäyksen monimutkaisuus on suuri ja suorittamiseen vaadittavat oikeudet ovat alhaiset. Se myös loukkaa täysin koneessa olevien tietojen luottamuksellisuutta.

Spektri: 5,6 (Keskitaso) (paikattu)

Huolimatta siitä, että Spectre on laajempi ilmiö, se todella tekee pisteitä Vähemmän kuin Zenbleed ja Downfall. Tämä johtuu siitä, että hyökkäyksen monimutkaisuus nimettiin "korkeaksi", mikä laski sen pistemäärää.

  • Hyökkäysvektori: Paikallinen
  • Hyökkäyksen monimutkaisuus: Korkea
  • Etuoikeudet vaaditaan: Matala
  • Käyttäjän vuorovaikutus: Ei mitään
  • Laajuus: Muutettu
  • Luottamuksellisuus: Korkea
  • Rehellisyys: Ei mitään
  • Saatavuus: Ei mitään

Selitys: Hyökkäysvektori vaatii paikallisen pääsyn koneeseen (kuten se toimii koneella), mutta sillä ei myöskään ole vaikutusta koneen tietojen eheyteen tai sen saatavuuteen. Se kuitenkin muuttaa laajuutta (eli se vaikuttaa resursseihin oikeuksiensa lisäksi), hyökkäyksen monimutkaisuus on suuri ja suorittamiseen vaadittavat oikeudet ovat alhaiset. Se myös loukkaa täysin koneessa olevien tietojen luottamuksellisuutta.

Sulamispiste: 5,6 (Keskitaso) (paikattu)

Kuten Spectre, myös Meltdown saa alhaisemmat pisteet kuin Zenbleedillä ja Downfallilla, koska hyökkäys on vaativampi.

  • Hyökkäysvektori: Paikallinen
  • Hyökkäyksen monimutkaisuus: Korkea
  • Etuoikeudet vaaditaan: Matala
  • Käyttäjän vuorovaikutus: Ei mitään
  • Laajuus: Muutettu
  • Luottamuksellisuus: Korkea
  • Rehellisyys: Ei mitään
  • Saatavuus: Ei mitään

Selitys: Hyökkäysvektori vaatii paikallisen pääsyn koneeseen (kuten se toimii koneella), mutta sillä ei myöskään ole vaikutusta koneen tietojen eheyteen tai sen saatavuuteen. Se kuitenkin muuttaa laajuutta (eli se vaikuttaa resursseihin oikeuksiensa lisäksi), hyökkäyksen monimutkaisuus on suuri ja suorittamiseen vaadittavat oikeudet ovat alhaiset. Se myös loukkaa täysin koneessa olevien tietojen luottamuksellisuutta.

Suurin syy: haaran ennuste

Lähde: AMD

Haarojen ennustaminen ja spekulatiivinen suoritus viittaavat laajalti siihen, kun tietokoneesi suorittaa toimintoja, joita ei tarvita tällä hetkellä, mutta jotka tulevat olemaan myöhemmissä jaksoissa. Se tehdään usein aikoina, jolloin järjestelmälläsi on vapaita resursseja, koska se nopeuttaa kokonaiskäsittelyä, kun ohjeet tai tiedot eivät muuten olisi vielä valmiita prosessorille. Jos tehtyä työtä ei tarvita, se tyypillisesti hylätään, ja prosessori voi hypätä takaisin sinne, missä se tarvitsee suorittaakseen seuraavan oikean käskyn. Kun se tekee tämän, sitä kutsutaan haaran väärin ennustukseksi.

Saadaksesi syvällisemmän ymmärryksen haaran ennustajista, kuvittele skenaario, jossa ohjelma jatkuvasti lisää samat kaksi numeroa suorituksessaan. Jossain vaiheessa prosessori saattaa tunnistaa tämän kuvion ja valmistella seuraavat vaiheet, jos menetelmää, jossa nämä kaksi numeroa lisätään, kutsutaan uudelleen. Jos tämä tulos muuttuu jossain vaiheessa, vaikka prosessori suunnitteli samojen kahden luvun olevan samat, arvaus heitetään pois ja korvataan todellisella suorituskululla. Kuitenkin sen ajan, että nämä numerot ovat sama, prosessori voi ohittaa nämä ohjeet nopeasti.

Spekulatiivisessa toteutuksessa on kuitenkin monia ongelmia, ja haavoittuvuudet, kuten Spectre, Zenbleed, Downfall ja muut, ovat seurausta. Se on tehokas ominaisuus, jolle olemme velkaa paljon nykyajan suorittimen suorituskyvystä, mutta se on tärkeä kohde, kun tutkijat etsivät haavoittuvuuksia suorittimista.

Lievennys: suorituskyvyn estäjä

Näiden haavoittuvuuksien vähentäminen on äärimmäisen tärkeää, mutta ongelmana on, että nämä lievennykset rasittavat usein suorituskykyä. AMD: n uusimman Zenbleedin tapauksessa lievennys voi aiheuttaa valtavia suorituskyvyn yleiskustannuksia.

Syynä tähän on, että ainoa todellinen tapa kiertää se on poistaa käytöstä tai muuttaa haaran ennustajan käyttäytymistä kyseisessä prosessorissa. Sama suorituskykyhitti löytyy Intelin kaatumisen lieventämisestä, varhaisten raporttien mukaan tehokkuusvaikutus on jopa 39 %. Eeppisiä pelejä kerran kuuluisasti jaettu Suorittimen käyttöasteen kaavioita, kun Meltdown-haavoittuvuus paljastettiin, ja kuinka suuri vaikutus näillä lievennöillä oli yrityksen suorittimen käyttöön. Prosessorin käyttö kasvoi huomattavasti, kuten odottaakin. Asiat pelottaa AMD: n Inceptionin korjauksen myötä, suorituskyvyn havaittiin laskeneen jopa 54 %.

Koska tämänkaltaiset haavoittuvuudet vaikuttavat prosessorin perusominaisuuksiin, niitä on vaikea korjata, lukuun ottamatta ydinominaisuuksien poistamista tai vakavaa vahingoittamista. Spekulatiivinen toteutus on uskomattoman tärkeää, ja monet ihmiset tuntevat nämä lievennöt. Pelin suorituskyky on vähemmän ennustettavissa, joten jos tietokoneesi ensisijainen käyttötarkoitus on pelaaminen, saatat olla Okei, koska tietokoneesi ei pysty tekemään niin paljon ennusteita, mutta nämä ongelmat laajenevat paljon suuremmiksi järjestelmät.

Vaikuttaako tuleviin prosessoreihin?

Onneksi sekä Intel Downfallin että Zenbleedin tapauksessa nämä hyväksikäytöt vaikuttavat vanhempiin prosessoreihin. Uudemmat prosessorit molemmilta yrityksiltä ovat turvassa, eikä tässä ole mitään syytä huoleen. Merkittävä uudelleensuunnittelu yleensä ratkaisee nämä ongelmat. Esimerkiksi Spectre vaikutti Intelin kahdeksannen ja yhdeksännen sukupolven suorittimiin, mutta yhdeksäs sukupolvi sisälsi laitteistoversion toteutetuista ohjelmistokorjauksista. täydellisenä suoritushitin kanssa. Intelin 10. sukupolvi oli edelleen turvallinen, mutta niillä ei myöskään ollut enää vaikutusta suorituskykyyn näillä lieventämistoimenpiteillä.

Tämän seurauksena, koska sekä Downfall että Zenbleed oli jo korjattu vastaavien prosessorien uusimmissa versioissa, käyttäjillä ei ole paljon huolta. Tietysti aina voi löytyä lisää haavoittuvuuksia, mutta tässä vaiheessa olet turvassa.