LVI — en ny klasse af angreb mod CPU'ens spekulative udførelsesmekanisme

Offentliggjort information om en ny klasse af angreb LVI (Load Value Injection, CVE-2020-0551) på den spekulative udførelsesmekanisme i Intel-CPU'er, som kan bruges til at organisere lækager af nøgler og følsomme data fra Intel SGX-enklaver og andre processer.

Den nye klasse af angreb er baseret på manipulationer af de samme mikroarkitekturstrukturer som i angreb MDS (Microarchitectural Data Sampling), Spectre og Meltdown.Desuden blokerer de nye angreb ikke af eksisterende beskyttelsesmetoder mod Meltdown, Spectre, MDS og andre lignende angreb. Effektiv beskyttelse mod LVI kræver hardwareændringer i CPU'en. Hvis beskyttelse organiseres softwaremæssigt ved at tilføje LFENCE-instruktionen efter hver hukommelsesladning og erstatte RET-instruktionen med POP, LFENCE og JMP, vil dette medføre for store omkostninger — ifølge forskere vil den komplette softwarebeskyttelse reducere ydeevnen med mellem 2 og 19 gange.

Delvist, vanskeligheden ved at blokere problemet kompenseres af, at angrebet i øjeblikket har et mere teoretisk end praktisk karakter (angrebet er teoretisk muligt, men meget vanskeligt at udføre og kan kun reproduceres i syntetiske tests).
Intel har tildelt problemet et moderat fare niveau (5.6 ud af 10) og udgivet en firmware- og SDK-opdatering for SGX-miljøet, hvor de har forsøgt at blokere angrebet ved at omgå det. De foreslåede angrebsmetoder kan kun anvendes på Intel-processorer, men der er ikke udelukket, at LVI også kan tilpasses til andre processorer, der er modtagelige for Meltdown-klasseangreb.

Problemet blev identificeret i april sidste år af forskeren Jo Van Bulck fra Leuven Universitet, hvorefter fem grundlæggende angrebsmetoder blev udviklet med deltagelse af 9 forskere fra andre universiteter, hver af hvilke muliggør mere specifikke varianter.Uafhængigt opdagede forskere fra Bitdefender også i februar i år Hvad nu en af varianterne af LVI og rapporterede om den til Intel. Angrebsvarianter adskiller sig ved brug af forskellige mikroarkitekturstrukturer, såsom store buffers (SB, Store Buffer), line fill buffers (LFB, Line Fill Buffer), FPU-kontekstkrydsningsbuffer og første niveau cache (L1D), der tidligere er blevet anvendt i sådanne angreb som ZombieLoad, RIDL, Fallout, LazyFP, Foreshadow. og Meltdown.

LVI - a new class of attacks on the CPU speculative execution mechanism

Den primære forskel. LVI fra MDS-angreb er, at MDS manipulerer definitionen af indholdet i mikroarkitekturstrukturer, der forbliver i cachen efter spekulativ behandling af undtagelser (fejl) eller load og store operationer, mens
LVI-angreb giver mulighed for at indsætte angriberens data i mikroarkitekturstrukturer for at påvirke den efterfølgende spekulative udførelse af offerets kode. Gennem disse manipulationer kan angriberen udtrække indholdet af private datastrukturer i andre processer ved at udføre bestemt kode på den målrettede CPU-kerne.

LVI - a new class of attacks on the CPU speculative execution mechanism

For udnyttelse af problemet i offerets proceskode skal forekomme særlige kode-sekvenser (gadgets), hvor et værdi, der kontrolleres af angriberen, indlæses, og indlæsningen af denne værdi fører til opståen af undtagelser (fejl, abort eller assist), som kasserer resultatet og genudfører instruktionen. Under behandlingen af undtagelsen opstår der et spekulativt vindue, hvor dataene, der behandles i gadgeten, lækkes. Specifikt begynder processor at udføre en del kode (gadget) i spekulativ tilstand, derefter bestemmer, at forudsigelsen ikke holdt, og annullerer operationerne til deres oprindelige tilstand, men de behandlede data under den spekulative udførelse bliver liggende i L1D-cachen og mikroarkitekturbuffers og er tilgængelige til at blive udtrukket derfra ved hjælp af kendte metoder til at bestemme resterende data via sidekanaler.

Undtagelsen «assist», i modsætning til «fault», behandles internt i processoren uden at kalde softwarebehandlere. Assist kan opstå, når det for eksempel kræves at opdatere A (Accessed) eller D (Dirty) bits i sidetabelen for hukommelse. Den største udfordring ved at udføre angreb på andre processer er, hvordan man kan initiere opståelsen af assist ved at manipulere offerprocessen. I øjeblikket findes der ikke pålidelige metoder til at gøre dette, men i fremtiden kan det ikke udelukkes, at sådanne metoder opdages. Muligheden for at udføre angrebet er indtil videre kun bekræftet for Intel SGX enclaves, mens andre scenarier er teoretiske eller kan reproduceres under syntetiske forhold (kræver tilføjelse af bestemte gadgets i koden)

LVI - a new class of attacks on the CPU speculative execution mechanism

LVI - a new class of attacks on the CPU speculative execution mechanism

Mulige angrebsvektorer:

  • Data leakage from kernel structures to user-level processes. The existing protection in the Linux kernel against Spectre class attacks, along with the SMAP (Supervisor Mode Access Prevention) mechanism, significantly reduces the likelihood of LVI attacks. Additional kernel protection may be required if simpler methods for conducting LVI attacks are identified in the future.
  • Data leakage between different processes. A specific code fragment in the application and a defined method for raising exceptions in the target process are required for the attack.
  • Data leakage from the host environment to the guest system. This attack is classified as too complex, requiring the execution of various difficult steps and predictions of activity within the system.
  • Data leakage between processes in different guest systems. The attack vector is similar to organizing data leakage between different processes but additionally requires complex manipulations to bypass isolation between guest systems.

Researchers have published flere prototypes demonstrating the principles of conducting the attack, but they are not yet suitable for carrying out real attacks. The first example allows the redirection of speculative code execution in the victim process, similar to Return-Oriented Programming (ROP, Return-Oriented Programming). In this example, a specially prepared process acts as the victim, containing the necessary gadgets (applying the attack to real third-party processes is challenging). The second example allows for interference in calculations while encrypting AES within an Intel SGX enclave and organizing data leakage during the speculative execution of instructions to restore the value used for the encryption key.


Afspil video

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster