Tietovuoto Intel CPU rengasväylän kautta

Illinoisin yliopiston tutkijaryhmä on kehittänyt uuden sivukanavahyökkäystekniikan, joka manipuloi tietovuotoa Intel-prosessorien Ring Interconnect -liitännällä. Hyökkäyksen avulla voit korostaa muistin käyttötietoja toisessa sovelluksessa ja seurata näppäinpainalluksen ajoitustietoja. Tutkijat julkaisivat työkaluja asiaan liittyvien mittausten suorittamiseen ja useita prototyyppihyödykkeitä.

On ehdotettu kolmea hyväksikäyttöä, jotka mahdollistavat:

  • Palauta salausavainten yksittäiset bitit, kun käytät RSA- ja EdDSA-toteutuksia, jotka ovat alttiina sivukanavahyökkäyksille (jos laskentaviiveet riippuvat käsiteltävästä tiedosta). Esimerkiksi yksittäisten bittien vuotaminen EdDSA:n alustusvektoria (nonce) koskevilla tiedoilla riittää hyökkäyksille koko yksityisen avaimen peräkkäiseen palauttamiseen. Hyökkäys on käytännössä vaikea toteuttaa ja se voidaan toteuttaa suurella määrällä varauksia. Onnistunut toiminta näkyy esimerkiksi, kun SMT (HyperThreading) on ​​poistettu käytöstä ja LLC-välimuisti on segmentoitu CPU-ytimien kesken.
  • Määritä parametrit viiveille näppäinpainallusten välillä. Viiveet riippuvat näppäinten asennosta ja mahdollistavat tilastollisen analyysin avulla näppäimistöltä syötettyjen tietojen luomisen uudelleen tietyllä todennäköisyydellä (esimerkiksi useimmat ihmiset kirjoittavat yleensä "s" "a":n jälkeen paljon nopeammin kuin "g" sen jälkeen "s").
  • Järjestä piilotettu viestintäkanava tiedon siirtämiseksi prosessien välillä noin 4 megabitin sekunnissa, joka ei käytä jaettua muistia, prosessorin välimuistia eikä suorittimen ydinkohtaisia ​​resursseja ja prosessorirakenteita. On huomattava, että ehdotettu menetelmä peitekanavan luomiseksi on erittäin vaikea estää olemassa olevilla suojausmenetelmillä sivukanavahyökkäyksiltä.

Hyödynnät eivät vaadi korkeampia oikeuksia, ja tavalliset, etuoikeutetut käyttäjät voivat käyttää niitä. On todettu, että hyökkäys voitaisiin mahdollisesti mukauttaa järjestämään tietovuotoa virtuaalikoneiden välillä, mutta tämä ongelma ei kuulunut tutkimuksen piiriin eikä virtualisointijärjestelmien testausta tehty. Ehdotettu koodi testattiin Intel i7-9700 -suorittimella Ubuntu 16.04:ssä. Yleisesti ottaen hyökkäysmenetelmää on testattu Intel Coffee Lake- ja Skylake-perheen työpöytäprosessoreilla, ja sitä voidaan mahdollisesti soveltaa myös Broadwell-perheen Xeon-palvelinprosessoreihin.

Ring Interconnect -tekniikka ilmestyi Sandy Bridge -mikroarkkitehtuuriin perustuviin prosessoreihin ja koostuu useista silmukkaväylistä, joita käytetään laskenta- ja grafiikkaytimien yhdistämiseen, palvelinsillasta ja välimuistista. Hyökkäysmenetelmän ydin on, että rengasväylän kaistanleveyden rajoituksen vuoksi muistitoiminnot yhdessä prosessissa viivästävät pääsyä toisen prosessin muistiin. Tunnistamalla toteutuksen yksityiskohdat käänteisen suunnittelun avulla hyökkääjä voi luoda kuormituksen, joka aiheuttaa muistin käyttöviiveitä toisessa prosessissa, ja käyttää näitä viiveitä sivukanavana tiedon hankkimiseen.

Hyökkäyksiä sisäisiin CPU-väyliin haittaa tiedon puute väylän arkkitehtuurista ja toimintatavoista sekä korkea melutaso, mikä vaikeuttaa hyödyllisten tietojen eristämistä. Väylän toimintaperiaatteet oli mahdollista ymmärtää väylän kautta siirrettäessä käytettyjen protokollien käänteissuunnittelulla. Hyödyllisen tiedon erottamiseen kohinasta käytettiin koneoppimismenetelmiin perustuvaa datan luokittelumallia. Ehdotettu malli mahdollisti laskelmien aikana tapahtuvien viiveiden seurannan järjestämisen tietyssä prosessissa olosuhteissa, joissa useat prosessit käyttävät samanaikaisesti muistia ja tietty osa tiedosta palautetaan prosessorin välimuistista.

Lisäksi voimme havaita jälkiä Spectre-haavoittuvuuden (CVE-2017-5753) ensimmäisen muunnelman hyväksikäytön käytöstä Linux-järjestelmiä vastaan ​​tehtyjen hyökkäysten aikana. Hyödyntäminen käyttää sivukanavan tietovuotoa löytääkseen superlohkon muistista, määrittääkseen /etc/shadow-tiedoston inodin ja laskeakseen muistisivun osoitteen tiedoston hakemiseksi levyn välimuistista.

Lähde: opennet.ru

Lisää kommentti