I ricercatori della società di sicurezza mobile Appthority lanciano l’allarme: i database per la memorizzazione dei dati utente di migliaia di applicazioni per Android e iOS, gestiti mediante la piattaforma cloud Google Firebase, non sono adeguatamente protetti esponendo così oltre 100 milioni di record di dati ad occhi indiscreti.
Sappiamo bene che sugli store on-line è facile imbattersi in migliaia di app malevoli che promettono funzioni incredibili per il nostro dispositivo mobile, salvo poi dimostrarsi più attente a rubare dati personali e informazioni riservate. Ma a quanto pare adesso dobbiamo prestare attenzione anche a quelle app assolutamente legittime ma pubblicate da sviluppatori per così dire distratti, che si “dimenticano” di utilizzare le necessarie misure di sicurezza per prevenire ogni possibile attacco o intrusione.
Indice degli argomenti
Una distrazione che può costare caro
La piattaforma Google Firebase, lo ricordiamo, è una delle più popolari per lo sviluppo di applicazioni mobili e web poiché offre la possibilità di usare API pronte all’uso e un database archiviato sul cloud e memorizza i dati in formato JSON, permettendo così di sincronizzarli in tempo reale con tutti i client connessi.
I ricercatori di sicurezza hanno quindi scoperto che molti sviluppatori di applicazioni non provvedono a proteggere adeguatamente gli accessi ai database mediante firewall o procedure di autenticazione, lasciando centinaia di gigabyte di dati sensibili degli utenti accessibili a chiunque in maniera assolutamente banale: un eventuale malintenzionato, infatti, riesce ad accedere semplicemente aggiungendo il suffisso /.json con un nome di database vuoto alla fine del nome host di accesso, secondo questo schema:
- API URL d’esempio: https://<Firebase project name>.firebaseio.com/<database.json>
- Payload per l’accesso: Data https://<Firebase project name>.firebaseio.com/.json
Per valutare la portata del pericolo di una simile vulnerabilità, i ricercatori hanno analizzato il comportamento di 2,7 milioni di app, scoprendone la presenza in oltre 3.000 (per l’esattezza: 2.446 app Android e 600 app iOS), catalogabili in diverse categorie. Ce n’è davvero per tutti i gusti: app per le telecomunicazioni, finanziarie, postali, educative, istituzionali, dedicate allo sport e alla salute, fino a quelle per la gestione delle criptomonete.
Dall’analisi tecnica i ricercatori sono riusciti ad estrarre ben 113 gigabyte di dati tra cui:
- 2,6 milioni di password e user ID
- 4 milioni di informazioni sanitarie protette e prescrizioni mediche scambiate mediante messaggi di chat
- 25 milioni di record relativi alle posizioni GPS degli utenti
- 50.000 registrazioni finanziarie incluse transazioni bancarie, di pagamento e scambio Bitcoin
- più di 4,5 milioni di token utente per Facebook, LinkedIn e archivi aziendali
L’importanza di un’attenta programmazione
Ma com’è possibile che una semplice distrazione o comunque un banale errore di programmazione possa mettere a rischio in questo modo i nostri preziosi dati personali? Lo abbiamo chiesto a Claudio Telmon, di P4i e IT Risk and security advisor, membro del Comitato Direttivo e del CTS di CLusit: “Uno dei pregi dell’ecosistema delle app è che chiunque abbia un’idea valida può, con uno sforzo limitato, realizzare una app che concretizzi quell’idea in un servizio immediatamente disponibile a milioni di persone. Purtroppo, questa stessa facilità di realizzazione fa sì che non ci siano grandi garanzie sulla qualità e sicurezza delle app che vengono realizzate. L’esposizione di dati all’accesso indiscriminato attraverso Internet è uno dei rischi tipici dei servizi in cloud. Si tratta di un rischio che si può mitigare, fra l’altro, attraverso un’adeguata autenticazione. Nel caso di Google Firebase, l’autenticazione è proprio la parte implementata in modo carente da migliaia di app”.
“Il Working Party 29 – ricorda ancora Telmon, nel proprio “Statement of the WP29 on encryption and their impact on the protection of individuals with regard to the processing of their personal data in the EU” dell’aprile scorso ha sottolineato l’importanza della cifratura dei dati personali durante il trasferimento attraverso internet e quando memorizzati su dispositivi mobili quali gli smartphone”.
È sempre meglio crittografare i dati sul cloud
Secondo Clausio Telmon, quindi, “queste stesse protezioni dovrebbero essere adottate per i file e i database accessibili in cloud, proprio perché i meccanismi di autenticazione potrebbero essere realizzati in modo carente, come in questo caso: uno dei principi di base della sicurezza è la difesa in profondità, ovvero avere più di una protezione, per non esporre i dati nel caso in cui una fallisca. Si dovrebbe quindi considerare sempre l’opportunità di cifrare i file e i dati condivisi attraverso Internet, seppure sempre in base ad una analisi dei rischi che bilanci i costi e i benefici. Ad esempio:
- i dati esportati su database in cloud, quando il database faccia solo da repository;
- i file condivisi tramite servizi in cloud o app;
- gli allegati di posta elettronica che contengano dati riservati, magari semplicemente con uno ZIP cifrato, la cui password venga condivisa con il destinatario via SMS”.
Il problema, dunque, è che la piattaforma Google Firebase non protegge, come impostazione predefinita, i dati degli utenti. A quanto pare, i ricercatori di Appthority avrebbero già fornito a Google un elenco di tutti i database vulnerabili individuati durante la loro analisi: non resta che sperare in una rapida soluzione di tutta la faccenda. Nel frattempo, possiamo approfondire il discorso su smartphone e sicurezza leggendo l’articolo di CyberSecurity360 che analizza tutte le minacce e le tecniche di difesa.