Sono numerose le applicazioni sul Google Play Store, alcune anche molto famose come Grindr, OKCupid, Bumble, Moovit, Edge, XRecorder, Viber e Booking, che risultano essere a rischio hacking a causa di una nota vulnerabilità, identificata come CVE-2020-8913, che consente agli attaccanti di ottenere l’accesso completo a tutte le risorse del dispositivo Android su cui sono installate.
In particolare, il vecchio bug è stato isolato nella libreria Play Core di Google e consente di sfruttare le app vulnerabili per sottrarre dati sensibili come credenziali, password e dati di pagamento da altre applicazioni sullo stesso dispositivo
La vulnerabilità era già nota ed è stata prontamente corretta da Google, per poi essere resa pubblica fin da agosto con uno specifico avviso di allerta del NIST, ma gli sviluppatori hanno tardato nell’inserire la patch nelle loro applicazioni, con il risultato di mantenerle vulnerabili e mettendo in pericolo centinaia di milioni di utenti Android.
Indice degli argomenti
Vulnerabilità nelle applicazioni Android: danni e rischi associati
In particolare, la vulnerabilità consente a un aggressore di inoculare malware all’interno del codice di applicazioni vulnerabili, garantendo l’accesso a tutte le risorse e tutti i dati dell’hosting, quindi del dispositivo che ospita queste app.
Aviran Hazum, Manager of Mobile Research di Check Point, spiega che “se un’applicazione dannosa la sfrutta può ottenere l’esecuzione del codice all’interno delle app più diffuse, ottenendo lo stesso accesso di quella vulnerabile. Ad esempio, la vulnerabilità potrebbe consentire a un aggressore di inserire il codice nelle app dei social media per spiare le vittime, o diffondere il codice nelle app di messaggistica istantanea per recuperare i messaggi o anche rubare codici per l’autenticazione a due fattori o di diffondere codice nelle app bancarie per ottenere le credenziali. Le possibilità di attacco in questo caso sono infinite come l’immaginazione dell’hacker stesso”.
Il difetto, come dicevamo, riguarda la libreria Play Core di Google che permette agli sviluppatori di aggiungere aggiornamenti in-app e nuovi moduli di funzionalità nelle loro app Android.
La vulnerabilità rende possibile l’aggiunta di moduli eseguibili a qualsiasi app che utilizzi la libreria, il che significa che il codice arbitrario può essere eseguito al suo interno. Un aggressore, con una malware app installata sul dispositivo della vittima, potrebbe rubare tutte le sue informazioni private.
L’azienda Check Point ha diffuso un video che dimostra lo sfruttamento della vulnerabilità nel codice della libreria Play Core di Android per un attacco di Account Takeover. I ricercatori hanno preso una versione vulnerabile dell’app di Google Chrome e hanno creato un payload dedicato per accaparrarsi i suoi segnalibri.
Le dimostrazioni mostrano come qualcuno possa prendere possesso dei cookie per utilizzarli come mezzo per corrompere una sessione esistente con servizi di terze parti, come Dropbox.
Una volta che un payload viene “iniettato” in Google Chrome, avrà lo stesso accesso dell’app Google Chrome ai dati, come i cookie, la cronologia e i segnalibri per i dati, e il gestore di password come servizio.
La reazione a catena sfruttata dall’attacco può essere strutturata in quattro fasi distinte:
- Installazione dell’app vulnerabile e dannosa.
- Sfruttamento di un’applicazione con una versione vulnerabile di Google Play Core (GPC).
- Gestione da GPC del payload, per caricarlo ed eseguire l’attacco.
- Accesso del payload a tutte le risorse disponibili.
Vulnerabilità nelle applicazioni Android: cosa fare subito
Google ha fornito la patch a copertura del bug a partire dal 6 aprile 2020, con un rating di gravità pari a 8,8, su 10, ma affinché il problema venga definitivamente risolto è necessario che la patch sia inserita dagli sviluppatori stessi anche nelle rispettive applicazioni.
La vulnerabilità CVE-2020-8913 è veramente pericolosa, sostiene ancora Aviran Hazum, tanto che è stato deciso da Check Point di selezionare un numero random di app comuni per vedere quali sviluppatori abbiano effettivamente implementato la patch fornita da Google.
Il 13% delle app Google Play analizzate dai ricercatori ha utilizzato la libreria Google Play Core, di cui l’8% ha continuato ad avere una versione vulnerabile. Ad una prima analisi, le app ancora vulnerabili per le quali era necessario aggiornare la versione su Android erano:
- Social – *Viber
- Travel – *Booking
- Business – Cisco Teams
- Maps and Navigation – Yango Pro (Taximeter), Moovit
- Dating – Grindr, OKCupid, Bumble
- Browsers – Edge
- Utilities – Xrecorder, PowerDirector
Ulteriori test hanno dimostrato che Viber e Booking hanno ricevuto la patch, per cui conviene installare subito l’aggiornamento delle app.
Google, contattata da Check Point in merito alla situazione, ha dichiarato che “la relativa vulnerabilità CVE-2020-8913 non esiste nelle versioni aggiornate di Play Core”.
Oltre all’aggiornamento mediante la patch, l’azienda israeliana suggerisce l’adozione di strumenti capaci di proteggere da vettori di attacchi, che sfruttano il download di applicazioni dannose e di applicazioni con malware incorporato.
Il commento di Aaron Visaggio, dell’ISWHAT LAB
Sebbene l’attacco abbia potenzialmente conseguenze molto gravi – spiega il Prof. Visaggio, professore associato del Dipartimento di Ingegneria dell’Università del Sannio e Direttore del ISWHAT LAB – come la possibilità di furto di credenziali (bancarie o di accesso a risorse aziendali), metterlo in pratica richiede che comunque la vittima scarichi un’applicazione malevola che possa iniettare il payload nell’app vittima.
È un’architettura di attacco non del tutto banale, ma non impossibile da realizzare. Questo meccanismo richiama ancora una volta l’urgente problema dell’attenzione del singolo utente, il cosiddetto “human firewall”, verso comportamenti cauti e responsabili nell’uso della tecnologia, come non scaricare app da mercati di terze parti o evitare di rimuovere le misure di sicurezza dallo smartphone per poter essere più “liberi” e cioè assumere atteggiamenti che espongono a dei rischi.
Punto più tecnico ma a mio avviso ancora più urgente, è risolvere il problema del modello di attacco così detto di “watering hole”, nato per il web ma replicato su altri ecosistemi: in questo modello di attacco si colpisce un end-point usato da un numero elevatissimo di potenziali vittime, avendo di fatto, colpito solo l’end-point.
Il procedimento, molto noto e sfruttato dagli attaccanti in numerosi contesti, soprattutto nel web o negli attacchi rivolti al flashing dei dispositivi, necessita di una profonda riflessione da parte dei produttori di tecnologia.
Detta riflessione non deve fermarsi alla sola maggiore attenzione (da porre verso i pen test, l’adozione di tecniche di defensive programming e la prassi di svolgere affidabili ispezioni di codice per la sicurezza), ma deve anche garantire elevata robustezza alle librerie, ai dispositivi e al software ovvero a tutte quelle risorse che possono generare l’effetto del watering hole.
Sebbene la vulnerabilità in questione sia stata “patchata” ad aprile, ancora a settembre diverse decine di migliaia di applicazioni erano ancora vulnerabili, perché gli sviluppatori non aggiornavano le loro app con una versione della Google Play Core Library sicura.
Quindi questa vulnerabilità ha mostrato anche la debolezza del meccanismo del crowdsourcing, laddove cioè si lascia chiunque libero non tanto di produrre, quanto di manutenere software che viene distribuito a milioni di utenti, con l’evidente effetto collaterale di non essere sempre tempestivi nell’aggiornare le proprie app.
Questo problema è analogo, per esempio, all’uso di codice preso da forum come Stack Overflow; in effetti, è stato già evidenziato in letteratura di codice insicuro prelevato dai forum e inserito, nella sua versione insicura e vulnerabile, in software open source, mentre per quelli closed source non si dispone ancora di studi.
Quindi, per concludere, al di là di invocare una maggiore consapevolezza negli utenti, quello che serve davvero ora e con urgenza è rivedere questi ecosistemi basati sul crowd sourcing, perchè le vulnerabilità potrebbero essere fortemente limitate dall’adozione di processi più rigorosi e robusti.