En attackmetod har föreslagits för att fjärrbestämma minnesfragment på servern

En grupp forskare från Technical University of Graz (Österrike), tidigare kända för att utveckla attackerna MDS, NetSpectre, Throwhammer och ZombieLoad, har publicerat en ny sidokanalattackmetod (CVE-2021-3714) mot Memory-Deduplication-mekanismen , som gör det möjligt att bestämma förekomsten av vissa data i minnet, organisera en byte-för-byte-läcka av minnesinnehåll eller bestämma minneslayouten för att kringgå adressbaserat randomiseringsskydd (ASLR). Den nya metoden skiljer sig från tidigare demonstrerade varianter av attacker på dedupliceringsmekanismen genom att utföra en attack från en extern värd som använder som kriterium förändringen i svarstid på förfrågningar som skickas till angriparen via HTTP/1- och HTTP/2-protokollen. Möjligheten att utföra attacken har demonstrerats för servrar baserade på Linux och Windows.

Attacker på minnesdedupliceringsmekanismen använder skillnaden i bearbetningstiden för en skrivoperation som en kanal för att läcka information i situationer där en förändring i data leder till kloning av en deduplicerad minnessida med hjälp av Copy-On-Write (COW) mekanismen . Under drift upptäcker kärnan identiska minnessidor från olika processer och slår samman dem, mappar identiska minnessidor till ett enda område av fysiskt minne för att lagra endast en kopia. När en av processerna försöker ändra data som är associerade med deduplicerade sidor uppstår ett undantag (sidfel) och med hjälp av Copy-On-Write-mekanismen skapas automatiskt en separat kopia av minnessidan, som tilldelas processen. Ytterligare tid läggs på att slutföra kopian, vilket kan vara ett tecken på dataförändringar som stör en annan process.

Forskare har visat att förseningarna till följd av COW-mekanismen kan fångas inte bara lokalt utan också genom att analysera förändringar i svarsleveranstider över nätverket. Flera metoder har föreslagits för att bestämma innehållet i minnet från en fjärrvärd genom att analysera exekveringstiden för förfrågningar över HTTP/1- och HTTP/2-protokollen. För att spara utvalda mallar används standardwebbapplikationer som lagrar den information som tas emot i förfrågningar i minnet.

Den allmänna principen för attacken går ut på att fylla en minnessida på servern med data som potentiellt upprepar innehållet på en minnessida som redan finns på servern. Angriparen väntar sedan på den tid som krävs för kärnan att deduplicera och slå samman minnessidan, modifierar sedan den kontrollerade duplikatdatan och utvärderar svarstiden för att avgöra om träffen lyckades.

En attackmetod har föreslagits för att fjärrbestämma minnesfragment på servern

Under experimenten var den maximala informationsläckagehastigheten 34.41 byte per timme vid attack genom ett globalt nätverk och 302.16 byte per timme vid attack via ett lokalt nätverk, vilket är snabbare än andra metoder för att extrahera data genom tredjepartskanaler (till exempel, i en NetSpectre-attack är dataöverföringshastigheten 7.5 byte klockan ett).

Tre fungerande attackalternativ har föreslagits. Det första alternativet låter dig bestämma data i minnet på webbservern som använder Memcached. Attacken går ut på att ladda vissa uppsättningar data till Memcached-lagring, rensa det deduplicerade blocket, skriva om samma element och skapa ett villkor för COW-kopiering genom att ändra innehållet i blocket. Under experimentet med Memcached var det möjligt att på 166.51 sekunder bestämma versionen av libc installerad på ett system som kördes i en virtuell maskin.

Det andra alternativet gjorde det möjligt att ta reda på innehållet i poster i MariaDB DBMS, när du använder InnoDB-lagring, genom att återskapa innehållet byte för byte. Attacken utförs genom att skicka speciellt modifierade förfrågningar, vilket resulterar i en-byte-felmatchningar på minnessidor och analysera svarstiden för att fastställa att gissningen om innehållet i byten var korrekt. Hastigheten för en sådan läcka är låg och uppgår till 1.5 byte per timme vid attack från ett lokalt nätverk. Fördelen med metoden är att den kan användas för att återställa okänt minnesinnehåll.

Det tredje alternativet gjorde det möjligt att helt kringgå KASLR-skyddsmekanismen på 4 minuter och få information om minnesförskjutningen av den virtuella maskinens kärnbild, i en situation där offsetadressen finns på en minnessida där andra data inte ändras. Attacken utfördes från en värd belägen 14 hopp från det attackerade systemet. Kodexempel för att implementera de presenterade attackerna utlovas att publiceras på GitHub.

Källa: opennet.ru

Lägg en kommentar