Rebleed: Et nytt spekulativt henrettelsesangrep som rammer Intel og AMD

Nyheten brøt nylig ut detEn gruppe forskere fra ETH Zürich har identifisert et nytt angrep til den spekulative utførelsesmekanismen for indirekte hopp i CPU, som gjør det mulig å trekke ut informasjon fra kjerneminnet eller organisere et angrep på vertssystemet fra virtuelle maskiner.

Sårbarhetene fikk kodenavnet Retbleed (allerede katalogisert under CVE-2022-29900, CVE-2022-29901) og ligner på Spectre-v2-angrep.

Forskjellen koker ned til å organisere spekulativ utførelse av vilkårlig kode ved å behandle "retur" (retur) instruksjonen, som henter adressen for å hoppe fra stabelen, i stedet for indirekte å hoppe ved hjelp av "jmp" instruksjonen, laste adressen fra minnet eller et CPU-register.

Om det nye angrepet nevnes at en angriper kan skape forhold for en gaffelprediksjon feil og organiser et tilsiktet spekulativt hopp til en kodeblokk som ikke er tiltenkt av utførelseslogikken til programmet.

Som en siste utvei, prosessoren vil fastslå at grenprediksjonen ikke var berettiget og vil rulle tilbake operasjonen til sin opprinnelige tilstand, men de behandlede dataene Under spekulativ henrettelse de vil sitte i cachen og mikroarkitektoniske buffere. Hvis en feilaktig utført blokk utfører en minnetilgang, vil dens spekulative utførelse føre til installasjon i den generelle hurtigbufferen og lesing av data fra minnet.

For å bestemme dataene som er igjen i hurtigbufferen etter spekulativ utførelse av operasjoner, kan angriperen bruke metoder for å bestemme gjenværende data gjennom tredjepartskanaler, for eksempel ved å analysere endringer i hurtigbufret datatilgangstid og ikke bufret.

For tilsiktet utvinning av informasjon fra områder på et annet rettighetsnivå (for eksempel fra kjerneminne), brukes "enheter": skript som er tilstede i kjernen, egnet for spekulativ lesing av data fra minnet, avhengig av eksterne forhold kan det påvirkes av en angriper.

For å beskytte mot klassiske Spectre-klasseangrep, som bruker indirekte og betingede greninstruksjoner, bruker de fleste operativsystemer "retpoline"-teknikken, som er basert på å erstatte indirekte grenoperasjoner med "ret"-instruksjonen, som det kreves en egen stacktilstandsprediksjon for. enheten brukes i prosessorer, bruker ikke en grenprediksjonsblokk.

Ved introduksjonen av retpoline i 2018 ble Spectre-lignende adressemanipulering antatt å være upraktisk for spekulativ forking med "ret"-instruksjonen.

Forskerne som utviklet angrepsmetoden Rebleed demonstrerte muligheten for å skape mikroarkitektoniske forhold å initiere en spekulativ overgang ved å bruke "ret"-instruksjonen og utgitt et ferdig verktøysett for å identifisere passende instruksjonssekvenser (dingser) for å utnytte sårbarheten i Linux-kjernen der slike forhold oppstår.

I løpet av studiet, en fungerende bedrift ble forberedt som tillater, på systemer med Intel CPUer, fra en uprivilegert prosess i brukerområdet å trekke ut vilkårlige data fra kjerneminnet med en hastighet på 219 byte per sekund og med 98 % nøyaktighet.

En prosessorene AMD, effektiviteten til utnyttelsen er mye høyere, siden lekkasjehastigheten er 3,9 KB per sekund. Som et praktisk eksempel er det vist hvordan man bruker den foreslåtte utnyttelsen for å bestemme innholdet i filen /etc/shadow. På systemer med Intel-prosessorer ble et angrep for å bestemme hash-hashen for root-passordet utført på 28 minutter, og på systemer med AMD-prosessorer på 6 minutter.

Angrepet ble bekreftet for 6-8 generasjoner Intel-prosessorer som ble utgitt før Q2019 1 (inkludert Skylake), og AMD-prosessorer basert på Zen 1, Zen 2+ og Zen 2021 mikroarkitekturer som ble utgitt før QXNUMX XNUMX. På nyere prosessormodeller, som AMD Zen3 og Intel Alder Lake, samt ARM-prosessorer, problemet er blokkert av eksisterende beskyttelsesmekanismer. For eksempel hjelper bruken av IBRS-instruksjoner (Indirect Branch Restricted Speculation) å beskytte mot et angrep.

Forberedte et sett med endringer for Linux-kjernen og Xen-hypervisoren, som blokkerer problemet programmatisk på eldre CPUer. Den foreslåtte Linux-kjerneoppdateringen endrer 68 filer, legger til 1783 linjer og fjerner 387 linjer.

Dessverre medfører beskyttelse betydelige overheadkostnader: I tekster laget på AMD- og Intel-prosessorer er ytelsesforringelse estimert til å være mellom 14 % og 39 %. Det er mer å foretrekke å bruke beskyttelse basert på IBRS-instruksjoner, tilgjengelig i nyere generasjoner av Intel CPUer og støttet siden Linux-kjernen 4.19.

Til slutt, hvis du er interessert i å vite mer om det, kan du konsultere detaljer i følgende lenke.


Legg igjen kommentaren

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

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  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.