Un gruppo di ricercatori dell'Università Vrije di Amsterdam e dell'École Polytechnique Fédérale de Lausanne ha sviluppato una tecnica di attacco di rete (Network Cache ATtack), che consente, utilizzando metodi di analisi dei dati tramite canali esterni, di determinare da remoto i tasti premuti dall'utente durante una sessione SSH. Il problema si manifesta solo su server che utilizzano le tecnologie (Remote direct memory access) e (Data-Direct I/O).
Azienda Intel , il che rende difficile l'implementazione dell'attacco nella pratica, poiché richiede l'accesso dell'attaccante alla rete locale, condizioni sterili e l'organizzazione della connessione degli host utilizzando tecnologie RDMA e DDIO, che sono tipicamente utilizzate in reti isolate, come quelle che ospitano cluster computazionali. Il problema è stato classificato con un livello di gravità minimo (CVSS 2.6, ) e si consiglia di non utilizzare DDIO e RDMA in reti locali in cui non è garantito un perimetro di sicurezza e è consentita la connessione di clienti non affidabili. DDIO è utilizzato nei processori server Intel, a partire dal 2012 (Intel Xeon E5, E7 e SP). I sistemi basati su processori AMD e altri produttori non sono soggetti al problema, poiché non supportano la memorizzazione dei dati trasmessi nella cache della CPU.
Il metodo utilizzato per l'attacco ricorda la vulnerabilità "", che consente di modificare il contenuto di singoli bit nella RAM tramite la manipolazione dei pacchetti di rete in sistemi con RDMA. Il nuovo problema è una conseguenza del lavoro per minimizzare i ritardi nell'uso del meccanismo DDIO, che consente un'interazione diretta della scheda di rete e di altri dispositivi periferici con la cache della CPU (durante l'elaborazione dei pacchetti della scheda di rete, i dati vengono memorizzati nella cache ed estratti dalla cache, senza accedere alla memoria).
Grazie a DDIO, nella cache della CPU vengono memorizzati anche i dati generati durante attività di rete dannose. L'attacco NetCAT si basa sul fatto che le schede di rete memorizzano attivamente i dati e che la velocità di elaborazione dei pacchetti nelle moderne reti locali è sufficiente per influenzare il riempimento della cache e determinare la presenza o l'assenza di dati nella cache attraverso l'analisi dei ritardi nella trasmissione dei dati.
Durante le sessioni interattive, ad esempio tramite SSH, il pacchetto di rete viene inviato immediatamente dopo la pressione del tasto, ovvero i ritardi tra i pacchetti sono correlati ai ritardi tra le pressione dei tasti. Utilizzando metodi di analisi statistica e considerando che i ritardi tra le pressione dei tasti dipendono in genere dalla posizione del tasto sulla tastiera, è possibile ricostruire con una certa probabilità le informazioni immesse. Ad esempio, la maggior parte delle persone di solito digita "s" dopo "a" molto più velocemente rispetto a "g" dopo "s".
Le informazioni che rimangono nella cache della CPU consentono anche di stabilire il tempo esatto dei pacchetti inviati dalla scheda di rete durante l'elaborazione di connessioni come SSH. Generando un certo flusso di traffico, l'attaccante può determinare il momento in cui nuovi dati compaiono nella cache, correlati a una particolare attività nel sistema. Per analizzare il contenuto della cache si utilizza il metodo , che implica il riempimento della cache con un insieme di valori di riferimento e la misurazione del tempo di accesso a questi valori durante il riempimento successivo per determinare eventuali cambiamenti.
Non si esclude l'applicazione della tecnica proposta per identificare non solo i tasti premuti, ma anche altri tipi di dati riservati che rimangono nella cache della CPU. Potenzialmente, l'attacco potrebbe essere condotto anche disattivando RDMA, ma senza RDMA la sua efficacia diminuisce e la sua esecuzione diventa notevolmente più complessa. È possibile anche utilizzare DDIO per stabilire un canale di comunicazione nascosto, utilizzato per trasmettere dati dopo la compromissione del server, eludendo i sistemi di sicurezza.

Fonte: opennet.ru
