Mitä ovat Spectre- ja Meltdown-haavoittuvuudet?

click fraud protection

Kaksi 2010-luvun eniten julkistettua haavoittuvuutta liittyi hyvin läheisesti toisiinsa. Sen sijaan, että Spectre ja Meltdown olisivat ohjelmistojen tietoturva-aukkoja, ne ovat prosessorien perusrakenteen haavoittuvuuksia, mikä tekee ongelmasta vaikeamman ratkaista. Itse ongelmat ovat erityisen vakavia, mikä mahdollistaa muistin paljastamisen muista sovelluksista ja käyttöjärjestelmästä.

Yleiskatsaus

Suorittimet käyttävät uskomattoman edistyneitä rakenteita parhaan suorituskyvyn saavuttamiseksi, mukaan lukien tekniikat, kuten spekulatiivinen suoritus ja haaran ennustaminen. Spekulatiivinen suoritus on tapa, jossa suoritin aloittaa prosessin suorittamisen ennen kuin se tietää, tarvitseeko se yrittääkseen säästää aikaa, kun se päättää, että sen on tarpeen. Haaraennuste on spekulatiivisen suorituksen alajoukko, joka yrittää ennustaa prosessin lopputulosta ja sitten alkaa laskea seuraavaa vaihetta ennustetun arvon perusteella, jolloin CPU voi suorittaa sarjan käskyjä Tilaus.

Spectre-haavoittuvuus johtuu näiden kahden ominaisuuden toteutuksesta. Sen avulla sovellus voi rikkoa useimpiin nykyaikaisiin ohjelmistoihin sisältyviä muistin eristystekniikoita, jotka mahdollistavat muistin paljastamisen, mukaan lukien salaisuudet, kuten salasanat ja salausavaimet. Yksi Spectren ongelmista on se, että tietoihin pääsee käsiksi sovelluksista, joissa ei ole tietoturva-aukkoja, koska tarvitaan vain haittaohjelma.

Meltdown-haavoittuvuus perustuu joihinkin muistitekniikoihin sekä yllä mainittuun spekulatiiviseen suoritusjärjestelmään. Se hyödyntää "kilpaehtoa" prosessin suorittamisen ja käyttöoikeuksien tarkistuksen välillä ja sallii haittaohjelman pääsyn muiden sovellusten ja käyttöjärjestelmän muistiin.

Vinkki: "Kilpaehto" on ongelma, jossa yhden tehtävän oletetaan perustuvan toiseen, mutta oikeaa suoritusjärjestystä ei pakoteta. Tämä voi johtaa siihen, että "toinen" prosessi suoritetaan ensin ja käyttää alustamatonta muistia, jonka olisi pitänyt sisältää "ensimmäisen" prosessin tulos, jolloin muistin aiempi sisältö vuotaa. Tässä nimenomaisessa tapauksessa prosessia ei pitäisi suorittaa ennen kuin käyttöoikeuksien tarkistus on varmistanut, että se on sallittu, mutta käyttöoikeuksien tarkistus voi tapahtua toisena suorituskyvyn optimoinnin vuoksi.

Tehosteet

Vuoden 2017 puolivälissä useat tiimit löysivät itsenäisesti sekä Meltdownin että Spectren ja raportoivat niistä yksityisesti suoritinvalmistajille, jotka kehittivät korjaustiedostoja. Suorituskyvyn optimointiin kohdistettujen korjaustiedostojen vuoksi ne päätyivät heikentämään prosessorien suorituskykyä jopa 30 % pahimmassa tapauksessa, ja 2-14 % suorituskyvyn lasku edustaa enemmän ihmisten kokemukset.

Haavoittuvuudet vaikuttivat moniin x86-suorittimiin, IBM POWER -suorittimiin ja joihinkin ARM-pohjaisiin prosessoreihin. Sulaminen vaikuttaa laitteistoihin, joita tavallisesti löytyy henkilökohtaisista tietokoneista sekä pilvipalvelimista. Spectre vaikuttaa henkilökohtaisiin tietokoneisiin, pilvipalvelimiin ja mobiililaitteisiin. Kaikki Intel-suorittimet vuodesta 1995 vuoden 2018 puoliväliin olivat haavoittuvia ongelmille (pois lukien Itanium- ja Atom-linjat ennen vuotta 2013). Meltdown ei vaikuttanut AMD-suorittimiin, mutta ne olivat haavoittuvia Spectrelle.

Ohjelmistojen lievennyskorjaukset kehitettiin ja julkaistiin käyttöjärjestelmän tarjoajien kautta, jotka ratkaisevat suurimman osan ongelmista. Vuoden 2018 puolivälistä lähtien Intel on päivittänyt CPU-suunnitteluaan sisältämään laitteiston lievennyksiä ongelmiin.

Molempia ongelmia voidaan hyödyntää haitallisten verkkosivujen kautta, joissa on muodostettu JavaScript, joten se on todella tärkeää Varmista, että tietoturvakorjaukset on asennettu jokaiseen järjestelmään, vaikka suorituskyky heikkenisikin vaikea. Valitettavasti ongelmia ei voida korjata yhdellä korjaustiedostolla, koska ne ovat erittäin monimutkaisia ​​​​ongelmia, joissa on syvä integrointi laitteistoon, tietoturvakorjaukset jatkuvat ajan myötä uudempien versioiden mukaan löydetty.