TLBleed

TLBleed  on laitteiston haavoittuvuus joissakin nykyaikaisissa prosessoreissa, joissa on komentokäännöspuskuri ja jotka tukevat samanaikaista monisäikeistystä. Haavoittuvuuden ansiosta jossakin laitteistosäikeessä toimiva käyttäjäsovellus (paikallinen hyökkääjä, kun erityinen ohjelma käynnistetään) voi luvatta poimia tietoja toisen säikeen suorittamisesta salaisen kanavan avulla . Tietovuotoa voidaan mahdollisesti käyttää toisen säikeen käsittelemien arkaluontoisten tietojen suojaamiseen.

Lyhyt kuvaus

TLBleed on sivukanavahyökkäys, ja siksi sillä on yhtäläisyyksiä muiden mikroprosessorin haavoittuvuuksien, kuten Meltdown ja Spectre , kanssa . Perinteinen lähestymistapa tällaisten haavoittuvuuksien hyödyntämiseen perustuu yksittäisten prosessorin välimuistin solujen käyttöajan mittaamiseen sen määrittämiseksi, mitkä solut on ladattu välimuistiin hyökkäyksen kohteena olevan prosessin toimesta. Tällä tavoin on mahdollista poimia epäsuoraa tietoa uhriprosessin toteutuksesta ja suojatuista tiedoista. TLBleed-hyökkäyksen tapauksessa sivukanava ei ole tavallinen datavälimuisti, vaan assosiatiivinen käännöspuskuri (TLB), erityinen välimuisti, joka tallentaa virtuaalimuistisivujen ja prosessorin fyysisten muistisivujen väliset vastaavuudet ja jota käytetään kääntämisen nopeuttamiseen. virtuaalisista osoitteista. Keskeisen hyökkäysmahdollisuuden tarjoaa se, että Intel-prosessorien simultane multithreading mode (SMT) toteutuksessa assosiatiivinen käännöspuskuri jaetaan ja sitä käyttävät kaikki laitteistosäikeet samanaikaisesti (mikroprosessorissa voi olla samanlainen kolmannen osapuolen kanava muiden yritysten toteutukset, mutta tällaista analyysiä ei ole vielä tehty).

Hyökkäyksen olemus on seuraava. Pääsyaika yksittäisiin TLB-soluihin määrittää, mitä muistisivuja hyökkäysprosessi käyttää. Samaan aikaan edes pienin osoitetarkkuus ( 4096 tavua nykyaikaisissa järjestelmissä) ei riitä saamaan suoraan tietoja hyökkäyksen kohteena olevasta prosessista (esimerkiksi Meltdown-haavoittuvuus käyttää epäsuoraa osoitetta ladatakseen ja sitten tunnistaakseen tietyn välimuistisolun, jonka osoite määrittää osan salaisuudesta ). Analysoimalla muistin käytön luonne (muistisivuille pääsyjärjestys, hakujen väliset aikavälit) koneoppimismenetelmien avulla on kuitenkin mahdollista tunnistaa suoritettavan koodin osa. Jos esimerkiksi salausalgoritmissa loogista "1" prosessoitaessa kutsutaan yksi koodin osio ja loogista "0" käsiteltäessä - toinen, on mahdollista palauttaa salatut tiedot kokonaan.

Historia

Alkuperäisen tutkimuksen julkisti joukko tutkijoita Amsterdamin vapaassa yliopistossa 22. kesäkuuta 2018. Hankkeen johtaja Ben Gras paljasti myöhemmin haavoittuvuuden yksityiskohdat Black Hat -tietoturvakonferenssissa . [1] [2] Huolimatta siitä, että haavoittuvuus osoitettiin useissa Intel-prosessoreissa useissa moderneissa arkkitehtuureissa, yritys kieltäytyi hakemasta haavoittuvuuden CVE-tunnistetta vedoten sen merkityksettömyyteen. Tutkijoiden mukaan tämä kanta ei kuvasta asioiden todellista tilaa, koska TLBleed on merkittävästi uudenlainen hyökkäystyyppi, muodostaa merkittävän uhan ja voi toimia lähtökohtana muiden vastaavien haavoittuvuuksien etsinnässä. [3]

