SQUIP, et nytt angrep som påvirker AMD-prosessorer og fører til datalekkasje

en gruppe på iForskere fra Graz teknologiske universitet (Østerrike), tidligere kjent for å utvikle MDS-, NetSpectre-, Throwhammer- og ZombieLoad-angrepene, har avslørt et nytt sidekanalangrep (CVE-2021-46778) i AMD-prosessorens planleggerkø som brukes til å planlegge utførelse av instruksjoner i forskjellige utførelsesenheter av CPU.

Angrepet, kalt SQUIP, gjør det mulig å bestemme dataene som brukes i beregningene i en annen prosess eller virtuell maskin eller organisere en skjult kommunikasjonskanal mellom prosesser eller virtuelle maskiner som gjør at data kan utveksles uten å gå gjennom systemets tilgangskontrollmekanismer.

Las AMD CPUer basert på 1., 2. og 3. Zen-mikroarkitektur generasjon (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Er berørt når Simultaneous Multithreading (SMT) teknologi brukes.

Moderne prosessorer bruker en superskalær design, der flere instruksjoner utføres samtidig for å maksimere ytelsen. Disse CPU-ene behandler instruksjoner i en pipeline gjennom flere stadier: (1) hente, (2) dekode, (3) programmere/utføre og (4) hente.

Angrepet er basert på å evaluere nivået av forekomst av strid (stridsnivå) i forskjellige planleggerkøer og gjøres gjennom måling av forsinkelser ved start av sjekkoperasjoner utført i en annen SMT-tråd på samme fysiske CPU. For å analysere innholdet ble Prime+Probe-metoden brukt, som innebærer å fylle køen med et sett med referanseverdier og bestemme endringene ved å måle tilgangstiden til dem på tidspunktet for omlasting.

Program-/utførelsesstadiet kan behandle instruksjoner i uorden for å maksimere instruksjonsnivåparallellisme. Vi beskriver kort hvert av disse stadiene:

-Søk. CPU-en ser etter neste instruksjon som skal utføres fra L1i-cachen. 
-Dekode. For å tillate effektiv utførelse blir de oppnådde instruksjonene (makrooperasjoner) dekodet til en eller flere enklere mikrooperasjoner (µops) og plassert i en µop-kø. Disse µops mates inn i backend, hvor de planlegges og utføres.
-Tidsplan/løp. Planleggeren(e) holder styr på hvilke µops som er klare for kjøring (har tilgjengelige innganger) og planlegger dem dynamisk (ute av drift) til de tilgjengelige kjøringsenhetene. En CPU-kjerne har flere utførelsesenheter og kan ha flere aritmetiske og logiske enheter (ALU), grenutførelsesenheter (BRU), adressegenereringsenheter (AGU).

Under eksperimentet, forskere var i stand til å fullstendig gjenskape den 4096-biters private RSA-nøkkelen brukes til å lage digitale signaturer ved å bruke mbedTLS 3.0 kryptografiske bibliotek, som bruker Montgomery-algoritmen for å heve et tall til en effektmodul. 50.500 XNUMX spor var nødvendig for å finne nøkkelen.

Total angrepstid tok 38 minutter. Angrepsvarianter som gir en lekkasje mellom ulike prosesser og virtuelle maskiner kontrollert av KVM hypervisor er demonstrert. Det er også vist at metoden kan brukes til å orkestrere skjult dataoverføring mellom virtuelle maskiner med en hastighet på 0,89 Mbit/s og mellom prosesser med en hastighet på 2,70 Mbit/s med en feilrate på mindre enn 0,8, XNUMX%.

CPU-kjernen er delt inn i flere logiske kjerner, eller tråder, som utfører uavhengige instruksjonsstrømmer, men deler ressurser som L1i-cachen. µops av disse trådene deler også utførelsesenheter dynamisk for å tillate høyere total utnyttelse. Partisjonen av forskjellige deler av kjernen.
Det gjøres gjennom konkurranseutveksling. AMD Zen-arkitekturer tillater to tråder
per kjerne. Disse trådene kan være fra et enkelt program eller fra forskjellige programmer, som administreres av operativsystemet.

Intel-prosessorer er ikke følsomme angrep fordi de bruker en enkelt planleggingskø, mens sårbare AMD-prosessorer bruker separate køer for hver utførelsesenhet.

Som en løsning for å blokkere informasjonslekkasje, AMD anbefales at utviklere bruke algoritmer som alltid utfører matematiske beregninger i konstant tid, uavhengig av arten av dataene som behandles, og også hindre forling basert på hemmelige data.

Til slutt, hvis du er interessert i å kunne vite mer om det, kan du se detaljene i følgende link.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.