Den senaste Spectre-attacken kallad SgxSpectre kan exponera känslig data lagrad i SGX-enklaver i riskzonen
Spectre-Meltdown CPU-fel[1] upptäcktes i början av 2018 utgör en större utmaning än vad det förväntades av Microsoft, Intel och andra teknikjättar. Inte bara det lyckades sträcka sig från Intel- och AMD-chips till Skylake, Kaby Lake, Coffee Lake-chips; det gjorde det möjligt för hackare att starta flera distributionskampanjer för skadlig programvara[2] och mjukvarubaserade attacker.
I början av mars 2018 upptäckte en grupp om sex IT-forskare från Ohio State University en ny variant av Spectre-attack kallad som SgxSpectre, som kan användas för att knäcka Intels Software Guard Extensions (SGX) enklaver som är ansvariga för isoleringen av känsliga komponenter. Faktum är att data som skyddas av dessa enklaver förmodligen är mest känsliga av allt eftersom operativsystemets komponenter inte tillåts interagera med enklavskyddade data.
Caroline Trippel och Daniel Lustig, forskare från Princeton University, och Margaret Martonosi från Nvidia förutsåg möjligheten av sådana attacker och beskrev scenariot i ett vetenskapligt arbete kallad
"MeltdownPrime och SpectrePrime: Automatiskt syntetiserade attacker som utnyttjar. Ogiltigförklaringsbaserade koherensprotokoll."[3] Dessa är de senaste Meltdown- och Spectre-sårbarheterna som kan sluta med att känslig data attackeras.Tidigare Meltdown- och Spectre-sårbarheter hade inte tillgång till känslig data skyddad av SGX
Intels Software Guard Extensions (SGX) är en relativt ny funktion, som är tillgänglig i moderna Intels processorer. Det gör det möjligt att skapa så kallade enklaver för mjukvaruskydd, som hanterar extremt känslig data och kodningsinformation.
Efterverkningarna av de tidigare Spectre- och Meltdown-attackerna på SGX var inte klara. Ändå väckte immuniteten för SGX-enklaverna många frågor från första början. Det visade sig att ingen av dessa sårbarheter uppvisar egenskaper som gör det möjligt att knäcka SGX-skydd, men uppenbarligen riktar sig hackare mot data i enklaverna. Det är därför SgxSpectre utvecklades.
Enligt SgxSpectres sårbarhetsforskare,[4] sårbarheten tillåter utnyttjande av "race-tillståndet mellan de injicerade, spekulativt exekverade minnesreferenserna, som leder till sidokanals observerbara cache-spår, och latensen för grenupplösningen." För närvarande kan sårbarheten påverka Intel SGX, SDK, Rust-SGX och Graphene-SDX.
Systemet kan påverkas när ett specifikt kodmönster i programbibliotek är aktiverat. Angriparen som riktar in sig på informationen i enklaver använder spekulativ exekvering och utför förutsägelse av enklavkod genom att leta efter små variationer av cachestorlek. Som förklarats av forskarna,
Grenförutsägelseenheterna som används i enklavläget för att förutsäga grenmål rengörs inte ordentligt vid inträde i enklaven. Därför kan kod utanför den riktade enklaven (antingen körs i den oskyddade minnesregionen eller i en annan enklav) manipulera målen för grenförutsägelsen inuti den riktade enklaven.
Intel har släppt ett verktyg för sårbarhetsskanning
Hela proceduren kan tyckas svårt för människor som inte är intrasslade i IT-världen. I ett nötskal, med hjälp av Meltdown och Spectre-sårbarheter, hittade hackare ett sätt att utnyttja svagheterna i SDX-kodmönster. Dessa sårbarheter tillåter sedan hackare att modifiera SDK-runtime-bibliotek och attackera alla system som utvecklats med Intels officiella SGX SDK.
Intel och Microsoft reagerade omedelbart på den upptäckta Meltdown and Spectre-sårbarheten och började släppa patchar. Tyvärr fungerar inte alla, så det är ett måste att följa nyheterna om denna sårbarhet.
Indirect Branch Restricted Speculation (IBRS) är en av korrigeringarna som representeras av Intel. Den adresserar Spectre Variant med tillhandahållande av anpassad mikrokod. Den här patchen är dock inte inriktad på SGX SDK-sårbarhet.
Deadline för släppdatumet för SgxSpectre-patchen är 16 mars 2018. Apputvecklare kommer att behöva ändra äldre SDK-version med den som Intel är på väg att släppa till de SGX-baserade apparna.
De som vill kontrollera om deras datorer innehåller sårbara koder, har skapat ett verktyg för sårbarhetsskanning,[5] som verifierar enklavprogram och kontrollerar kodmönster. Om SgxPectre-missbruk upptäcks, kommer användaren att varnas och uppmanas att installera verktygslådan som utvecklats av Intel tillsammans med föråldrad verktygssats för mjukvaruutveckling för SGX-applikationsleverantörer.