En angrepsmetode har blitt foreslått for å fjernbestemme minnefragmenter på serveren

En gruppe forskere fra det tekniske universitetet i Graz (Østerrike), tidligere kjent for å utvikle MDS-, NetSpectre-, Throwhammer- og ZombieLoad-angrepene, har publisert en ny sidekanalangrepsmetode (CVE-2021-3714) mot Memory-Deduplication-mekanismen , som gjør det mulig å bestemme tilstedeværelsen av visse data i minnet, organisere en byte-for-byte-lekkasje av minneinnhold, eller bestemme minneoppsettet for å omgå adressebasert randomiseringsbeskyttelse (ASLR). Den nye metoden skiller seg fra tidligere demonstrerte varianter av angrep på dedupliseringsmekanismen ved å utføre et angrep fra en ekstern vert ved å bruke som kriterium endringen i responstid på forespørsler sendt til angriperen via HTTP/1- og HTTP/2-protokollene. Evnen til å utføre angrepet er demonstrert for servere basert på Linux og Windows.

Angrep på minnededupliseringsmekanismen bruker forskjellen i behandlingstiden til en skriveoperasjon som en kanal for å lekke informasjon i situasjoner der en endring i data fører til kloning av en deduplisert minneside ved å bruke Copy-On-Write (COW)-mekanismen . Under drift oppdager kjernen identiske minnesider fra forskjellige prosesser og slår dem sammen, og kartlegger identiske minnesider til et enkelt område av fysisk minne for å lagre bare én kopi. Når en av prosessene prøver å endre data knyttet til dedupliserte sider, oppstår et unntak (sidefeil), og ved å bruke Copy-On-Write-mekanismen opprettes det automatisk en egen kopi av minnesiden, som tilordnes prosessen. Ytterligere tid brukes på å fullføre kopien, noe som kan være et tegn på dataendringer som forstyrrer en annen prosess.

Forskere har vist at forsinkelsene som følge av COW-mekanismen kan fanges opp ikke bare lokalt, men også ved å analysere endringer i responsleveringstider over nettverket. Flere metoder har blitt foreslått for å bestemme innholdet i minnet fra en ekstern vert ved å analysere utførelsestiden for forespørsler over HTTP/1- og HTTP/2-protokollene. For å lagre utvalgte maler brukes standard nettapplikasjoner som lagrer informasjonen som mottas i forespørsler i minnet.

Det generelle prinsippet for angrepet koker ned til å fylle en minneside på serveren med data som potensielt gjentar innholdet på en minneside som allerede eksisterer på serveren. Angriperen venter deretter på tiden som kreves for at kjernen skal deduplisere og slå sammen minnesiden, endrer deretter de kontrollerte duplikatdataene og evaluerer responstiden for å avgjøre om treffet var vellykket.

En angrepsmetode har blitt foreslått for å fjernbestemme minnefragmenter på serveren

Under eksperimentene var den maksimale informasjonslekkasjehastigheten 34.41 byte per time ved angrep gjennom et globalt nettverk og 302.16 byte per time ved angrep gjennom et lokalt nettverk, noe som er raskere enn andre metoder for å trekke ut data gjennom tredjepartskanaler (f.eks. i et NetSpectre-angrep er dataoverføringshastigheten 7.5 byte klokken ett).

Tre fungerende angrepsalternativer er foreslått. Det første alternativet lar deg bestemme dataene i minnet til webserveren som bruker Memcached. Angrepet koker ned til å laste inn visse sett med data i Memcached-lagring, tømme den dedupliserte blokken, skrive om det samme elementet og skape en betingelse for COW-kopiering ved å endre innholdet i blokken. Under eksperimentet med Memcached var det mulig å bestemme på 166.51 sekunder hvilken versjon av libc installert på et system som kjører i en virtuell maskin.

Det andre alternativet gjorde det mulig å finne ut innholdet i postene i MariaDB DBMS, når du bruker InnoDB-lagring, ved å gjenskape innholdet byte for byte. Angrepet utføres ved å sende spesielt modifiserte forespørsler, noe som resulterer i enkeltbyte-feil på minnesider og analyserer responstiden for å fastslå at gjetningen om innholdet i byten var riktig. Hyppigheten av en slik lekkasje er lav og utgjør 1.5 byte per time ved angrep fra et lokalt nettverk. Fordelen med metoden er at den kan brukes til å gjenopprette ukjent minneinnhold.

Det tredje alternativet gjorde det mulig å omgå KASLR-beskyttelsesmekanismen fullstendig på 4 minutter og få informasjon om minneforskyvningen til kjernebildet for den virtuelle maskinen, i en situasjon der offsetadressen er på en minneside der andre data ikke endres. Angrepet ble utført fra en vert plassert 14 hopp fra det angrepne systemet. Kodeeksempler for implementering av de presenterte angrepene loves å bli publisert på GitHub.

Kilde: opennet.ru

Legg til en kommentar