I dispositivi Android sono nel mirino di una nuova tecnica di attacco che permette di rubare informazioni sensibili visualizzate sullo schermo, inclusi codici di autenticazione a due fattori, cronologie delle posizioni e messaggi privati. La peculiarità di questa minaccia, battezzata "Pixnapping" da un gruppo di ricercatori accademici, sta nella sua capacità di operare attraverso un'app malevola che non richiede alcun permesso di sistema, aggirando così le protezioni standard di Android. L'attacco è stato testato con successo su dispositivi Google Pixel e sul Samsung Galaxy S25, e potrebbe essere adattato ad altri modelli con ulteriori modifiche.
Il meccanismo alla base di Pixnapping ricorda da vicino GPU.zip, un attacco identificato nel 2023 che sfruttava vulnerabilità nelle GPU per permettere a siti web malevoli di leggere credenziali e dati sensibili visualizzati da altri siti. Entrambe le tecniche si basano sullo stesso canale laterale: il tempo preciso necessario per renderizzare un singolo frame sullo schermo. Come spiega Alan Linghao Wang, primo autore della ricerca "Pixnapping: Bringing Pixel Stealing out of the Stone Age", l'attacco consente di ricostruire pixel per pixel i contenuti visualizzati da altre applicazioni, come se l'app malevola stesse catturando uno screenshot di informazioni a cui non dovrebbe avere accesso.
L'attacco si articola in tre fasi distinte. Inizialmente, l'applicazione dannosa sfrutta le API di Android per invocare l'app bersaglio e farle visualizzare informazioni specifiche, come un thread di messaggi o un codice di autenticazione. Questi comandi causano l'invio dei dati alla pipeline di rendering del sistema, dove i pixel vengono preparati per essere mostrati sullo schermo. Nella seconda fase, Pixnapping esegue operazioni grafiche su singoli pixel nelle coordinate di interesse, verificando se il colore in quelle posizioni sia bianco o non-bianco.
Ricardo Paccagnella, co-autore della ricerca, descrive il processo in modo più tecnico: l'app malevola sovrappone contenuti trasparenti all'applicazione bersaglio utilizzando le API di Android, attivando un canale laterale che rivela informazioni sul colore dei singoli pixel. Misurando gli effetti collaterali di queste operazioni, l'attaccante può dedurre il colore di ciascun pixel, uno alla volta. La terza fase consiste nel misurare il tempo richiesto per ogni coordinata, permettendo di ricostruire l'immagine completa inviata alla pipeline di rendering.
La velocità dell'attacco dipende da diverse variabili, principalmente dal numero di coordinate da misurare. Per alcuni tipi di dati non esistono scadenze rigide, ma quando si tratta di rubare codici di autenticazione a due fattori, il tempo è essenziale: ogni codice rimane valido solo per 30 secondi. Per rispettare questa finestra temporale, i ricercatori hanno dovuto ottimizzare drasticamente il processo, riducendo il numero di campioni per pixel a 16 e diminuendo il tempo di inattività tra una lettura e l'altra da 1,5 secondi a 70 millisecondi.
I test condotti su cento codici 2FA diversi tramite Google Authenticator hanno mostrato tassi di successo variabili: 73% sul Pixel 6, 53% sul Pixel 7, 29% sul Pixel 8 e 53% sul Pixel 9. Il tempo medio necessario per recuperare un codice completo variava tra i 14,3 secondi del Pixel 6 e i 25,8 secondi del Pixel 7. Sul Samsung Galaxy S25, invece, i ricercatori non sono riusciti a completare l'attacco entro i 30 secondi a causa di significativi disturbi nel segnale.
Google ha risposto alla scoperta rilasciando una patch nel bollettino di sicurezza di settembre per la vulnerabilità CVE-2025-48561, che mitiga parzialmente il comportamento sfruttato dall'attacco. Un portavoce dell'azienda ha confermato che una patch aggiuntiva sarà inclusa nel bollettino di dicembre, precisando che non esistono prove di sfruttamento in natura della vulnerabilità. Tuttavia, i ricercatori sostengono che una versione modificata dell'attacco continua a funzionare anche con l'aggiornamento installato.
Come hanno sottolineato i ricercatori, qualsiasi informazione visibile quando l'app bersaglio è aperta può essere sottratta tramite Pixnapping: messaggi di chat, codici 2FA, email sono tutti vulnerabili perché visibili sullo schermo. Al contrario, informazioni segrete mai visualizzate, come chiavi crittografiche memorizzate ma non mostrate, rimangono al sicuro da questo tipo di attacco.
Le vulnerabilità sfruttate da GPU.zip nelle GPU dei principali produttori non sono mai state corrette completamente. I browser hanno invece bloccato l'attacco limitando la possibilità di aprire iframe, l'elemento HTML che consente a un sito web di incorporare contenuti da un dominio diverso. Nel caso di Pixnapping, il vettore di attacco è un'applicazione che deve essere installata dall'utente, il che costituisce già una barriera significativa allo sfruttamento diffuso della tecnica su larga scala.