I gestori di password che utilizzano l'API di compilazione automatica di Android Oreo sono potenzialmente vulnerabili alla perdita di dati

click fraud protection

Una potenziale falla di sicurezza nell'API di compilazione automatica di Android Oreo consente ai gestori di password di perdere dati come password, indirizzi o carte di credito.

Compilazione automatica è una delle nuove funzionalità più grandi e pubblicizzate introdotte con il rilascio di Android 8.0 Oreo. Molte diverse app di gestione delle password, come LastPass, hanno già implementato questa nuova API nelle loro applicazioni. E mentre può rivelarsi tale un bel miglioramento rispetto alle precedenti implementazioni di Compilazione automatica utilizzando i servizi di accessibilità, c'è un potenziale difetto di sicurezza da considerare. Il mese scorso è stato pubblicato un white paper su GitHub, documentando un difetto intrinseco nell'API di riempimento automatico di Android Oreo che potrebbe potenzialmente portare il tuo gestore di password a perdere più dati personali di quelli per cui hai dato il permesso. Faremo una rapida carrellata del white paper scritto da Mark Murphy (meglio noto come Commonsware) e pubblicato sulla sua pagina GitHub l'8 agosto 2017.


Potenziale difetto di perdita di dati nell'API di riempimento automatico di Android Oreo

Come funziona il difetto?

L'implementazione del riempimento automatico in Android Nougat (e versioni precedenti) e in browser come Google Chrome è qualcosa di veramente semplice. Di solito, le app di gestione delle password utilizzano i servizi di accessibilità per scansionare il contenuto dello schermo per una casella di accesso e consigliare il riempimento automatico dei dati in base a ciò che trova. Anche se ha funzionato, è vero potrebbe causare un notevole ritardo.

Su Android Oreo, funziona in modo leggermente diverso, poiché le app per password sono ora ufficialmente supportate con l'API di compilazione automatica. Le applicazioni per password di terze parti non richiedono più servizi di accessibilità, poiché ora possono svolgere il ruolo di un servizio di compilazione automatica, comunicando con le app tramite il framework di compilazione automatica. Quando l'utente si concentra su un widget, il sistema impacchetterà alcune informazioni su quel widget/modulo e le invierà all'app di compilazione automatica. L'applicazione restituisce quindi i dati di compilazione automatica rilevanti come password, e-mail, carte di credito o qualsiasi altro tipo di dati sensibili. Il sistema Android funge da intermediario tra l'applicazione che memorizza i dati e quella che li richiede.

App di compilazione automatica in Android 8.0 Oreo

Tuttavia, le app dannose o i malware possono effettivamente sfruttare la funzionalità di riempimento automatico per ottenere più dati per se stessi. Un'attività dannosa può richiedere ulteriori dati di compilazione automatica da inserire con un widget invisibile o nascosto. Mentre l'utente accetta di compilare uno dei widget visibili, come un modulo di accesso o qualcosa di simile, anche il widget invisibile riceve dati aggiuntivi senza che tu lo veda. Questo può essere davvero pericoloso se le informazioni trapelate sono la tua password, indirizzo o dettagli della carta di credito!

Gli screenshot qui sopra mostrano un'applicazione di test dannosa che sfrutta questa falla di sicurezza.

La risposta di Google al problema

Secondo CommonsWare, questo problema di sicurezza non ha ancora una soluzione pubblica pubblicata da Google. Sappiamo però che Google è a conoscenza del problema. CommonsWare afferma che gli ingegneri di Google hanno riconosciuto che il problema esiste in un rapporto privato di tracciamento dei problemi, ma che è così sarebbe difficile (se non impossibile) patcharlo effettivamente o implementare una soluzione.

Ma ciò non significa che la compilazione automatica sia completamente pericolosa da usare, poiché Google sta adottando un altro approccio per garantire la sicurezza dei dati. L'azienda è spingendo affinché i servizi di compilazione automatica gestiscano il problema da soli e come tale, sta cercando di sensibilizzare gli sviluppatori affinché migliorino i loro fornitori di compilazione automatica e li rendano più sicuri. Cosa viene proposto esattamente?

