To angrep på cache-kanalprediksjonsmekanismen i AMD-prosessorer

En gruppe forskere fra det tekniske universitetet i Graz (Østerrike), tidligere kjent for å utvikle angrepsmetoder MDS, NetSpectre, Kastehammer и ZombieLoad, utførte forskning på maskinvareoptimaliseringer spesifikke for AMD-prosessorer og har utviklet to nye metoder for sidekanalangrep som manipulerer datalekkasjer under driften av LXNUMX-bufferkanalprediksjonsmekanismen til AMD-prosessorer. Teknikkene kan brukes til å redusere effektiviteten til ASLR-beskyttelse, gjenopprette nøkler i sårbare AES-implementeringer og øke effektiviteten til Spectre-angrepet.

Problemer ble identifisert i implementeringen av kanalprediksjonsmekanismen (måteprediktor) i CPUens førstenivådatabuffer (L1D), brukt til å forutsi hvilken hurtigbufferkanal som inneholder en bestemt minneadresse. Optimaliseringen som brukes i AMD-prosessorer er basert på å sjekke μ-tagger (μTag). μTag beregnes ved å bruke en spesifikk hash-funksjon på den virtuelle adressen. Under drift bruker kanalprediksjonsmotoren μTag for å bestemme hurtigbufferkanalen fra tabellen. Dermed lar μTag prosessoren begrense seg til kun å få tilgang til en bestemt kanal, uten å søke gjennom alle alternativer, noe som reduserer CPU-energiforbruket betydelig.

To angrep på cache-kanalprediksjonsmekanismen i AMD-prosessorer

Under omvendt utvikling av kanalprediksjonssystemimplementeringen i forskjellige generasjoner av AMD-prosessorer utgitt fra 2011 til 2019, ble to nye angrepsteknikker for sidekanal identifisert:

  • Collide+Probe – lar en angriper spore minnetilgang for prosesser som kjører på den samme logiske CPU-kjerne. Essensen av metoden er å bruke virtuelle adresser som forårsaker kollisjoner i hash-funksjonen som brukes til å beregne μTag for å spore minnetilgang. I motsetning til Flush+Reload- og Prime+Probe-angrepene som brukes på Intel-prosessorer, bruker ikke Collide+Probe delt minne og fungerer uten kunnskap om fysiske adresser.
  • Load+Reload – lar deg bestemme minnetilgangsporene på den samme fysiske CPU-kjernen svært nøyaktig. Metoden er basert på at en fysisk minnecelle kun kan være i L1D-cachen én gang. De. tilgang til samme minnecelle på en annen virtuell adresse vil føre til at cellen blir kastet ut av L1D-cachen, slik at minnetilgang kan spores. Selv om angrepet er avhengig av delt minne, tømmer det ikke hurtigbufferlinjer, noe som gir mulighet for stealth-angrep som ikke kaster ut data fra cachen på siste nivå.

Basert på Collide+Probe og Load+Reload-teknikkene, har forskere demonstrert flere sidekanalangrepsscenarier:

  • Muligheten for å bruke metoder for å organisere en skjult indirekte kommunikasjonskanal mellom to prosesser, som tillater dataoverføring med hastigheter på opptil 588 kB per sekund, vises.
  • Ved å bruke kollisjoner i μTag var det mulig å redusere entropi for ulike varianter av ASLR (Address Space Layout Randomization) og omgå ASLR-beskyttelse i kjernen på et fullstendig oppdatert Linux-system. Muligheten for å utføre et angrep for å redusere ASLR-entropi både fra brukerapplikasjoner og ved å bruke JavaScript-kode utført i et sandkassemiljø og kode som kjører i et annet gjestemiljø, vises.

    To angrep på cache-kanalprediksjonsmekanismen i AMD-prosessorer

  • Basert på Collide+Probe-metoden ble et angrep implementert for å gjenopprette krypteringsnøkkelen fra en sårbar implementering (basert på T-bord) AES-kryptering.
  • Ved å bruke Collide+Probe-metoden som en datainnsamlingskanal, var Spectre-angrepet i stand til å trekke ut private data fra kjernen uten å bruke delt minne.

Sårbarheten oppstår på AMD-prosessorer basert på mikroarkitekturer
Bulldoser, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ og Zen2.
AMD ble varslet om problemet 23. august 2019, men så langt ga ikke ut rapporten med informasjon om blokkering av sårbarheten. Ifølge forskerne kan problemet blokkeres på mikrokodeoppdateringsnivået ved å gi MSR-biter for selektivt å deaktivere kanalprediksjonssystemet, på samme måte som Intel gjorde for å kontrollere deaktiveringen av grenprediksjonsmekanismer.

To angrep på cache-kanalprediksjonsmekanismen i AMD-prosessorer

Kilde: opennet.ru

Legg til en kommentar