Mekanismi

Kuvatun hyökkäyksen toteuttamiseksi on ratkaistava useita teknisiä ongelmia:

Vaikuttaa

Elokuussa 2018 haavoittuvuus on osoitettu vain Intel-suorittimissa. Oletetaan, että myös muiden yritysten prosessorit, joissa sivun käännöspuskuri jaetaan laitteistosäikeiden kesken, voivat olla haavoittuvia tämän tyyppisille hyökkäyksille, mutta konseptin toteutuksia ei ole esitetty. [7] AMD väittää, että haavoittuvuus ei vaikuta sen prosessoreihin. [3]

Haavoittuvuutta koskevien tietojen julkaisemisen jälkeen OpenBSD -projekti poisti kokonaan tuen samanaikaiselle monisäikeiselle järjestelmästä. [8] [9] OpenBSD:n johtaja Theo de Raadt uskoo, että vaikka haavoittuvuus voidaan teoriassa poistaa kieltämällä eri yhteyksien prosessien ajaminen yleisillä prosessoriytimillä, käytännössä tällainen ratkaisu ei ole monimutkaisuuden vuoksi mahdollista. . [kahdeksan]

Puolustusmekanismit

Katso myös

Muistiinpanot

  1. Black Hat USA 2018 . www.blackhat.com Käyttöpäivä: 19. joulukuuta 2018. Arkistoitu alkuperäisestä 7. tammikuuta 2019.
  2. TLBleed Side-Channel CPU Attack Detailed osoitteessa Black Hat . eWEEK. Haettu: 19. joulukuuta 2018.
  3. 12 Williams, Chris . Tapaa TLBleed: Salausavaimia vuotava CPU-hyökkäys, josta Intelin mielestä meidän ei pitäisi huolehtia , The Register (  22. kesäkuuta 2018). Arkistoitu alkuperäisestä 8. joulukuuta 2018. Haettu 19. joulukuuta 2018. 
  4. WikiChip -  WikiChip . fi.wikichip.org. Haettu 19. joulukuuta 2018. Arkistoitu alkuperäisestä 26. lokakuuta 2020.
  5. [ https://www.cs.vu.nl/~giuffrida/papers/revanc_eurosec17.pdf RevAnC: Framework for Reverse Engineering Hardware Page Table Caches]  //  10. eurooppalainen työpaja. Arkistoitu alkuperäisestä 20. joulukuuta 2018.
  6. sched_setaffinity(2) - Linux-käyttöopassivu . man7.org. Haettu 19. joulukuuta 2018. Arkistoitu alkuperäisestä 20. joulukuuta 2018.
  7. Halfacree, Gareth . Tutkijat varoittavat TLBleed Hyper-Threading vuln  (englanniksi) , bit-tech.net  (25. kesäkuuta 2018). Arkistoitu alkuperäisestä 13. helmikuuta 2019. Haettu 19. joulukuuta 2018.
  8. 1 2 3 OpenBSD:n päällikkö de Raadt sanoo, ettei uudelle Intel-suoritinvirheelle ole helppoa  korjausta . www.itwire.com (25. kesäkuuta 2018). Haettu 25. kesäkuuta 2018. Arkistoitu alkuperäisestä 25. kesäkuuta 2018.
  9. OpenBSD poistaa käytöstä Intel-suorittimien hypersäikeistystuen todennäköisten  tietovuotojen vuoksi . www.itwire.com (21. kesäkuuta 2018). Käyttöpäivä: 19. joulukuuta 2018. Arkistoitu alkuperäisestä 9. heinäkuuta 2018.

Linkit