Microsoft ha recentemente scoperto una nuova forma di attacco chiamata “Dirty Stream“, che potrebbe permettere alle app Android dannose di sovrascrivere file nella directory principale di altre applicazioni. Questo problema potrebbe portare all’esecuzione di codice arbitrario e al furto di dati sensibili.
La vulnerabilità sorge da un uso improprio del sistema di gestione dei contenuti di Android, noto come content provider, che regola l’accesso a insiemi di dati strutturati destinati alla condivisione tra diverse applicazioni. Questo sistema è dotato di misure di sicurezza come isolamento dei dati, permessi URI e validazione dei percorsi per prevenire accessi non autorizzati, perdite di dati e attacchi di tipo path traversal.
Tuttavia, quando gli intenti personalizzati, ovvero oggetti di messaggistica che facilitano la comunicazione tra componenti di diverse app Android, sono implementati in modo errato, possono eludere queste misure di sicurezza. Esempi di implementazioni scorrette includono l’accettazione di nomi di file e percorsi non validati negli intenti, l’uso improprio del componente ‘FileProvider’ e una validazione insufficiente dei percorsi.
Come “Dirty Stream” manipola la comunicazione tra app
“Dirty Stream” consente alle app malevole di inviare un file con un nome o percorso manipolato ad un’altra app tramite un intento personalizzato. L’app destinataria viene così indotta a fidarsi del nome o percorso del file e a eseguirlo o memorizzarlo in una directory critica. Questa manipolazione del flusso di dati tra due app Android trasforma una funzione comune del sistema operativo in uno strumento bellico, potenzialmente portando all’esecuzione di codice non autorizzato, al furto di dati o ad altri esiti malevoli.
Dimitrios Valsamaras, ricercatore di Microsoft, ha osservato che queste implementazioni scorrette sono purtroppo molto diffuse, interessando app installate più di quattro miliardi di volte e rappresentando una vasta superficie di attacco. Microsoft ha identificato diverse applicazioni vulnerabili presenti su Google Play Store, tra cui l’applicazione File Manager di Xiaomi con oltre un miliardo di installazioni e WPS Office, con circa 500 milioni di installazioni.
Entrambe le aziende hanno collaborato con Microsoft per implementare correzioni e mitigare i rischi posti dalla vulnerabilità. Inoltre, i risultati di Microsoft sono stati condivisi con la comunità degli sviluppatori Android attraverso un articolo sul sito web degli Android Developers per prevenire vulnerabilità simili nelle future versioni delle app.
Google ha anche aggiornato le sue linee guida sulla sicurezza delle app per evidenziare gli errori di implementazione comuni nel sistema dei content provider che permettono il bypass delle sicurezze. Per quanto riguarda gli utenti finali, l’unica cosa che possono fare è mantenere aggiornate le app che utilizzano e evitare di scaricare APK da store di terze parti non ufficiali e altre fonti poco affidabili.