Uusi versio Zombieload-hyökkäyksestä Intel-prosessoreihin on tunnistettu

Grazin teknisen yliopiston tutkijat (Itävalta) paljastettu tiedot uudesta hyökkäysmenetelmästä kolmannen osapuolen kanavien kautta Zombie Load 2.0 (CVE-2019-11135), jonka avulla voit poimia luottamuksellisia tietoja muista prosesseista, käyttöjärjestelmästä, virtuaalikoneista ja suojatuista erillisalueista (TEE, Trusted Execution Environment). Ongelma koskee vain Intel-prosessoreja. Komponentit, jotka estävät ongelman ehdotettu eilen mikrokoodin päivitys.

Ongelma kuuluu MDS (Microarchitectural Data Sampling) -luokkaan ja on modernisoitu versio julkaistu toukokuussa ZombieLoad-hyökkäykset. ZombieLoad 2.0, kuten muutkin MDS-hyökkäykset, perustuu sivukanava-analyysitekniikoiden soveltamiseen mikroarkkitehtuurirakenteiden tietoihin (esimerkiksi Line Fill Buffer ja Store Buffer), jotka tallentavat tilapäisesti prosessissa käytetyt tiedot. Load and Store -toimintojen suorittaminen .

Uusi Zombieload-hyökkäysversio perustuu vuodosta, joka tapahtuu toimintojen asynkronisen keskeytysmekanismin (TAA, TSX Asynchronous Abort) toiminnan aikana, joka on toteutettu TSX (Transactional Synchronization Extensions) -laajennuksessa, joka tarjoaa työkaluja transaktiomuistin kanssa työskentelyyn, mikä mahdollistaa suorituskyvyn lisäämisen monisäikeiset sovellukset eliminoimalla dynaamisesti tarpeettomat synkronointitoiminnot (tuetut atomitapahtumat, jotka voidaan joko hyväksyä tai keskeyttää). Jos keskeytetään, tapahtumamuistialueella suoritetut toiminnot peruutetaan.

Tapahtuman keskeytys tapahtuu asynkronisesti, ja tänä aikana muut säikeet voivat käyttää välimuistia, jota käytetään myös hylätyllä tapahtumamuistialueella. Asynkronisen tapahtuman keskeytyksen aloittamisen ja varsinaisen loppuunsaattamisen välisenä aikana saattaa syntyä tilanteita, joissa prosessori voi spekulatiivisen toimenpiteen suorittamisen aikana lukea tietoja sisäisistä mikroarkkitehtuuripuskureista ja siirtää ne spekulatiiviseen toimintoon. Tämän jälkeen ristiriita havaitaan ja spekulatiivinen toimenpide hylätään, mutta tiedot pysyvät välimuistissa ja ne voidaan noutaa käyttämällä sivukanavan välimuistin palautustekniikoita.

Hyökkäys tiivistyy TSX-tapahtumien avaamiseen ja olosuhteiden luomiseen niiden asynkroniselle keskeytymiselle, jonka aikana syntyy ehtoja sisäisten puskurien sisällön vuotamiselle, jotka on spekulatiivisesti täytetty samalla CPU-ytimellä suoritettujen muistin lukutoimintojen tiedoilla. Vuoto rajoittuu nykyiseen fyysiseen prosessorin ytimeen (jossa hyökkääjän koodi toimii), mutta koska mikroarkkitehtuuripuskurit jaetaan eri säikeiden kesken Hyper-Threading-tilassa, on mahdollista vuotaa muissa prosessorisäikeissä suoritettuja muistitoimintoja.

Hyökkäys jollei jotkin Intel Core -suorittimien kahdeksannen, yhdeksännen ja kymmenennen sukupolven mallit sekä Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W ja toisen sukupolven Intel Xeon Scalable. Uudet Intel-prosessorit, jotka perustuvat huhtikuussa julkistettuun Cascade Lake -mikroarkkitehtuuriin, joka ei alun perin ollut herkkä RIDL- ja Fallout-hyökkäyksille, ovat myös alttiita hyökkäyksille. Zombieload 2.0:n lisäksi tutkijat tunnistivat myös mahdollisuuden ohittaa aiemmin ehdotetut suojausmenetelmät MDS-hyökkäyksiä vastaan ​​perustuen VERW-ohjeen käyttöön mikroarkkitehtonisten puskurien sisällön tyhjentämiseksi palatessaan ytimestä käyttäjätilaan tai siirrettäessä hallintaa vierasjärjestelmä.

Intelin raportissa todetaan, että heterogeenisen kuormituksen omaavissa järjestelmissä kyky suorittaa hyökkäys on vaikeaa, koska mikroarkkitehtonisista rakenteista tapahtuva vuoto kattaa kaiken järjestelmän toiminnan eikä hyökkääjä voi vaikuttaa poimitun datan lähteeseen, ts. voi vain kerätä tietoa, joka syntyy vuodon seurauksena, ja yrittää tunnistaa hyödyllistä tietoa näistä tiedoista ilman kykyä tarkoituksellisesti siepata tiettyihin muistiosoitteisiin liittyviä tietoja. Tutkijat kuitenkin julkaisivat hyödyntää prototyyppiä, joka toimii Linuxissa ja Windowsissa, ja osoitti kyvyn käyttää hyökkäystä pääkäyttäjän salasanan hajautusarvon määrittämiseen.
Ehkä hyökkäyksen suorittaminen vierasjärjestelmästä kerätäkseen tietoja, jotka näkyvät muiden vierasjärjestelmien toiminnassa, isäntäympäristössä, hypervisorissa ja Intel SGX -enklaaveissa.

Korjauksia haavoittuvuuden estämiseksi mukana Linux-ytimen koodikantaan ja sisällytetty julkaisuihin 5.3.11, 4.19.84, 4.14.154, 4.9.201 ja 4.4.201. Ydin- ja mikrokoodipäivitykset on myös jo julkaistu suurille jakeluille (Debian, SUSE / openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). Ongelma havaittiin huhtikuussa, ja Intelin ja käyttöjärjestelmän kehittäjät koordinoivat sen korjausta.

Yksinkertaisin tapa estää Zombieload 2.0 on poistaa TSX-tuki käytöstä prosessorista. Ehdotettu korjaus Linux-ytimelle sisältää useita suojausvaihtoehtoja. Ensimmäinen vaihtoehto tarjoaa "tsx=on/off/auto"-parametrin, jonka avulla voit hallita, onko TSX-laajennus käytössä suorittimessa (auto-arvo poistaa TSX:n käytöstä vain haavoittuvissa suorittimissa). Toinen suojausvaihtoehto otetaan käyttöön parametrilla "tsx_async_abort=off/full/full,nosmt", ja se perustuu mikroarkkitehtonisten puskurien tyhjentämiseen kontekstin vaihdon aikana (nosmt-lippu poistaa lisäksi käytöstä SMT/Hyper-Threads). Sysfs tarjoaa "/sys/devices/system/cpu/vulnerabilities/tsx_async_abort"-parametrin tarkistaakseen, onko järjestelmä alttiina haavoittuvuuksille.

Myös päivitys mikrokoodi eliminoitu toinen haavoittuvuus (CVE-2018-12207) Intel-suorittimissa, mikä on myös estetty uusimmissa päivitys Linux-ytimet. Haavoittuvuus sen avulla etuoikeutettu hyökkääjä aloittaa palveluneston, jolloin järjestelmä jumittuu "Machine Check Error" -tilaan.
Hyökkäys mukaan lukien voidaan sitoutua vierasjärjestelmästä.

Lähde: opennet.ru

Lisää kommentti