Un metudu di attaccu hè prupostu per determinà remotamente i frammenti di memoria in u servitore

Un gruppu di circadori di l'Università Tecnica di Graz (Austria), cunnisciutu prima per u sviluppu di l'attacchi MDS, NetSpectre, Throwhammer è ZombieLoad, hà publicatu un novu metudu di attaccu di canali laterali (CVE-2021-3714) contr'à u mecanismu di Deduplicazione di Memoria. , chì permette di determinà a prisenza di in memoria di certi dati, urganizà una fuga byte-by-byte di cuntenutu di memoria, o determinà u layout di memoria per bypassà a prutezzione di randomizazione basatu in indirizzu (ASLR). U novu metudu differisce da e varianti di attacchi dimustrati prima di u mecanismu di deduplicazione effettuendu un attaccu da un òspite esternu utilizendu cum'è criteriu u cambiamentu di u tempu di risposta à e dumande mandate à l'attaccante via i protokolli HTTP/1 è HTTP/2. A capacità di realizà l'attaccu hè stata dimustrata per i servitori basati in Linux è Windows.

L'attacchi à u mecanismu di deduplicazione di memoria utilizanu a diffarenza in u tempu di trasfurmazioni di una operazione di scrittura cum'è un canale per fughje l'infurmazioni in situazioni induve un cambiamentu di dati porta à a clonazione di una pagina di memoria deduplicata utilizendu u mecanismu Copy-On-Write (COW). . Durante l'operazione, u kernel rileva pagine di memoria identiche da diversi prucessi è li unisce, mapping pagine di memoria identiche in una sola area di memoria fisica per almacenà una sola copia. Quandu unu di i prucessi prova di cambià e dati assuciati cù e pagine deduplicate, una eccezzioni (pagina di difettu) si trova è, utilizendu u mecanismu Copy-On-Write, una copia separata di a pagina di memoria hè automaticamente creata, chì hè assignatu à u prucessu. U tempu supplementu hè passatu à compie a copia, chì pò esse un signu di cambiamenti di dati chì interferiscenu cù un altru prucessu.

I ricercatori anu dimustratu chì i ritardi risultanti da u mecanismu COW ponu esse catturati micca solu in u locu, ma ancu analizendu i cambiamenti in i tempi di consegna di risposta nantu à a reta. Diversi metudi sò stati pruposti per determinà u cuntenutu di a memoria da un host remoto analizendu u tempu d'esekzione di e dumande nantu à i protokolli HTTP/1 è HTTP/2. Per salvà mudelli selezziunati, l'applicazioni web standard sò usate chì guardanu l'infurmazioni ricevute in e dumande in memoria.

U principiu generale di l'attaccu si riduce à riempie una pagina di memoria in u servitore cù dati chì potenzalmentu ripetiri u cuntenutu di una pagina di memoria chì esiste digià in u servitore. L'attaccante poi aspetta u tempu necessariu per u kernel per deduplicate è unisce a pagina di memoria, dopu mudifica i dati duplicati cuntrullati è evaluate u tempu di risposta per stabilisce se u successu hè successu.

Un metudu di attaccu hè prupostu per determinà remotamente i frammenti di memoria in u servitore

Duranti l'esperimenti, a rata massima di fuga d'infurmazioni era di 34.41 bytes per ora quandu attaccà à traversu una reta glubale è 302.16 bytes per ora quandu attaccà à traversu una reta lucale, chì hè più veloce cà altri metudi di estrazione di dati attraversu canali di terzu (per esempiu, in un attaccu di NetSpectre, a tarifa di trasferimentu di dati hè di 7.5 byte à una ora).

Trè opzioni di attaccu di travagliu sò state pruposte. A prima opzione permette di determinà e dati in a memoria di u servitore web chì usa Memcached. L'attaccu si riduce à carricà certi setti di dati in l'almacenamiento Memcached, sguassate u bloccu deduplicatu, scrivite u listessu elementu è creanu una cundizione per a copia COW per esse cambiatu u cuntenutu di u bloccu. Durante l'esperimentu cù Memcached, era pussibule di determinà in 166.51 seconde a versione di libc installata nantu à un sistema in esecuzione in una macchina virtuale.

A seconda opzione hà permessu di scopre u cuntenutu di i registri in u DBMS MariaDB, quandu si usa l'almacenamiento InnoDB, ricreendu u cuntenutu byte by byte. L'attaccu hè realizatu da l'inviu di dumande speciale mudificate, chì risultanu in discrepanze di un byte in pagine di memoria è analizendu u tempu di risposta per determinà chì l'ipotesi di u cuntenutu di u byte era curretta. U ritmu di tale fuga hè bassu è ammonta à 1.5 bytes per ora quandu attaccà da una reta lucale. U vantaghju di u metudu hè chì pò esse usatu per ricuperà u cuntenutu di memoria scunnisciutu.

A terza opzione hà permessu di passà cumplettamente u mecanismu di prutezzione KASLR in 4 minuti è uttene infurmazioni nantu à l'offset di memoria di l'imaghjini di u kernel di a macchina virtuale, in una situazione induve l'indirizzu offset hè in una pagina di memoria in quale l'altri dati ùn cambianu micca. L'attaccu hè statu realizatu da un òspite situatu 14 hops da u sistema attaccatu. Esempi di codice per implementà l'attacchi presentati sò prumessi per esse publicati in GitHub.

Source: opennet.ru

Add a comment