Downfall, haavoittuvuus, joka vaikuttaa Intelin prosessoreihin ja sallii pääsyn tietoihisi tietojen varastamiseksi

downfall

Haavoittuvuus johtuu Intel-prosessorien muistin optimointiominaisuuksista.

Intel-prosessoreiden spekulatiivisesta käskyjen suoritusjärjestelmästä on jälleen löydetty haavoittuvuus , ja tällä kertaa Googlen tutkija paljasti tunnistaneensa uuden haavoittuvuuden (joka on jo luetteloitu nimellä CVE-2022-40982 ) nimeltä "Downfall".

Downfall on haavoittuvuus, joka mahdollistaa XMM-, YMM- ja ZMM-vektorirekisterien sisällön määrittämisen . Näitä rekistereitä on aiemmin käytetty muissa prosesseissa AVX-käskyjä suoritettaessa samalla suorittimen ytimellä.

Tietoja kaatumisesta

Haavoittuvuuteen liittyen mainitaan, että etuoikeudeton hyökkääjä , jolla on kyky suorittaa omaa koodiaan järjestelmässä, voisi käyttää haavoittuvuutta tietojen vuotamiseen muista käyttäjäprosesseista, järjestelmän ytimestä, erillisistä Intel SGX -enklaaveista ja virtuaalikoneista.

Suodatettavat vektorirekisterit ovat laajalti käytössä esimerkiksi salauksessa, muistikopiotoiminnoissa ja merkkijonojen käsittelyssä, näitä rekistereitä käytetään Glibc-kirjastossa mm. memcpy-, strcmp- ja strlen-funktioissa. Käytännön näkökulmasta haavoittuvuutta voitaisiin hyödyntää AES-NI- tai REP-MOVS-ohjeissa (käytetään memcpy-toiminnossa) käsiteltyjen tietojen määrittämiseen muissa prosesseissa, jotka voivat vuotaa salausavaimia, arkaluontoisia tietoja ja käyttäjien salasanoja.

Haavoittuvuus ilmenee Intelin prosessoreissa , jotka tukevat AVX2- ja AVX-512-laajennettuja käskykantoja (eli se vaikuttaa 6.–11. sukupolven prosessoreihin), kun taas Alder Lake-, Raptor Lake- ja Sapphire Rapids -mikroarkkitehtuureihin perustuvat Intelin prosessorit eivät ole haavoittuvia.

Kuten äskettäin löydetyn Zenbleed-haavoittuvuuden yhteydessä, joka vaikuttaa AMD Zen2 -prosessoreihin, Downfallissa haavoittuvuuden syynä on tietovuoto lokitiedostoista, joita käytetään lokisisällön jakamiseen kaikkien sovellusten kesken.

Vuoto johtuu spekulatiivisesta tiedonsiirrosta GATHER-käskyn suorituksen aikana . GATHER-käsky on saatavilla AVX2- ja AVX-512-laajennuksissa, ja sen tarkoituksena on tarjota nopea pääsy muistissa oleviin hajanaisiin tietoihin. GATHER-käskyn suorituksen aikana rekisteritiedoston vanhoja tietoja käytetään riippuvaisten käskyjen spekulatiivisessa suorituksessa. Nämä tiedot eivät heijastu suoraan ohjelmiston rekistereihin, mutta ne voidaan havaita Meltdown-hyökkäyksiin suunnitelluilla sivukanavahyökkäystekniikoilla, kuten analysoimalla suorittimen välimuistissa olevaa jäännösdataa.

Downfallin hyödyntämiseksi kehitettiin hyökkäystekniikka nimeltä Gather Data Sampling (GDS), ja prototyyppisiä hyökkäystekniikoita on julkaistu kryptografisten avainten poimimiseen toisen käyttäjän prosessista, tietojen vuotamiseen sen jälkeen, kun memcpy-funktio on kopioinut ne Linux-ytimeen, ja vektorirekistereihin muiden prosessien suorittamisen jälkeen jääneiden tulostettujen merkkien sieppaamiseen. Esimerkiksi se osoittaa kyvyn määrittää AES-avaimia, joita käytetään tietojen salaamiseen toisen käyttäjän prosessissa OpenSSL-kirjaston avulla.

Menetelmä osoitti korkeaa tehokkuutta: 100 eri avaimella tehdyssä kokeessa se tunnisti onnistuneesti 100 % AES-128-avaimista ja 86 % AES-256-avaimista, ja kukin yritys kesti enintään 10 sekuntia. Pilvijärjestelmissä tätä hyökkäystä voidaan käyttää muissa virtuaalikoneissa käsiteltävien tietojen tunnistamiseen. Haavoittuvuutta voidaan mahdollisesti hyödyntää suorittamalla JavaScript-koodia verkkoselaimessa.

On syytä mainita, että Intel sai tietää ongelmasta viime vuonna (tarkemmin sanottuna elokuussa) ja että haavoittuvuus julkistettiin vasta tänä vuonna Black Hat USA -konferenssissa. Haavoittuvuutta vastaan ​​suojaavat korjaukset sisältyvät jo useisiin Linux-ytimen päivityksiin versiosta 6.4.9 versioon 4.14.321.

Tämän lisäksi mahdollisten toimenpiteiden joukossa, joilla estetään suojauksen kielteinen vaikutus Downfall-haavoittuvuudella suorituskykyyn, mainitaan kääntäjiin tehtävät muutokset GATHER-käskyn käytön poistamiseksi tai lausekkeen lisääminen välittömästi GATHER-käskyn jälkeen. LFENCE, joka estää myöhempien käskyjen ennaltaehkäisevän suorittamisen ennen kuin kaikki aiemmat sitoumukset on suoritettu.

Järjestelmissä, joissa laiteohjelmiston korjauksia ei ole saatavilla, tuki kaikille AVX-laajennuksille on poistettu käytöstä, kun taas Intelin mikrokoodipäivityksen osalta se tarjoaa myös mahdollisuuden käyttää MSR-liitäntää laiteohjelmiston suojauksen poistamiseen valikoivasti käytöstä. prosessit.

Lopuksi, jos olet kiinnostunut oppimaan lisää tästä , löydät yksityiskohdat seuraavasta linkistä.


Lisää ensisijaiseksi lähteeksi Googlessa