En ny kritisk sidokanalattack LVI-LFB (Load Value Injection in the Line Fill Buffers) har upptäckts

Bitdefenders forskare har återigen identifierat och skapat ett proof-of-concept för en ny sidokanalattack.

Attacken, kallad LVI-LFB (Load Value Injection in the Line Fill Buffers) tillåter en angripare att injicera oseriösa värden i vissa mikroarkitektoniska strukturer som sedan används av offret, vilket kan leda till att hemlig, skyddad information avslöjas över behörighetsnivåer.

Den här nya attacken (CVE-2020-0551) påverkar nyare Intel-processorer som använder spekulativ exekvering.

Kort översikt

I jakten på allt snabbare processorer har leverantörer implementerat olika versioner av spekulativ exekvering. Den här funktionen låter processorn göra välgrundade gissningar om instruktioner som kan krävas innan man avgör om de faktiskt är nödvändiga. Den här spekulativa körningen kan lämna spår i cachen som angripare kan använda för att läcka privilegierat kärnminne.

Det som gör forskningen kring dessa attacker banbrytande jämfört med cyberattacker mot mer traditionella sårbarheter är att den går till botten med hur moderna processorer fungerar. För att undersöka ordentligt måste forskarlag ha en grundlig förståelse av CPU-interna komponenter (branch-prediktion, out-of-order exekvering, spekulativ exekvering, pipeline och cachar), OS-interna komponenter (systemanrop, avbrotts- och undantagshantering och KPTI) och sidokanaler och spekulativa exekveringsattacker i allmänhet.

Påverkan

Den här nya attacken kan vara särskilt förödande i miljöer med flera användare och flera arbetsbelastningar som körs på hårdvara som delas mellan grupper av arbetsbelastningar inom en organisation, eller mellan organisationer, såsom offentliga och privata moln. Det här beror på, som PoC visar, att det finns potential för en mindre privilegierad process under angriparens kontroll för att spekulativt kapa kontrollflödet i en högre privilegierad process, när specifika krav är uppfyllda.

Den enklaste risken är stöld av hemlig information som annars borde hållas privat av säkerhetsgränser på hårdvaru-, hypervisor- och operativsystemnivå. Den här informationen kan inkludera allt från krypteringsnycklar till lösenord eller annan information som en angripare kan filtrera ut eller använda för att få ytterligare kontroll över ett målsystem.

Hur LVI-LFB-attacken upptäcktes och avslöjades

Den här nya attacktekniken kallas Load Value Injection och den CVE som tilldelats den är CVE-2020-0551.

Forskare har tidigare tittat på MDS (Microarchitectural Data Sampling) endast från ett håll: offret öppnar hemligheten, som laddas i MDS-buffertarna, medan angriparen läcker innehållet i MDS-buffertarna genom att utfärda en laddningsinstruktion som kräver mikrokodhjälp (till exempel genom att läsa en ogiltig adress). Men MDS-buffertarna kan också missbrukas tvärtom: om en angripare sprayar MDS-buffertarna med ett visst värde, kan ett offer spekulativt ladda det specifika värdet när en laddningsinstruktion utlöser en sådan mikrokodassistans (till exempel utlöser laddningsinstruktionen ett fel). Genom att noggrant analysera vad Spectre är och vad MDS är, kan ett skarpt öga snabbt identifiera grundorsaken till den nya LVI-LFB-sårbarheten, en indirekt minnesgren som kräver en mikrokodassistans som matas med föråldrade värden från MDS-buffertar som kan kontrolleras av en angripare, vilket leder till spekulativ godtycklig kodexekvering.

Andra attackscenarier har beskrivits av akademiska forskare som oberoende upptäckte och först rapporterade problemet till Intel i april 2019. Bitdefender rapporterade problemet till Intel den 10 februari 2020. Deras svar den 25 februari erkände problemet och avslöjade också att offentliggörandet skulle ske den 10 mars 2020.

Vilka system påverkas?


 LVI-LFB-attacken påverkar nyare Intel-processorer som använder sig av spekulativt utförande.

Begränsning

Begränsningsstrategier för hårdvarubaserade sidokanalsattacker faller under flera kategorier, var och en med en viss operativ påverkan på organisationer.

  1. Hårdvara. Det här är korrigeringar som ingår direkt i hårdvaran och gäller endast generationer av processorer som byggdes efter att de arkitektoniska bristerna identifierats.
  2. Programvara. Det här är patchimplementeringar som fungerar helt inom programvaran. Kernel Page Table Isolation (KPTI) är ett exempel på en fix som skyddar kärnminnet i ett isolerat virtuellt adressutrymme, vilket gör flera spekulativa sidokanalsattacker, såsom Meltdown, ineffektiva. För att vara effektiv mot app-till-app LVI-LFB behövs dock en ny typ av KPTI – horisontell KPTI. Alternativt måste operativsystemet också spola MDS-buffertarna (särskilt LFB) vid övergång från ett mindre privilegierat läge till ett mer privilegierat läge, för att undvika att mikrokodassisterad minnesåtkomster från att exekveras spekulativt med angriparkontrollerad data
  3. Mikrokod. Dessa begränsningar kräver samarbete mellan hårdvara och programvara. Hårdvaruleverantören tillhandahåller en mikrokodpatch för att exponera ny funktionalitet (till exempel Spectre-, L1TF- eller MDS-begränsningarna) som sedan används av hypervisorn eller operativsystemsleverantörerna för att avhjälpa sårbarheterna.
  4. Inaktivera funktioner. Att inaktivera hyperthreading är en bra idé på system där säkerheten är avgörande, liksom att serialisera alla kritiska belastningsoperationer med hjälp av instruktionen lfence. Andra begränsningar kan innebära modifieringar av kompilatorerna, för att generera kod som inte är sårbar för sådana typer av attacker.

En annan sidokanalattack som upptäcktes av Bitdefender, SWAPGS-attacken kan mildras med hjälp av Bitdefender Hypervisor Introspection.

Medverkande

Bitdefenders avancerade forskarteam vill uppmärksamma de forskare som först rapporterade detta problem till Intel i april 2019, och även tacka dem för deras samarbete som ledde fram till (och ännu längre) offentliggörandet av det här problemet. De akademiska forskarna är:

Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss och Frank Piessens

Dessa forskare har skapat en särskild webbplats och en detaljerad akademisk uppsats, som är tillgängliga enligt följande:

https://lviattack.eu/ (en detaljerad beskrivning av problemet)

https://lviattack.eu/lvi.pdf (en akademisk vitbok)

Ytterligare information finns även från Intel, enligt följande:

https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00334.html (rådgivande)

https://software.intel.com/security-software-guidance/insights/deep-dive-load-value-injection (teknisk djupdykning)