L1DES (CacheOut) og VRS - nye sårbarheter i mikroarkitektoniske strukturer til Intel CPUer

Intel avdekket informasjon om to nye sårbarheter i Intel CPUer forårsaket av datalekkasje fra L1D-cachen (CVE-2020-0549, L1DES - L1D Eviction Sampling) og vektorregistre (CVE-2020-0548, VRS - Vector Register Sampling). Sårbarheter tilhører klassen MDS (Microarchitectural Data Sampling) og er basert på anvendelse av sidekanalanalysemetoder på data i mikroarkitektoniske strukturer. AMD, ARM og andre prosessorer påvirkes ikke av problemer.

Den største faren er L1DES-sårbarheten, som tillater oppgjør av blokker med hurtigbufrede data (cache-linje), kastet ut fra cache på første nivå (L1D), i Fill Buffer, som på dette stadiet skal være tom. For å bestemme dataene som har lagt seg i fyllingsbufferen, kan vi bruke sidekanalanalysemetoder som tidligere er foreslått i angrep MDS (Mikroarkitektonisk dataprøvetaking) og TAA (Transaksjonell asynkron abort). Essensen av den tidligere implementerte beskyttelsen mot
MDS og TAA i flushing av mikroarkitektoniske buffere før kontekstbytte, men det viser seg at under noen forhold blir data spekulativt spylt inn i buffere etter flush-operasjonen, så MDS- og TAA-metoder forblir anvendelige.

L1DES (CacheOut) og VRS - nye sårbarheter i mikroarkitektoniske strukturer til Intel CPUer

Som et resultat kan en angriper oppnå deteksjon av data fjernet fra cachen på første nivå som ble endret under kjøringen av en applikasjon som tidligere okkuperte den nåværende CPU-kjernen, eller applikasjoner som kjører parallelt i andre logiske tråder (hyperthread) på samme CPU kjerne (deaktivering av HyperThreading reduserer ingen angrepseffektivitet). I motsetning til angrep L1TF,L1DES tillater ikke valg av spesifikke fysiske adresser for inspeksjon, men det gir muligheten til passivt å overvåke aktivitet i andre logiske tråder knyttet til, laste eller lagre verdier i minnet.

Basert på L1DES har ulike forskerteam utviklet flere angrepsvarianter som potensielt kan trekke ut sensitiv informasjon fra andre prosesser, operativsystemet, virtuelle maskiner og beskyttede SGX-enklaver.

  • VUSec-teamet tilpasset RIDL-angrepsmetode for L1DES-sårbarheten. Tilgjengelig utnytte prototypen, som også omgår Intels foreslåtte MDS-beskyttelsesmetode, som er basert på bruk av VERW-instruksjonen for å fjerne innholdet i mikroarkitektoniske buffere når de returnerer fra kjernen til brukerområdet eller når kontrollen overføres til gjestesystemet (forskere insisterte først på at VERW (clearing microarchitectural) buffere) for beskyttelse er utilstrekkelig og krever en fullstendig skylling av L1-cachen på hver kontekstbryter).
  • Lag ZombieLoad oppdaterte min angrepsmetode tar hensyn til L1DES-sårbarheten.
  • Forskere ved University of Michigan har utviklet sin egen angrepsmetode Cache ut (PDF), som lar deg trekke ut konfidensiell informasjon fra operativsystemkjernen, virtuelle maskiner og beskyttede SGX-enklaver. Metoden er basert på manipulasjoner med en mekanisme for asynkron avbrudd av operasjoner (TAA, TSX Asynchronous Abort) for å bestemme innholdet i fyllbufferen etter en datalekkasje fra L1D-cachen.

    L1DES (CacheOut) og VRS - nye sårbarheter i mikroarkitektoniske strukturer til Intel CPUer

Andre VRS (Vector Register Sampling) sårbarhet uavgjort med lekkasje inn i lagringsbufferen (Store Buffer) av resultatene av leseoperasjoner fra vektorregistre endret under utførelsen av vektorinstruksjoner (SSE, AVX, AVX-512) på samme CPU-kjerne. Lekkasjen oppstår under et ganske sjeldent sett av omstendigheter og er forårsaket av det faktum at en spekulativ operasjon som resulterer i refleksjon av tilstanden til vektorregistre i lagringsbufferen er forsinket og fullføres etter at bufferen er tømt, og ikke før den. I likhet med L1DES-sårbarheten, kan innholdet i lagringsbufferen deretter bestemmes ved hjelp av MDS- og TAA-angrepsteknikker.

Forskere fra VUSec-gruppen forberedt utnytte prototypen, som lar deg bestemme verdiene til vektorregistre oppnådd som et resultat av beregninger i en annen logisk tråd av samme CPU-kjerne. Intel Company verdsatt VRS-sårbarhet ble ansett som for kompleks til å utføre reelle angrep og tildelt et minimumsnivå av alvorlighetsgrad (2.8 CVSS).

Problemene ble rapportert til Intel i mai 2019 av Zombieload-teamet fra det tekniske universitetet i Graz (Østerrike) og VUSec-teamet fra Free University of Amsterdam, og sårbarhetene ble senere bekreftet av flere andre forskere etter å ha analysert andre MDS-angrepsvektorer. Den første MDS-rapporten inkluderte ikke informasjon om L1DES- og VRS-problemene på grunn av mangelen på en løsning. Rettingen er ikke tilgjengelig nå, men den avtalte taushetserklæringen er utløpt.
Som en løsning anbefales det å deaktivere HyperThreading. For å blokkere sårbarheten på kjernesiden, foreslås det å tilbakestille L1-cachen ved hver kontekstbryter (MSR-bit MSR_IA32_FLUSH_CMD) og deaktivere TSX-utvidelsen (MSR-biter MSR_IA32_TSX_CTRL og MSR_TSX_FORCE_ABORT).

Intel løfter slipp en mikrokodeoppdatering med implementering av mekanismer for å blokkere problemer i nær fremtid. Intel bemerker også at bruken av angrepsbeskyttelsesmetoder ble foreslått i 2018 L1TF (L1 Terminal Fault) lar deg blokkere utnyttelsen av L1DES-sårbarheten fra virtuelle miljøer. Angrep underlagt Intel Core-prosessorer som starter fra sjette generasjon (Sky, Kaby, Coffee, Whiskey, Amber Lake, etc.), samt noen Intel Xeon og Xeon Scalable-modeller.

I tillegg kan det bemerkes forbedring utnytte, slik at du kan bruke angrepsmetoder RIDL for å bestemme innholdet i root-passord-hashen fra /etc/shadow under periodiske autentiseringsforsøk. Hvis den opprinnelig foreslåtte utnyttelsen avgjorde passordet hash inn 24 timer, og etter påføring av lekkasjen under operasjonen av den asynkrone avbruddsmekanismen (TAA, TSX Asynchronous Abort) utførte en lignende operasjon i 36 sekunder, så gjør den nye varianten et angrep på 4 sekunder.

Kilde: opennet.ru

Legg til en kommentar