Intel-prosessorien uusi haavoittuvuuksien luokka on otettu käyttöön

Intel julkaistu tietoa uusista haavoittuvuusluokka prosessoreissaan - MDS (Microarchitectural Data Sampling). Kuten aikaisemmat Spectre-hyökkäykset, uudet ongelmat voivat johtaa yksityisen tiedon vuotamiseen käyttöjärjestelmästä, virtuaalikoneista ja muista prosesseista. Väitetään, että Intelin työntekijät ja kumppanit tunnistivat ongelmat ensin sisäisen tarkastuksen aikana, minkä jälkeen riippumattomat tutkijat toimittivat Intelille tietoja vastaavista ongelmista. Ongelma ei vaikuta AMD- ja ARM-prosessoreihin.

Perustuu Grazin teknisen yliopiston (Itävalta) tutkijoiden tunnistamiin ongelmiin kehitetty Muutamia käytännön sivukanavahyökkäyksiä:

  • ZombieLoad (PDF) - voit poimia luottamuksellisia tietoja muista prosesseista, käyttöjärjestelmästä, virtuaalikoneista ja suojatuista erillisalueista (TEE, Trusted Execution Environment). Esimerkiksi kyky määrittää avaussivujen historia toisessa virtuaalikoneessa toimivassa Tor-selaimessa sekä sovelluksissa käytettyjen avainten ja salasanojen määrittäminen;


  • RIDL (PDF) - mahdollistaa tietovuodon Intel-prosessorien erillisten alueiden välillä, kuten täyttöpuskurit, tallennuspuskurit ja latausportit. Esimerkkejä hyökkäyksistä on esitetty järjestämään vuotoja muista prosesseista, käyttöjärjestelmästä, virtuaalikoneista ja suojatuista erillisalueista. Se näyttää esimerkiksi kuinka löytää pääkäyttäjän salasanan sisältö /etc/shadow-tiedostosta säännöllisten todennusyritysten aikana (hyökkäys kesti 24 tuntia);

    Lisäksi näytetään esimerkki JavaScriptiä ja WebAssemblya käyttävästä hyökkäyksestä avattaessa haitallinen sivu SpiderMonkey-moottorissa (nykyaikaisissa täysimittaisissa selaimissa tällainen hyökkäys on epätodennäköinen rajoitetun ajastimen tarkkuuden ja Spectreä vastaan ​​suojautuvien toimenpiteiden vuoksi);

  • Laskeuma (PDF) - mahdollistaa käyttöjärjestelmän äskettäin kirjoittamien tietojen lukemisen ja käyttöjärjestelmän muistin asettelun määrittämisen muiden hyökkäysten yksinkertaistamiseksi;
  • Välitys varastosta vuotoon — hyödyntää CPU-optimointeja työskennelläkseen tallennuspuskurin kanssa ja sitä voidaan käyttää ohittamaan ytimen osoitetilan satunnaistusmekanismi (KASLR), valvomaan käyttöjärjestelmän tilaa tai organisaatioiden vuodot yhdessä Spectre-menetelmiin perustuvien gadgetien kanssa.

Tunnistettu haavoittuvuuksia:

  • CVE-2018-12126 - MSBDS (Microarchitectural Store Buffer Data Sampling), tallennuspuskurien sisällön palautus. Käytetään Fallout-hyökkäyksessä. Vaara-asteeksi on määritetty 6.5 pistettä (CVSS);
  • CVE-2018-12127 - MLPDS (Microarchitectural Load Port Data Sampling), latausportin sisällön palautus. Käytetään RIDL-hyökkäyksessä. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Microarchitectural Fill Buffer Data Sampling), täyttöpuskurin sisällön palautus. Käytetään ZombieLoad- ja RIDL-hyökkäyksissä. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), välimuistin sisällön palautus. Käytetään RIDL-hyökkäyksessä. CVSS 3.8.

sydän tunnisti ongelmia kyvyssä soveltaa sivukanava-analyysimenetelmiä dataan mikroarkkitehtuurirakenteissa, joihin sovelluksilla ei ole suoraa pääsyä. Puhumme sellaisista matalan tason rakenteista kuten täyttöpuskurit (Line Fill Buffer), tallennuspuskurit (Store Buffer) ja latausportit (Load Port), jotka ovat pienempiä rakennuspalikoita kuin ensimmäisen tason välimuisti (L1D), tiedonlatausvälimuisti ( RDCL ) tai L1TF (L1 Terminal Fault), ja vastaavasti sisältävät vähemmän tietoa ja niitä päivitetään intensiivisemmin.

Intel-prosessorien uusi haavoittuvuuksien luokka on otettu käyttöön

Sivukanavahyökkäyksiä mikroarkkitehtuurirakenteita vastaan ​​on paljon vaikeampi toteuttaa välimuistin sisällön palautusmenetelmiin verrattuna, ja ne vaativat merkittävien tietomäärien seurantaa ja analysointia, jotta voidaan määrittää niiden yhteys tiettyihin muistissa oleviin osoitteisiin (hyökkääjä ei voi tarkoituksellisesti siepata tiettyjä tietoja , mutta saattaa olla aikaa kerätä vuotoja ja käyttää tilastollisia menetelmiä tietyntyyppisten tietojen rekonstruoimiseksi). Lisäksi hyökkäys vaikuttaa vain tietoihin, jotka ovat samassa fyysisessä prosessoriytimessä kuin hyökkääjän koodi.

