L1DES (CacheOut) och VRS - nya sårbarheter i mikroarkitektoniska strukturer hos Intel-processorer

Intel avtäckt information om två nya sårbarheter i Intel-processorer orsakade av dataläckage från L1D-cachen (CVE-2020-0549, L1DES - L1D Eviction Sampling) och vektorregister (CVE-2020-0548, VRS - Vector Register Sampling). Sårbarheter tillhör klassen MDS (Microarchitectural Data Sampling) och baseras på tillämpningen av sidokanalanalysmetoder på data i mikroarkitektoniska strukturer. AMD, ARM och andra processorer påverkas inte av problem.

Den största faran är L1DES-sårbarheten, som tillstånd avveckling av block med cachelagrade data (cache-rad), avhysta från första nivåns cache (L1D), i Fill Buffer, som i detta skede bör vara tom. För att bestämma data som har lagt sig i fyllningsbufferten kan vi använda sidokanalanalysmetoder som tidigare föreslagits i attacker MDS (Microarchitectural Data Sampling) och TAA (Transaktionell asynkron abort). Kärnan i det tidigare implementerade skyddet mot
MDS och TAA vid spolning av mikroarkitektoniska buffertar före kontextväxling, men det visar sig att under vissa förhållanden spolas data spekulativt in i buffertar efter spolningsoperationen, så MDS- och TAA-metoder förblir tillämpliga.

L1DES (CacheOut) och VRS - nya sårbarheter i mikroarkitektoniska strukturer hos Intel-processorer

Som ett resultat kan en angripare uppnå detektering av data som avlägsnats från den första nivåns cache som ändrades under körningen av en applikation som tidigare ockuperade den nuvarande CPU-kärnan, eller applikationer som körs parallellt i andra logiska trådar (hyperthread) på samma CPU kärna (att inaktivera HyperThreading minskar ingen attackeffektivitet). Till skillnad från attack L1TF,L1DES tillåter inte val av specifika fysiska adresser för inspektion, men det ger möjlighet att passivt övervaka aktivitet i andra logiska trådar associerade med, ladda eller lagra värden i minnet.

Baserat på L1DES har olika forskarlag utvecklat flera attackvarianter som potentiellt kan extrahera känslig information från andra processer, operativsystemet, virtuella maskiner och skyddade SGX-enklaver.

  • VUSec Team anpassas RIDL-attackmetod för L1DES-sårbarheten. Tillgängliga utnyttja prototypen, som också kringgår Intels föreslagna MDS-skyddsmetod, som är baserad på att använda VERW-instruktionen för att rensa innehållet i mikroarkitektoniska buffertar när de återgår från kärnan till användarutrymmet eller när kontrollen överförs till gästsystemet (forskare insisterade initialt på att VERW (clearing microarchitectural) buffertar) för skydd är otillräckligt och kräver en fullständig tömning av L1-cachen på varje kontextväxel).
  • Team ZombieLoad uppdaterade min attackmetoden med hänsyn till L1DES-sårbarheten.
  • Forskare vid University of Michigan har utvecklat sin egen attackmetod Cache ut (PDF), som låter dig extrahera konfidentiell information från operativsystemets kärna, virtuella maskiner och skyddade SGX-enklaver. Metoden bygger på manipulationer med en mekanism för asynkront avbrott av operationer (TAA, TSX Asynchronous Abort) för att bestämma innehållet i fyllningsbufferten efter en dataläcka från L1D-cachen.

    L1DES (CacheOut) och VRS - nya sårbarheter i mikroarkitektoniska strukturer hos Intel-processorer

Andra VRS (Vector Register Sampling) sårbarhet bunden med läckage in i lagringsbufferten (Store Buffer) av resultaten av läsoperationer från vektorregister som ändrats under exekveringen av vektorinstruktioner (SSE, AVX, AVX-512) på samma CPU-kärna. Läckan inträffar under en ganska sällsynt uppsättning omständigheter och orsakas av det faktum att en spekulativ operation som resulterar i reflektion av tillståndet för vektorregister i lagringsbufferten fördröjs och slutförs efter att bufferten har tömts, och inte före den. I likhet med L1DES-sårbarheten kan innehållet i lagringsbufferten sedan bestämmas med MDS- och TAA-attacktekniker.

Forskare från VUSec-gruppen beredd utnyttja prototypen, som låter dig bestämma värdena för vektorregister som erhålls som ett resultat av beräkningar i en annan logisk tråd av samma CPU-kärna. Intel Company uppskattad VRS-sårbarhet ansågs vara för komplex för att utföra riktiga attacker och tilldelades en lägsta svårighetsgrad (2.8 CVSS).

Problemen rapporterades till Intel i maj 2019 av Zombieload-teamet från Technical University of Graz (Österrike) och VUSec-teamet från Free University of Amsterdam, och sårbarheterna bekräftades senare av flera andra forskare efter att ha analyserat andra MDS-attackvektorer. Den första MDS-rapporten innehöll inte information om L1DES- och VRS-problemen på grund av bristen på en fix. Korrigeringen är inte tillgänglig nu, men den överenskomna sekretessperioden har löpt ut.
Som en lösning rekommenderas det att inaktivera HyperThreading. För att blockera sårbarheten på kärnan, föreslås det att återställa L1-cachen vid varje kontextväxel (MSR-bit MSR_IA32_FLUSH_CMD) och inaktivera TSX-tillägget (MSR-bitar MSR_IA32_TSX_CTRL och MSR_TSX_FORCE_ABORT).

Intel löften släpp en mikrokoduppdatering med implementering av mekanismer för att blockera problem inom en snar framtid. Intel noterar också att användningen av attackskyddsmetoder föreslogs 2018 L1TF (L1 Terminal Fault) låter dig blockera utnyttjandet av L1DES-sårbarheten från virtuella miljöer. Ge sig på underlagt Intel Core-processorer från och med den sjätte generationen (Sky, Kaby, Coffee, Whiskey, Amber Lake, etc.), samt vissa Intel Xeon och Xeon Scalable-modeller.

Dessutom kan det noteras förbättring utnyttja, så att du kan använda attackmetoder RIDL för att fastställa innehållet i root-lösenords-hash från /etc/shadow under periodiska autentiseringsförsök. Om det ursprungligen föreslagna utnyttjandet avgjorde lösenordet hash in 24 timmar, och efter att ha applicerat läckan under driften av den asynkrona avbrottsmekanismen (TAA, TSX Asynchronous Abort) utförde en liknande operation i 36 sekunder, då gör den nya varianten en attack på 4 sekunder.

Källa: opennet.ru

Lägg en kommentar