Una nuova tecnica di hacking supera il problema del "jitter di rete", che può influire sul successo degli attacchi attraverso canali esterni.

La nuova metodologia, sviluppata dai ricercatori dell'Università di Leuven (Belgio) e della New York University di Abu Dhabi, ha dimostrato che i malintenzionati possono sfruttare le caratteristiche dei protocolli di rete per organizzare perdite di informazioni riservate.
Questa metodologia chiamata , dimostrata quest'anno alla conferenza Usenix, sfrutta le caratteristiche di gestione delle richieste simultanee da parte dei protocolli di rete per risolvere uno dei problemi degli attacchi a distanza basati sul tempo attraverso canali esterni.
Problemi degli attacchi a distanza basati sul tempo
Quando si attuano attacchi basati sul tempo, i malintenzionati misurano le differenze nei tempi di esecuzione di diversi comandi, cercando di bypassare la protezione fornita dalla crittografia e ottenere dati riservati, ad esempio chiavi di crittografia, corrispondenza privata e comportamenti degli utenti durante la navigazione web.
Ma per un attacco temporale di successo, l'aggressore deve avere una conoscenza precisa del tempo richiesto dall'applicazione sotto attacco per elaborare la richiesta.
Questo diventa problematico quando si attaccano sistemi remoti come i server web, poiché la latenza della rete (jitter) porta a una variabilità nei tempi di risposta, complicando il calcolo del tempo di elaborazione.
Durante gli attacchi remoti basati sul tempo, gli aggressori di solito inviano ciascun comando più volte e svolgono un'analisi statistica dei tempi di risposta per ridurre l'impatto del jitter di rete. Ma questo metodo è utile solo fino a un certo punto.
«Minore è la differenza di tempo, maggiore è il numero di richieste necessarie, e a un certo punto il calcolo diventa impossibile», ci racconta Tom Van Goetem, ricercatore di sistemi di sicurezza dei dati e principale autore dell'articolo su un nuovo tipo di attacchi.
Attacco temporale «senza tempo»
La metodologia sviluppata da Goetem e dai suoi colleghi esegue attacchi remoti basati sul tempo in modo tale da annullare l'impatto del jitter di rete.
Il principio alla base degli attacchi temporali senza tempo è semplice: bisogna fare in modo che le richieste raggiungano il server esattamente nello stesso momento, invece di essere trasmesse in sequenza.
La simultaneità garantisce che tutte le richieste si trovino nelle stesse condizioni di rete e che il percorso tra l'attaccante e il server non influisca sul loro trattamento. L'ordine di ricezione delle risposte fornirà all'attaccante tutte le informazioni necessarie per confrontare i tempi di esecuzione.
«Il principale vantaggio degli attacchi temporali senza tempo è che sono molto più precisi, quindi servono meno richieste. Questo consente all'attaccante di riconoscere le differenze nei tempi di esecuzione fino a 100 ns», afferma Van Goetem.
La differenza minima di tempo osservata dai ricercatori durante un attacco temporale tradizionale su Internet era di 10 µs, cioè 100 volte superiore a quella di un attacco con richieste simultanee.
Come si garantisce la simultaneità
«Garantiamo la simultaneità mettendo entrambe le richieste in un unico pacchetto di rete», spiega Van Goetem. «In pratica, la realizzazione dipende principalmente dal protocollo di rete».
Per inviare richieste simultanee, i ricercatori sfruttano le capacità di diversi protocolli di rete.
Ad esempio, HTTP/2, che sta diventando rapidamente lo standard de facto per i server web, supporta il "multiplexing delle richieste" — una funzione che consente al cliente di inviare più richieste in parallelo su una singola connessione TCP.
"Nel caso di HTTP/2, dobbiamo semplicemente assicurarci che entrambe le richieste siano inserite in un pacchetto (ad esempio, scrivendo entrambe nel socket contemporaneamente)". Tuttavia, questo metodo presenta alcune complessità. Ad esempio, nella maggior parte delle reti di distribuzione dei contenuti come Cloudflare, che fornisce contenuti a gran parte del web, la connessione tra i server di edge e il sito avviene tramite il protocollo HTTP/1.1, che non supporta il multiplexing delle richieste.
Sebbene ciò riduca l'efficacia di un attacco temporale, rimane comunque più preciso rispetto agli attacchi remoti classici basati sul tempo, poiché elimina il jitter tra l'aggressore e il server CDN di edge.
Nel caso di protocolli che non supportano il multiplexing delle richieste, gli attaccanti possono utilizzare un protocollo di rete intermedio che incapsula le richieste.
I ricercatori hanno dimostrato come un attacco temporale incondizionato funzioni sulla rete Tor. In questo caso, l'attaccante incapsula più richieste in una cella Tor — un pacchetto crittografato trasmesso tra i nodi della rete Tor all'interno di pacchetti TCP unici.
«Poiché la catena Tor per i servizi onion percorre l'intero tragitto verso il server, possiamo garantire che le richieste arriveranno simultaneamente», afferma Van Goetem.
Attacchi temporali in pratica
Nel loro articolo, i ricercatori hanno esaminato attacchi temporali in tre situazioni diverse.
Durante attacchi temporali diretti l'attaccante si collega direttamente al server e cerca di organizzare una fuga di informazioni riservate relative all'applicazione.
«Poiché la maggior parte delle applicazioni web non considera che gli attacchi temporali possano essere molto pratici e precisi, riteniamo che molti siti web siano vulnerabili a tali attacchi», spiega Van Goeten.
Durante attacchi temporali cross-site L'attaccante invia richieste ad altri siti web dal browser della vittima e fa supposizioni sul contenuto delle informazioni riservate osservando la sequenza delle risposte.
Gli attaccanti hanno utilizzato questo schema per sfruttare una vulnerabilità nel programma di bounty di HackerOne, estraendo informazioni come parole chiave usate nei rapporti riservati su vulnerabilità non risolte.
«Cercavo casi in cui un attacco temporale fosse stato registrato in precedenza ma non considerato efficace. La vulnerabilità di HackerOne è stata segnalata almeno tre volte (ID bug: , e ), ma non è stata corretta perché si riteneva che questo attacco non potesse essere sfruttato. Così ho creato un semplice progetto di ricerca interno con attacchi temporali.
A quel tempo era ancora molto non ottimizzata, perché continuavamo a esaminare i dettagli dell'attacco, ma, per quanto riguarda i risultati, si è rivelata comunque piuttosto precisa (sulla mia connessione WiFi domestica sono riuscito a ottenere risultati molto accurati)».
I ricercatori hanno anche provato a condurre attacchi temporali sul protocollo WiFi WPA3.
Uno degli autori dell'articolo, Mati Vanhoef, aveva già scoperto . Tuttavia, il tempo era troppo breve per essere utilizzato su dispositivi ad alte prestazioni, o non poteva essere utilizzato contro i server.
«Con un nuovo tipo di attacchi temporali senza tempo, abbiamo dimostrato che è possibile utilizzare il processo di autenticazione (EAP-pwd) contro i server, anche se su di essi è in funzione un'attrezzatura potente», spiega Van Goethem.
Momento ideale
Nell'articolo, i ricercatori hanno fornito raccomandazioni per proteggere i server dagli attacchi temporali senza tempo, come limitare l'esecuzione a tempo costante e aggiungere ritardi casuali. Per implementare misure di protezione pratiche contro attacchi diretti basati sul tempo che abbiano un impatto ridotto sulle operazioni di rete, sono necessarie ulteriori ricerche.
«Riteniamo che quest'area di ricerca sia ancora in una fase molto iniziale e necessiti di uno studio molto più approfondito», afferma Van Goethem.
Nelle future ricerche sarà possibile esaminare altre metodologie che i malintenzionati potrebbero utilizzare per eseguire attacchi simultanei in base al tempo, altri protocolli e strati di rete intermedi che potrebbero essere attaccati, nonché valutare la vulnerabilità dei siti web più popolari che consentono tali ricerche ai termini del programma di bug bounty.
Il nome "fuori dal tempo" è stato scelto "perché durante questi attacchi non abbiamo utilizzato alcuna (assoluta) informazione temporale", spiega Van Goetem.
"Inoltre, possono essere considerati "fuori dal tempo" anche perché gli attacchi temporali (remoti) vengono utilizzati da tempo e, a giudicare dalle nostre ricerche, la situazione non farà altro che peggiorare."

Il testo completo del rapporto con Usenix si trova .
In pubblicità
con protezione contro gli attacchi DDoS e l'hardware più recente. Tutto questo riguarda i nostri server epici. Configurazione massima: 128 core CPU, 512 GB RAM, 4000 GB NVMe.
Fonte: habr.com