Ehdotetut menetelmät mikroarkkitehtonisten rakenteiden sisällön määrittämiseksi perustuvat siihen, että näitä rakenteita käytetään spekulatiivisessa poikkeusten (vikojen) käsittelyssä tai kuorma- ja varastooperaatioissa.
Spekulatiivisen suorituksen aikana sisäisten rakenteiden sisältö ohjataan rekistereihin tai välimuistiin käsittelyä varten. Spekulatiiviset toiminnot eivät valmistu ja tulos hylätään, mutta uudelleenohjattu sisältö voidaan määrittää käyttämällä sivukanavan välimuistianalyysitekniikoita.

Prosessori käyttää latausportteja vastaanottaakseen tietoja muistista tai I/O-alijärjestelmästä ja toimittaakseen vastaanotetut tiedot CPU-rekistereihin. Toteutusominaisuuden ansiosta vanhojen lataustoimintojen tiedot säilyvät porteissa, kunnes ne korvataan uudella tiedolla, mikä mahdollistaa tietojen tilan epäsuorasti määrittämisen latausportissa manipuloimalla poikkeuksia (virheitä) ja SSE/AVX/ AVX-512-ohjeet, jotka lataavat yli 64-bittistä dataa. Tällaisissa olosuhteissa lataustoiminnot paljastavat spekulatiivisesti vanhentuneet tietoarvot sisäisistä rakenteista riippuvaisille toiminnoille. Samalla tavalla vuoto järjestetään tallennuspuskurin kautta, jota käytetään nopeuttamaan CPU-välimuistiin kirjoittamista ja joka sisältää taulukon osoitteista, arvoista ja lippuista, sekä täyttöpuskurin kautta, joka sisältää tietoja, jotka ei ole vielä L1-välimuistissa (cache-miss), latautuu toistaiseksi muiden tasojen välimuistista.

Intel-prosessorien uusi haavoittuvuuksien luokka on otettu käyttöön

ongelma vaikuttaa Intel-prosessorimalleja on valmistettu vuodesta 2011 lähtien (alkaen kuudennesta sukupolvesta). Tässä tapauksessa laitteiston haavoittuvuudet estetään joistakin Intel Coren 6. ja 8. sukupolven malleista ja Intel Xeon Scalable 9. sukupolven malleista alkaen (voit tarkistaa käyttämällä IA2_ARCH_CAPABILITIES MSR:n bittiä ARCH_CAP_MDS_NO). Myös haavoittuvuuksia on jo eliminoitu laiteohjelmiston, mikrokoodin ja käyttöjärjestelmien tasolla. Intel arvioi suorituskyvyn heikkenemisen korjaustiedoston aktivoinnin jälkeen useimmille käyttäjille vähemmän kuin 3 %. Kun Hyper-Threading-tekniikka on poistettu käytöstä, suorituskyvyn heikkeneminen voi olla jopa 9 % SPECint_rate_base-testissä, jopa 11 % aktiivisten kokonaislukujen laskennassa ja jopa 19 % käytettäessä palvelinpuolen Java-sovelluksia (jos HT on käytössä, on lähes ei suorituskyvyn heikkenemistä). Korjauspäivityksillä on vain vähän vaikutusta I/O-suorituskykyyn.

Linux-ydin suojaa MDS:ltä lisätty nykypäivänä päivitykset 5.1.2, 5.0.16,
4.19.43, 4.14.119 ja 4.9.176. Suojausmenetelmä rakenteilla mikroarkkitehtuuripuskurien sisällön tyhjentämisessä palatessaan ytimestä käyttäjätilaan tai siirrettäessä ohjausta vierasjärjestelmään, johon VERW-käskyä käytetään. Jotta suojaus toimisi, se vaatii tuen MD_CLEAR-tilalle, joka on toteutettu uusimmassa mikrokoodipäivityksessä. Täydellisen suojan takaamiseksi on myös suositeltavaa poistaa Hyper Threading käytöstä. Voit tarkistaa järjestelmän altistumisen Linux-ytimen haavoittuvuuksille lisätty Käsittelijä "/sys/devices/system/cpu/vulnerabilities/mds". Erilaisten haavoittuvuuksien estotilojen sisällyttämisen hallintaan ytimeen on lisätty parametri "mds=", joka voi ottaa arvot "full", "full,nosmt" (hyper-Threads-toiminnon poistaminen käytöstä), "vmwerv" ja "vinossa".

Pakettipäivitykset on jo julkaistu RHEL и Ubuntu, mutta eivät ole toistaiseksi käytettävissä Debian, Fedora и SUSE.
Korjaus myös virtuaalikoneiden tietovuodojen estämiseen muodostettu Xen-hypervisorille. Mikrokoodipäivitys riittää suojaamaan virtualisointijärjestelmiä, jotka antavat L1D_FLUSH-komennon ennen ohjauksen siirtämistä toiseen virtuaalikoneeseen, ja suojaamaan Intel SGX -enklaaveja.

Lähde: opennet.ru

Lisää kommentti