SHARE THE PERSPECTIVE
L’accessibilità è essenziale per gli utenti; il pericolo nasce dal concedere accesso senza motivo e dall’abuso di tale accesso.

Il malware non deve sempre violare la crittografia dei messaggi. Se accede ai dati elaborati dal dispositivo per la visualizzazione o l’immissione, può vedere il contenuto prima della cifratura o dopo la decifratura. L’abuso dell’accessibilità e le finestre sovrapposte sono due esempi, ma i loro meccanismi non sono uguali.

Inoltre, non ogni app con Accessibility o una finestra mobile è malware. I lettori di schermo e gli strumenti assistivi sono essenziali per molti utenti. L’obiettivo è concedere accessi consapevolmente e ridurre gli abusi, non eliminare l’accessibilità.

Tre minacce da non confondere

Metodo Che cosa fa l’aggressore? Che cosa non si deve presumere?
Finestra o modulo falso Induce l’utente a inserire informazioni in un’interfaccia simile a quella dell’app originale Non ogni overlay legge automaticamente il testo della finestra sottostante
Tapjacking Inganna l’utente facendogli toccare un altro controllo Uno strato trasparente non significa che vengano registrate tutte le pressioni dei tasti
Abuso di un servizio Accessibility Usa le capacità consentite del servizio per osservare o eseguire azioni L’accesso a tutte le viste non è identico in tutte le versioni

La guida ufficiale al tapjacking distingue tra copertura completa e parziale dell’interfaccia. Il tipo di finestra, la versione di Android e le impostazioni dell’app influiscono sul risultato.

Come può Accessibility raggiungere dati sensibili?

Un servizio di accessibilità può, entro le proprie capacità, ricevere informazioni dall’interfaccia o eseguire azioni per l’utente. Un servizio dannoso può abusare di queste stesse possibilità. Attivarlo per un’app senza una motivazione chiara non è quindi una decisione di poco conto.

Tuttavia, affermare che «ogni servizio può leggere tutto il testo di ogni app» è troppo assoluto. Contano la struttura delle viste, il modo in cui i dati vengono esposti e le restrizioni del sistema operativo. Android offre funzionalità come accessibilityDataSensitive per le viste sensibili; il loro utilizzo e comportamento devono essere verificati sulla versione di destinazione. Spiegazione di Google sulla protezione dei dati dai servizi dannosi.

Che cosa fa FLAG_SECURE e che cosa non fa?

FLAG_SECURE serve a limitare gli screenshot e la visualizzazione di contenuti su uscite non sicure. Questo flag, da solo, non controlla l’interfaccia di accessibilità, i moduli falsi o tutti i modi di estrarre testo. Anche fotografare lo schermo con un altro dispositivo è una questione distinta.

Android mette inoltre a disposizione delle app strumenti come HIDE_OVERLAY_WINDOWS per ridurre le finestre sovrapposte. Nessuno dovrebbe essere presentato come un «pulsante antispionaggio» senza verificare compatibilità, limiti di versione e impatto sugli utenti con esigenze di accessibilità. Guida alla protezione delle attività sensibili.

Lista di controllo degli accessi per l’utente

  1. Nelle impostazioni del dispositivo, controlla separatamente le app con Accessibilità, Visualizzazione sopra altre app e Accesso alle notifiche. I nomi dei percorsi cambiano in base al produttore e alla versione.
  2. Per ciascuna, chiediti quale funzione specifica richieda quell’accesso. L’accesso di un lettore di schermo attendibile non equivale a quello di un’app torcia sconosciuta.
  3. Considera una richiesta urgente di attivare l’accesso dopo l’installazione di un file sconosciuto come motivo per approfondire; la sola richiesta di un’autorizzazione non dimostra che si tratti di malware.
  4. Se una schermata di accesso sembra sospetta, non inserire informazioni sensibili. Apri l’app dal tuo percorso abituale e verifica l’indirizzo o la fonte di installazione.
  5. Dopo aver revocato un accesso non necessario, prova gli strumenti assistivi di cui hai bisogno. La sicurezza non deve rendere il dispositivo inutilizzabile per il proprietario.

Se sospetti che la password o la sessione siano già state esposte, revocare un’autorizzazione non basta. Da un dispositivo attendibile, controlla le sessioni attive e i metodi di recupero dell’account e cambia le password a rischio.

Che cosa dovrebbe verificare lo sviluppatore?

Valuta separatamente le schermate di accesso, di conferma delle operazioni e di visualizzazione di informazioni sensibili. Prova i tocchi oscurati e la copertura parziale; un semplice test degli screenshot non basta. Poi verifica lo stesso percorso con un vero lettore di schermo e uno strumento assistivo, affinché la difesa di sicurezza non comprometta l’accesso legittimo.

Nel rapporto di prova, registra le versioni di Android e dell’app, il tipo di servizio, le autorizzazioni e i dati effettivamente visibili. Da un test limitato non si possono trarre conclusioni su tutti i dispositivi.

Il confine della crittografia della messaggistica

Il modello di minaccia di Livara esclude i dispositivi infetti o sbloccati dalla garanzia di protezione dei contenuti. Il nome di un algoritmo o la natura post-quantistica dello scambio di chiavi non costituisce quindi una difesa contro tutti gli abusi dell’interfaccia utente. Considera la protezione del percorso dei messaggi, l’integrità del dispositivo e il controllo delle autorizzazioni come tre verifiche distinte.

Esplora il Proof Lab di Livara
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