Attacco GPU.zip per ricreare i dati renderizzati dalla GPU

Un team di ricercatori di diverse università statunitensi ha sviluppato una nuova tecnica di attacco side-channel che consente di ricreare le informazioni visive elaborate nella GPU. Utilizzando il metodo proposto, chiamato GPU.zip, un utente malintenzionato può determinare le informazioni visualizzate sullo schermo. L'attacco può essere effettuato tra l'altro attraverso un browser web, dimostrando come una pagina web dannosa aperta in Chrome possa ottenere informazioni sui pixel visualizzati durante il rendering di un'altra pagina web aperta nello stesso browser.

La fonte della fuga di informazioni è l'ottimizzazione utilizzata nelle moderne GPU che fornisce la compressione dei dati grafici. Il problema si verifica quando si utilizza la compressione su tutte le GPU integrate testate (AMD, Apple, ARM, Intel, Qualcomm) e schede grafiche discrete NVIDIA. Allo stesso tempo, i ricercatori hanno scoperto che le GPU Intel e AMD integrate consentono sempre la compressione dei dati grafici, anche se l'applicazione non richiede espressamente l'uso di tale ottimizzazione. L'uso della compressione fa sì che il traffico DRAM e il carico della cache siano correlati alla natura dei dati elaborati, che possono essere ricostruiti pixel per pixel attraverso l'analisi del canale laterale.

Il metodo è piuttosto lento, ad esempio, su un sistema con GPU AMD Ryzen 7 4800U integrata, un attacco per determinare il nome con cui l'utente ha effettuato l'accesso a Wikipedia in un'altra scheda è durato 30 minuti e ha consentito di determinare il contenuto dei pixel con una precisione del 97%. Sui sistemi con GPU Intel i7-8700 integrata, un attacco simile ha richiesto 215 minuti con una precisione del 98%.

Quando si esegue un attacco tramite un browser, il sito di destinazione passa attraverso un iframe per avviare il rendering. Per determinare le informazioni da mostrare, l'output dell'iframe viene convertito in una rappresentazione in bianco e nero, alla quale viene applicato un filtro SVG, che esegue una sovrapposizione sequenziale di maschere che introducono e non introducono molta ridondanza durante la compressione. In base ad una valutazione delle variazioni dei tempi di disegno dei campioni di riferimento, viene evidenziata la presenza di pixel scuri o chiari in una determinata posizione. L'immagine complessiva viene ricostruita attraverso l'ispezione sequenziale pixel per pixel utilizzando maschere simili.

Attacco GPU.zip per ricreare i dati renderizzati dalla GPU

I produttori di GPU e browser sono stati informati del problema a marzo, ma nessun fornitore ha ancora prodotto una soluzione, poiché l'attacco è discutibile nella pratica in condizioni tutt'altro che ideali e il problema è di interesse più teorico. Google non ha ancora deciso se bloccare l'attacco a livello del browser Chrome. Chrome è vulnerabile perché consente di caricare un iframe da un altro sito senza cancellare il cookie, consente di applicare filtri SVG all'iframe e delega il rendering alla GPU. Firefox e Safari non sono interessati dalla vulnerabilità perché non soddisfano questi criteri. L'attacco non si applica inoltre ai siti che vietano l'incorporamento tramite iframe su altri siti (ad esempio, impostando l'intestazione HTTP X-Frame-Options sul valore "SAMEORIGIN" o "DENY", nonché attraverso le impostazioni di accesso utilizzando il Content -Intestazione della politica di sicurezza).

Fonte: opennet.ru

Aggiungi un commento