Nella società odierna, connessa digitalmente, gli smartphone sono diventati un’estensione di noi stessi. Le capacità avanzate della fotocamera e del video, in particolare, stanno giocando un ruolo enorme in questo, in quanto gli utenti sono in grado di estrarre rapidamente i loro telefoni e catturare qualsiasi momento in tempo reale con il semplice clic di un pulsante. Tuttavia, questo presenta un’arma a doppio taglio, in quanto questi dispositivi mobili raccolgono, memorizzano e condividono costantemente vari tipi di dati – con e senza la nostra consapevolezza – rendendo i nostri dispositivi delle miniere d’oro per gli aggressori.
Al fine di comprendere meglio come le fotocamere degli smartphone possano aprire gli utenti ai rischi per la privacy, il team di ricerca di Checkmarx Security ha analizzato le applicazioni stesse che controllano queste fotocamere per identificare potenziali scenari di abuso. Avendo un Google Pixel 2 XL e un Pixel 3 a portata di mano, il nostro team ha iniziato a ricercare l’app Google Camera, trovando alla fine molteplici vulnerabilità riguardanti i problemi di bypass dei permessi. Dopo ulteriori ricerche, abbiamo anche scoperto che queste stesse vulnerabilità hanno un impatto sulle app della fotocamera di altri fornitori di smartphone nell’ecosistema Android – in particolare Samsung – presentando implicazioni significative per centinaia di milioni di utenti di smartphone.
In questo blog, spiegheremo le vulnerabilità scoperte (CVE-2019-2234), forniremo dettagli su come sono state sfruttate, spiegheremo le conseguenze e noteremo come gli utenti possono salvaguardare i loro dispositivi. Questo blog è anche accompagnato da un video proof-of-concept (PoC), così come un rapporto tecnico dei risultati che sono stati condivisi con Google, Samsung e altri OEM di smartphone basati su Android.
Google & Samsung Camera Vulnerabilità
Dopo un’analisi dettagliata dell’app Google Camera, il nostro team ha scoperto che manipolando azioni e intenti specifici, un attaccante può controllare l’app per scattare foto e/o registrare video attraverso un’applicazione rogue che non ha i permessi per farlo. Inoltre, abbiamo scoperto che alcuni scenari di attacco consentono agli attori malintenzionati di aggirare varie politiche di autorizzazione di archiviazione, dando loro accesso a video e foto memorizzati, così come i metadati GPS incorporati nelle foto, per individuare l’utente scattando una foto o un video e analizzando i dati EXIF appropriati. Questa stessa tecnica è stata applicata anche all’app Fotocamera di Samsung.
In questo modo, i nostri ricercatori hanno determinato un modo per consentire ad un’applicazione canaglia di forzare le applicazioni della fotocamera a scattare foto e registrare video, anche se il telefono è bloccato o lo schermo è spento. I nostri ricercatori potevano fare lo stesso anche quando un utente era nel mezzo di una chiamata vocale.
Le implicazioni
La capacità di un’applicazione di recuperare input dalla fotocamera, dal microfono e dalla posizione GPS è considerata altamente invasiva da Google stesso. Di conseguenza, AOSP ha creato una serie specifica di permessi che un’applicazione deve richiedere all’utente. Dato che questo era il caso, i ricercatori di Checkmarx hanno progettato uno scenario di attacco che aggira questa politica di autorizzazione abusando dell’app Google Camera stessa, costringendola a fare il lavoro per conto dell’attaccante.
È noto che le applicazioni della fotocamera Android di solito memorizzano le loro foto e video sulla scheda SD. Poiché le foto e i video sono informazioni sensibili per l’utente, affinché un’applicazione possa accedervi, ha bisogno di permessi speciali: i permessi di archiviazione. Purtroppo, i permessi di archiviazione sono molto ampi e questi permessi danno accesso all’intera scheda SD. C’è un gran numero di applicazioni, con casi d’uso legittimi, che richiedono l’accesso a questo spazio di archiviazione, ma non hanno alcun interesse speciale per le foto o i video. In effetti, è uno dei permessi più comunemente richiesti osservati.
Questo significa che un’applicazione disonesta può scattare foto e/o video senza i permessi specifici della fotocamera, e ha solo bisogno dei permessi di archiviazione per fare un passo avanti e recuperare foto e video dopo che sono stati scattati. Inoltre, se la posizione è abilitata nell’app fotocamera, l’applicazione canaglia ha anche un modo per accedere alla posizione GPS corrente del telefono e dell’utente.
Naturalmente, un video contiene anche il suono. È stato interessante provare che un video può essere avviato durante una chiamata vocale. Potremmo facilmente registrare la voce del ricevente durante la chiamata e potremmo anche registrare la voce del chiamante.
Un PoC di uno scenario peggiore
Per dimostrare adeguatamente quanto questo potrebbe essere pericoloso per gli utenti Android, il nostro team di ricerca ha progettato e implementato un’app proof-of-concept che non richiede alcun permesso speciale oltre al permesso di archiviazione di base. Simulando un attaccante avanzato, il PoC aveva due parti funzionanti: la parte client che rappresenta un’app dannosa in esecuzione su un dispositivo Android, e una parte server che rappresenta il server command-and-control (C&C) di un attaccante.
L’app dannosa che abbiamo progettato per la dimostrazione non era altro che un’app meteo mockup che avrebbe potuto essere dannosa per progettazione. Quando il client avvia l’app, crea essenzialmente una connessione persistente al server C&C e attende comandi e istruzioni dall’attaccante, che sta operando la console del server C&C da qualsiasi parte del mondo. Anche la chiusura dell’applicazione non termina la connessione persistente.
L’operatore della console C&C può vedere quali dispositivi sono collegati ad essa, ed eseguire le seguenti azioni (tra le altre):
- Scattare una foto sul telefono della vittima e caricarla (recuperarla) sul server C&C
- Registrare un video sul telefono della vittima e caricarlo (recuperarlo) sul server C&C
- Parare tutte le ultime foto per i tag GPS e localizzare il telefono su una mappa globale
- Funziona in modalità stealth per cui il telefono è silenziato mentre scatta foto e registra video
- Aspetta una chiamata vocale e registra automaticamente:
- Video dalla parte della vittima
- Audio da entrambi i lati della conversazione
Nota: L’attesa di una chiamata vocale è stata implementata tramite il sensore di prossimità del telefono che può rilevare quando il telefono viene tenuto all’orecchio della vittima. Un video dello sfruttamento della vulnerabilità con successo è stato preso dal nostro team di ricerca e può essere visto qui. Il nostro team ha testato entrambe le versioni di Pixel (2 XL / 3) nei nostri laboratori di ricerca e ha confermato che le vulnerabilità sono rilevanti per tutti i modelli di telefoni Google.
Vulnerabilità Android: Guarda il video esplicativo
Sommario della divulgazione e degli eventi
Quando le vulnerabilità sono state scoperte per la prima volta, il nostro team di ricerca si è assicurato di poter riprodurre il processo per sfruttarle facilmente. Una volta confermato ciò, il team di ricerca Checkmarx ha responsabilmente notificato a Google le loro scoperte.
Lavorando direttamente con Google, hanno informato il nostro team di ricerca e confermato il nostro sospetto che le vulnerabilità non fossero specifiche della linea di prodotti Pixel. Google ha informato il nostro team di ricerca che l’impatto è stato molto più grande e si è esteso al più ampio ecosistema Android, con altri fornitori come Samsung che hanno riconosciuto che queste falle hanno anche un impatto sulle loro app Fotocamera, e hanno iniziato a prendere misure di mitigazione.
La risposta di Google
“Apprezziamo Checkmarx che ha portato questo alla nostra attenzione e ha lavorato con Google e i partner Android per coordinare la divulgazione. Il problema è stato affrontato sui dispositivi Google interessati tramite un aggiornamento del Play Store all’applicazione Google Camera nel luglio 2019. Una patch è stata resa disponibile anche a tutti i partner.”
Raccomandazione di mitigazione
Per una corretta mitigazione e come best practice generale, assicurati di aggiornare tutte le applicazioni sul tuo dispositivo.
Tempistica della divulgazione
- 4 luglio 2019 – Presentato un rapporto di vulnerabilità al team di sicurezza di Android di Google
- 4 luglio 2019 – Google ha confermato di aver ricevuto il rapporto
- 4 luglio 2019 – Un PoC “app dannosa” è stato inviato a Google
- 5 luglio, 2019 – Un video PoC di uno scenario di attacco è stato inviato a Google
- 13 luglio 2019 – Google ha impostato la gravità della scoperta come “Moderata”
- 18 luglio 2019 – Inviato un ulteriore feedback a Google
- 23 luglio, 2019 – Google ha aumentato la gravità della scoperta a “Alta”
- 1 agosto 2019 – Google conferma il nostro sospetto che le vulnerabilità possano interessare altri fornitori di smartphone Android e rilascia CVE-2019-2234
- 18 agosto, 2019 – Più fornitori sono stati contattati per quanto riguarda le vulnerabilità
- 29 agosto 2019 – Samsung ha confermato di essere interessata
- novembre 2019 – Sia Google che Samsung hanno approvato la pubblicazione
Nota: Questa pubblicazione è stata coordinata con Google e Samsung dopo la loro conferma del rilascio di un fix. Si prega di fare riferimento a Google per informazioni riguardanti la versione corretta del sistema operativo Android e dell’app Google Camera.
Parole finali
La professionalità dimostrata sia da Google che da Samsung non passa inosservata. È stato un piacere lavorare con entrambi per la loro reattività, completezza e tempestività.
Questo tipo di attività di ricerca fa parte dei nostri sforzi continui per guidare i cambiamenti necessari nelle pratiche di sicurezza del software tra i fornitori che producono smartphone e dispositivi IoT basati sul consumatore, portando al contempo una maggiore consapevolezza della sicurezza tra i consumatori che li acquistano e li utilizzano. Proteggere la privacy dei consumatori deve essere una priorità per tutti noi nel mondo di oggi, sempre più connesso.
Leggi il rapporto completo, redatto da Pedro Umbelino, Senior Security Researcher, qui.
https://en.wikipedia.org/wiki/Google_Camera
https://developer.android.com/guide/components/intents-filters
https://en.wikipedia.org/wiki/Exif
- Vulnerabilità di Android
- Consapevolezza della sicurezza delle applicazioni
- Vulnerabilità della sicurezza delle applicazioni
- Checkmarx Security Research Team
- Mobile App Security
- Esposizione del software
Erez Yalon
Erez Yalon guida il gruppo di ricerca sulla sicurezza di Checkmarx. Con una vasta esperienza di difensori e aggressori e come ricercatore di sicurezza indipendente, porta al tavolo conoscenze e competenze inestimabili. Erez è responsabile del mantenimento della tecnologia di rilevamento delle vulnerabilità di Checkmarx, dove entra in gioco la sua precedente esperienza di sviluppo con una varietà di linguaggi di codifica.