SQUIP - angrep på AMD-prosessorer, som fører til datalekkasje gjennom tredjepartskanaler

En gruppe forskere fra Graz University of Technology (Østerrike), tidligere kjent for å utvikle MDS-, NetSpectre-, Throwhammer- og ZombieLoad-angrepene, avslørte detaljer om et nytt sidekanalangrep (CVE-2021-46778) på AMD-prosessorplanleggerkøen , brukes til å planlegge utførelse av instruksjoner i forskjellige utførelsesenheter av CPU. Angrepet, kalt SQUIP, lar deg bestemme dataene som brukes i beregninger i en annen prosess eller virtuell maskin eller organisere en skjult kommunikasjonskanal mellom prosesser eller virtuelle maskiner som lar deg utveksle data utenom systemtilgangskontrollmekanismer.

AMD CPUer basert på 2000., 5000. og 3000. generasjons Zen-mikroarkitektur (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC) påvirkes når du bruker Simultaneous Multithreading Technology (SMT). Intel-prosessorer er ikke mottakelige for angrep, da de bruker en enkelt planleggerkø, mens sårbare AMD-prosessorer bruker separate køer for hver utførelsesenhet. Som en løsning for å blokkere informasjonslekkasje, anbefalte AMD utviklere å bruke algoritmer som alltid utfører matematiske beregninger i konstant tid, uavhengig av typen data som behandles, og også unngå forgrening basert på hemmelige data.

Angrepet er basert på en vurdering av nivået av konfliktforekomst (konfliktnivå) i forskjellige planleggerkøer og utfø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 referansesett med verdier og bestemme endringer ved å måle tilgangstiden til dem ved påfylling.

Under eksperimentet var forskerne i stand til å gjenskape den private 4096-biters RSA-nøkkelen som ble brukt til å lage digitale signaturer ved å bruke mbedTLS 3.0 kryptografiske bibliotek, som bruker Montgomery-algoritmen til å heve et tall til en effektmodulo. Det tok 50500 38 spor for å finne nøkkelen. Den totale angrepstiden tok 0.89 minutter. Det er demonstrert angrepsvarianter som gir en lekkasje mellom ulike prosesser og virtuelle maskiner kontrollert av KVM-hypervisoren. Det er også vist at metoden kan brukes til å organisere skjult dataoverføring mellom virtuelle maskiner med en hastighet på 2.70 Mbit/s og mellom prosesser med en hastighet på 0.8 Mbit/s med en feilrate på mindre enn XNUMX %.

Kilde: opennet.ru

Legg til en kommentar