L1DES (CacheOut) og VRS - nye sårbarheder i mikroarkitektoniske strukturer af Intel CPU'er

Intel afdækket oplysninger om to nye sårbarheder i Intel CPU'er forårsaget af datalækage fra L1D-cachen (CVE-2020-0549, L1DES - L1D Eviction Sampling) og vektorregistre (CVE-2020-0548, VRS - Vector Register Sampling). Sårbarheder tilhører klassen MDS (Microarchitectural Data Sampling) og er baseret på anvendelsen af ​​side-kanal analysemetoder til data i mikroarkitektoniske strukturer. AMD, ARM og andre processorer er ikke påvirket af problemer.

Den største fare er L1DES-sårbarheden, som tilladelser afvikling af blokke med cachelagrede data (cachelinje), smidt ud fra cachen på første niveau (L1D), i Fill Buffer, som på dette stadium burde være tom. For at bestemme de data, der har lagt sig i påfyldningsbufferen, kan vi bruge sidekanalanalysemetoder, der tidligere er foreslået i angreb MDS (Mikroarkitektonisk datasampling) og TAA (Transaktionel asynkron abort). Essensen af ​​den tidligere implementerede beskyttelse mod
MDS og TAA i skylning af mikroarkitektoniske buffere før kontekstskift, men det viser sig, at under nogle forhold bliver data spekulativt skyllet ind i buffere efter skylleoperationen, så MDS- og TAA-metoder forbliver anvendelige.

L1DES (CacheOut) og VRS - nye sårbarheder i mikroarkitektoniske strukturer af Intel CPU'er

Som følge heraf kan en angriber opnå detektering af data fjernet fra cachen på første niveau, som blev ændret under udførelsen af ​​en applikation, der tidligere optog den aktuelle CPU-kerne, eller applikationer, der kører parallelt i andre logiske tråde (hyperthread) på den samme CPU kerne (deaktivering af HyperThreading reducerer ingen angrebseffektivitet). I modsætning til angreb L1TF,L1DES tillader ikke valg af specifikke fysiske adresser til inspektion, men det giver mulighed for passivt at overvåge aktivitet i andre logiske tråde forbundet med, indlæse eller gemme værdier i hukommelsen.

Baseret på L1DES har forskellige forskerhold udviklet flere angrebsvarianter, der potentielt kan udtrække følsom information fra andre processer, operativsystemet, virtuelle maskiner og beskyttede SGX-enklaver.

  • VUSec Team tilpasset RIDL-angrebsmetode for L1DES-sårbarheden. Ledig udnytte prototypen, som også omgår Intels foreslåede MDS-beskyttelsesmetode, som er baseret på brugen af ​​VERW-instruktionen til at rydde indholdet af mikroarkitektoniske buffere, når de vender tilbage fra kernen til brugerområdet eller ved overførsel af kontrol til gæstesystemet (forskere insisterede oprindeligt på, at VERW (clearing microarchitectural) buffere) for beskyttelse er utilstrækkelig og kræver en fuldstændig skylning af L1-cachen på hver kontekstswitch).
  • Team ZombieLoad opdateret min angrebsmetode under hensyntagen til L1DES-sårbarheden.
  • Forskere ved University of Michigan har udviklet deres egen angrebsmetode Cache ud (PDF), som giver dig mulighed for at udtrække fortrolige oplysninger fra operativsystemkernen, virtuelle maskiner og beskyttede SGX-enklaver. Metoden er baseret på manipulationer med en mekanisme til asynkron afbrydelse af operationer (TAA, TSX Asynchronous Abort) for at bestemme indholdet af fyldebufferen efter et datalæk fra L1D-cachen.

    L1DES (CacheOut) og VRS - nye sårbarheder i mikroarkitektoniske strukturer af Intel CPU'er

Anden VRS (Vector Register Sampling) sårbarhed bundet med lækage ind i lagerbufferen (Store Buffer) af resultaterne af læseoperationer fra vektorregistre ændret under udførelsen af ​​vektorinstruktioner (SSE, AVX, AVX-512) på den samme CPU-kerne. Lækagen opstår under et ret sjældent sæt omstændigheder og er forårsaget af det faktum, at en spekulativ operation, der resulterer i afspejling af tilstanden af ​​vektorregistre i lagerbufferen, forsinkes og afsluttes, efter at bufferen er ryddet, og ikke før den. I lighed med L1DES-sårbarheden kan indholdet af lagerbufferen derefter bestemmes ved hjælp af MDS- og TAA-angrebsteknikker.

Forskere fra VUSec-gruppen forberedt udnytte prototypen, som giver dig mulighed for at bestemme værdierne af vektorregistre opnået som et resultat af beregninger i en anden logisk tråd af den samme CPU-kerne. Intel Company værdsat VRS-sårbarhed blev anset for at være for kompleks til rigtige angreb og tildelt et minimumsniveau af sværhedsgrad (2.8 CVSS).

Problemerne blev rapporteret til Intel i maj 2019 af Zombieload-teamet fra det tekniske universitet i Graz (Østrig) og VUSec-teamet fra Free University of Amsterdam, og sårbarhederne blev senere bekræftet af flere andre forskere efter at have analyseret andre MDS-angrebsvektorer. Den første MDS-rapport indeholdt ikke oplysninger om L1DES- og VRS-problemerne på grund af manglen på en rettelse. Rettelsen er ikke tilgængelig nu, men den aftalte tavshedsperiode er udløbet.
Som en løsning anbefales det at deaktivere HyperThreading. For at blokere sårbarheden på kernesiden foreslås det at nulstille L1-cachen ved hver kontekstswitch (MSR-bit MSR_IA32_FLUSH_CMD) og deaktivere TSX-udvidelsen (MSR-bit MSR_IA32_TSX_CTRL og MSR_TSX_FORCE_ABORT).

Intel løfter frigive en mikrokodeopdatering med implementering af mekanismer til at blokere problemer i den nærmeste fremtid. Intel bemærker også, at brugen af ​​angrebsbeskyttelsesmetoder blev foreslået i 2018 L1TF (L1 Terminal Fault) giver dig mulighed for at blokere udnyttelsen af ​​L1DES-sårbarheden fra virtuelle miljøer. Angreb underlagt Intel Core-processorer fra sjette generation (Sky, Kaby, Coffee, Whisky, Amber Lake osv.), samt nogle Intel Xeon og Xeon Scalable-modeller.

Derudover kan det bemærkes forbedring udnytte, så du kan bruge angrebsmetoder RIDL for at bestemme indholdet af root-adgangskode-hashen fra /etc/shadow under periodiske autentificeringsforsøg. Hvis den oprindeligt foreslåede udnyttelse afgjorde adgangskoden hash-ind 24 timer, og efter at have påført lækagen under driften af ​​den asynkrone afbrydelsesmekanisme (TAA, TSX Asynchronous Abort) udførte en lignende operation i 36 sekunder, så laver den nye variant et angreb på 4 sekunder.

Kilde: opennet.ru

Tilføj en kommentar