Det nyeste Spectre-angreb kaldet SgxSpectre kan afsløre følsomme data gemt i SGX-enklaver i fare
Spectre-Meltdown CPU-fejl[1] opdaget i begyndelsen af 2018 udgør en større udfordring, end det var forventet af Microsoft, Intel og andre teknologigiganter. Ikke kun lykkedes det at udvide fra Intel og AMD chips til Skylake, Kaby Lake, Coffee Lake chips; det gjorde det muligt for hackere at igangsætte flere malware-distributionskampagner[2] og softwarebaserede angreb.
I begyndelsen af marts 2018 opdagede en gruppe på seks it-forskere fra Ohio State University en ny variant af Spectre-angreb kaldet som SgxSpectre, som kan bruges til at knække Intels Software Guard Extensions (SGX) enklaver, som er ansvarlige for isolering af følsomme komponenter. Faktisk er de data, der beskyttes af disse enklaver, nok mest følsomme af alle, da operativsystemets komponenter ikke har lov til at interagere med de enklavebeskyttede data.
Caroline Trippel og Daniel Lustig, forskere fra Princeton University, og Margaret Martonosi fra Nvidia forudså muligheden for sådanne angreb og skitserede scenariet i et videnskabeligt arbejde hedder
"MeltdownPrime og SpectrePrime: Automatisk-syntetiserede angreb, der udnytter. Ugyldighedsbaserede kohærensprotokoller."[3] Disse er de nyeste Meltdown- og Spectre-sårbarheder, der kan ende med angreb på følsomme data.Tidligere Meltdown og Spectre sårbarheder havde ikke adgang til følsomme data beskyttet af SGX
Intels Software Guard Extensions (SGX) er en relativt ny funktion, som er tilgængelig i moderne Intels processorer. Det giver mulighed for at skabe såkaldte enklaver til softwarebeskyttelse, som omhandler ekstremt følsomme data og kodningsoplysninger.
Eftervirkningerne af de tidligere Spectre- og Meltdown-angreb på SGX var ikke klare. Ikke desto mindre rejste SGX-enklavernes immunitet mange spørgsmål lige fra begyndelsen. Det viste sig, at ingen af disse sårbarheder udviser træk, der gør det muligt at knække SGX-beskyttelse, men tilsyneladende er hackere målrettet efter dataene inde i enklaverne. Det er derfor, SgxSpectre udviklede sig.
Ifølge SgxSpectres sårbarhedsforskere,[4] sårbarheden tillader udnyttelse af "racetilstanden mellem de injicerede, spekulativt udførte hukommelsesreferencer, som fører til side-kanal observerbare cache-spor, og latensen af grenopløsningen." I øjeblikket kan sårbarheden påvirke Intel SGX, SDK, Rust-SGX og Graphene-SDX.
Systemet kan blive påvirket, når et specifikt kodemønster i softwarebiblioteker er aktiveret. Angriberen, der målretter mod informationen, der opbevares i enklaver, anvender spekulativ eksekvering og udfører forudsigelse af enklavekode ved at lede efter små variationer af cachestørrelse. Som forklaret af forskerne,
Grenforudsigelsesenhederne, der bruges i enklavetilstanden til at forudsige grenmål, renses ikke grundigt ved indgang til enklaven. Derfor kan kode uden for den målrettede enklave (enten kører i den ubeskyttede hukommelsesregion eller i en anden enklave) manipulere målene for grenforudsigelsen inde i den målrettede enklave.
Intel har udgivet et sårbarhedsscanningsværktøj
Hele proceduren kan virke vanskelig for folk, der ikke er viklet ind i IT-verdenen. I en nøddeskal fandt hackere ved hjælp af Meltdown- og Spectre-sårbarheder en måde at udnytte svaghederne ved SDX-kodemønstre. Disse sårbarheder giver efterfølgende hackere mulighed for at ændre SDK-runtime-biblioteker og angribe ethvert system, der er udviklet med Intels officielle SGX SDK.
Intel og Microsoft reagerede på den opdagede Meltdown og Spectre-sårbarhed med det samme og begyndte at frigive patches. Desværre er det ikke alle, der virker, så det er et must at følge med i nyhederne om denne sårbarhed.
Indirect Branch Restricted Speculation (IBRS) er en af rettelserne repræsenteret af Intel. Den adresserer Spectre-varianten med tilvejebringelse af tilpasset mikrokode. Denne patch er dog ikke orienteret mod SGX SDK-sårbarhed.
Deadline for SgxSpectre-patch-udgivelsesdatoen er den 16. marts 2018. App-udviklere bliver nødt til at ændre ældre SDK-version med den, som Intel er ved at frigive til de SGX-baserede apps.
De, der vil tjekke, om deres pc'er indeholder sårbare koder, har lavet et sårbarhedsscanningsværktøj,[5] som verificerer enklaveprogrammer og tjekker kodemønster. I tilfælde af at SgxPectre-udnyttelser opdages, vil brugeren blive advaret og opfordret til at installere værktøjssættet udviklet af Intel sammen med forældet softwareudviklingsværktøj til SGX-applikationsudbydere.