Un gruppo di ricercatori di diverse università statunitensi ha sviluppato una nuova tecnica di attacco tramite canali laterali, capace di ricreare le informazioni visive elaborate dalla GPU. Utilizzando il metodo proposto, chiamato GPU.zip, un attaccante può determinare le informazioni visualizzate sullo schermo. Tra le varie possibilità, l'attacco può essere condotto tramite un browser web; ad esempio, è stato dimostrato come una pagina web malevola 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 consente la compressione dei dati grafici. Il problema si manifesta con la compressione su tutte le GPU integrate testate (AMD, Apple, ARM, Intel, Qualcomm) e su schede grafiche discrete NVIDIA. I ricercatori hanno scoperto che le GPU integrate Intel e AMD includono sempre la compressione dei dati grafici, anche se l'applicazione non richiede esplicitamente tale ottimizzazione. L'uso della compressione fa sì che il traffico nella DRAM e il carico sulla cache correlino con il tipo di dati elaborati, che possono essere ricreati pixel per pixel attraverso l'analisi tramite canali laterali.
Il metodo è piuttosto lento; ad esempio, su un sistema con GPU integrata AMD Ryzen 7 4800U, l'attacco per determinare il nome con cui l'utente ha effettuato l'accesso in un'altra scheda a Wikipedia è durato 30 minuti e ha permesso di determinare il contenuto dei pixel con un'accuratezza del 97%. Su sistemi con GPU integrata Intel i7-8700, un attacco simile ha impiegato 215 minuti con un'accuratezza del 98%.
Durante l'attacco tramite browser, il sito target viene aperto ciclicamente in un iframe per avviare il rendering. Per determinare le informazioni visualizzate, l'output dell'iframe viene trasformato in un'immagine in bianco e nero, a cui si applica un filtro SVG, che esegue un sovrapposizione sequenziale di maschere, alcune delle quali introducono una maggiore ridondanza nella compressione. In base alla valutazione della variazione del tempo di rendering di campioni standardizzati, si rileva la presenza di pixel scuri o chiari in una certa posizione. L'immagine complessiva viene ricreata attraverso un controllo sequenziale pixel per pixel utilizzando queste maschere.

I produttori di GPU e i browser sono stati avvisati del problema a marzo, ma nessun fornitore ha ancora preparato una correzione poiché l'esecuzione dell'attacco in condizioni pratiche è dubbia e la problematica ha un interesse più teorico. Google non ha ancora preso una decisione sulla opportunità di bloccare l'attacco a livello del browser Chrome. Chrome è vulnerabile poiché consente il caricamento di iframe da un altro sito senza pulire i cookie, permette l'applicazione di filtri SVG all'iframe e delega l'esecuzione del rendering alla GPU. Firefox e Safari non sono soggetti a vulnerabilità in quanto non soddisfano questi criteri. L'attacco non è applicabile ai siti che vietano l'inserimento tramite iframe su altri siti (ad esempio, impostando l'intestazione HTTP X-Frame-Options su "SAMEORIGIN" o "DENY", così come tramite impostazioni di accesso attraverso l'intestazione Content-Security-Policy).
Fonte: opennet.ru