Prima di tutto, i fornitori di compilazione automatica dovrebbero partizionare i propri dati. Invece di mantenere tutti i dati di compilazione automatica in un unico pool, gli sviluppatori dovrebbero suddividere i dati utente archiviati in partizioni. Ad esempio, una partizione indirizzo/telefono, una partizione carta di credito, una partizione password/nome utente, ecc. Il servizio di riempimento automatico dovrebbe restituire solo i dati di una partizione alla volta in base al widget focalizzato. Questo è uno dei pagine pubblicamente disponibili sulle app di compilazione automatica che si proteggono dalla perdita di dati verso widget invisibili.

Ci sono anche altre cose che gli sviluppatori di gestori di password dovrebbero fare, secondo gli ingegneri di Google. Ad esempio, il provider di compilazione automatica dovrebbe restituire i dati solo all'app specifica che li ha forniti in primo luogo. Questo dovrebbe essere fatto verificando il nome del pacchetto e la firma pubblica dell'applicazione in modo che anche un APK modificato non possa accedervi. L'altra cosa sarebbe che le app di compilazione automatica richiedono l'autenticazione prima di fornire effettivamente i dati quell'attività di autenticazione che informa l'utente che tipo di dati verranno forniti all'app che lo richiede. Questo consiglio in realtà contiene molti errori, il più importante dei quali è che questi consigli non vengono effettivamente applicati da Google.

Tieni presente che molte delle proposte di cui sopra sono state prese dal rapporto privato di monitoraggio dei problemi di CommonsWare e non da alcuna pagina di documentazione ufficiale di Google. Per un'ulteriore analisi più tecnica su come le app che utilizzano l'API di compilazione automatica possono proteggersi da questo tipo di attacco, ti consigliamo vivamente di leggere la Libro bianco completo di CommonsWare.

Quali app sono al sicuro da questo difetto?

Abbiamo contattato gli sviluppatori di 1Password, Enpass e LastPass in merito a questa vulnerabilità e i team di sicurezza dietro queste 3 app hanno reclamato che lo sono sicuro, sebbene non abbiamo ancora verificato queste affermazioni.

Come possiamo vedere nelle dichiarazioni sopra, 1Password richiede l'autenticazione dell'utente prima di inserire i dati, avvisandolo anche in anticipo di quali dati verranno inseriti. Ciò aiuta anche con il problema del riempimento silenzioso, poiché verrà visualizzato un popup di autenticazione per ogni singola attività che richiede i dati di compilazione automatica.

Enpass non rivelerà mai l'intero portachiavi all'app richiedente, sia dannoso che autentico. All'utente verranno presentati solo gli elementi salvati che corrispondono al nome del pacchetto dell'app richiedente. Hanno inoltre confermato che metteranno in atto ulteriori misure seguendo il consiglio di Google.

Inoltre, LastPass ci ha confermato che, anche se non erano a conoscenza del problema prima del rilascio di Android Oreo, la loro app utilizza partizionamento dei dati per proteggere gli utenti, insieme ad altri controlli per garantire che LastPass compili solo l'app associata alla voce.

Anche se non dovrebbero esserci assolutamente problemi nell'utilizzo di queste 3 applicazioni, se vuoi rimanere completamente in chiaro, dovresti disabilitarle compila automaticamente completamente sul tuo telefono finché non puoi confermare con lo sviluppatore del tuo gestore di password che la sua app è al sicuro da questa linea di attacco. Fortunatamente questo può essere fatto facilmente andando su Impostazioni > Sistema > Lingue e immissione > Avanzate e trovando la preferenza "Servizio di compilazione automatica", toccandola e selezionando "Nessuno".

Come abbiamo detto sopra, non è noto se Google possa effettivamente fornire una soluzione a questo problema, quindi utilizzare app attendibili o semplicemente disabilitare la funzione è l'unico modo per rimanere al sicuro. Se vuoi saperne di più su questo problema e tutti i dettagli ad esso associati, dovresti leggere l'originale Libro bianco che lo documenta su GitHub.


Questo articolo è stato aggiornato il 13/09/17 per riflettere in modo più accurato le implicazioni delle risposte di LastPass, Enpass e 1Password.