È ormai noto da alcuni giorni che Whatsapp Inc. ha denunciato la società israeliana NSO per aver utilizzato alcune falle nel celebre sistema di messaggistica al fine d’inoculare malware negli smartphone di oltre un migliaio di vittime, tra le quali politici, giornalisti e attivisti. Ma come è potuto accadere stante la crittografia end-to-end e, soprattutto, come i nostri dati sono al sicuro?
La denuncia di Whatsapp è pubblica
Cominciamo col dire che gli atti sono pubblici: Whatsapp ha predisposto una pagina con il riassunto di ciò che è successo dove spiega come a maggio 2019 ha interrotto un attacco sofisticato che ha sfruttato un baco sul sistema di videochiamate dell’App per infettare circa 1.400 utenti della piattaforma.
Per documentare le proprie osservazioni, Whatsapp ha persino messo online la denuncia completa degli allegati che descrive le doglianze di cui lamenta e per le quali chiede giustizia. Una lettura interessante e in parte piuttosto tecnica che percorre a fondo quelli che sono i contorni di questa vicenda che ha avuto conseguenze non soltanto sulla tecnologia ma anche sulle persone.
NSO ha risposto alla BBC che nega ogni accusa e che il solo scopo dei software prodotti è quello di supportare le agenzie d’intelligence dei governi e le forze dell’ordine a combattere il terrorismo e crimini. In sostanza, non negano che siano state sfruttate vulnerabilità di Whatsapp ma precisano che il loro software non deve essere utilizzato per violare diritti umani
Lo scenario
Da aprile 2016 Whatsapp cifra le comunicazioni degli utenti tramite un protocollo end-to-end che garantisce la privacy degli utenti e la riservatezza delle loro comunicazioni sia nei confronti di terzi sia nei confronti di Whatsapp stesso. Gli inquirenti si chiedono, da allora, come intercettare Whatsapp e come avere accesso alle comunicazioni private degli utilizzatori del sistema. A differenza della linea telefonica tradizionale, infatti, con Whatsapp gli utenti sanno di poter contare su di un protocollo di comunicazione protetto, oltre che da orecchie od occhi indiscreti, anche dagli accessi legittimi dell’Autorità giudiziaria.
Dato che la comunicazione avviene su un canale protetto, si è reso indispensabile poter avere accesso diretto al dispositivo per poter visionare o ascoltare i messaggi e le chiamate. Le società che si occupano d’intercettazioni hanno impiegato enormi risorse per trovare punti d’ingresso verso i dispositivi degli utenti, finalizzati a infettare i sistemi e poter così acquisire le comunicazioni in tempo reale, oltre ovviamente ai dati presenti sui dispositivi.
L’attacco
L’attacco descritto nella denuncia è basato su un baco rinvenuto nel sistema di videochiamata di Whatsapp, descritto in dettaglio nell’analisi tecnica di Citizen Lab. Il vettore d’infezione del software israeliano era infatti, tra gli altri, una videochiamata Whatsapp che permetteva d’infettare i dispositivi dei riceventi anche in caso di chiamata non risposta. Le tracce della telefonata, poi, venivano rimosse, in modo da non rendere visibile l’avvenuta infezione e lasciare che il malware operasse indisturbato. Una volta infettato il dispositivo, infatti, il software della società israeliana era in grado d’intercettare telefonate, messaggi, video e audio Whatsapp essendo già inserito all’interno del processo dell’applicazione di messaggeria istantanea.
Whatsapp è stato in grado di rilevare l’attacco e ricostruire come questo è stato portato avanti in modo da poter avvisare le vittime di quanto avvenuto. Le infezioni sono infatti state portate avanti utilizzando utenze specifiche e account che, una volta identificati, hanno permesso di ricostruire periodi di azione e bersagli.
La cifratura
La cifratura di Whatsapp, quindi ha resistito e sembra resistere fin dal principio. Il protocollo di gestione della chiave crittografica e della cifratura è robusto ed è stato testato in diversi contesti da cui non sono emerse vulnerabilità note. Non ha quindi senso tentare di forzare l’algoritmo o trovare la chiave, considerato anche che gli utenti hanno la possibilità di verificare se la comunicazione viene cifrata con una unica chiave comune oppure c’è un intruso sul canale che sta agendo da “man in the middle” decifrando e cifrando in ogni verso.
In passato alcune risorse non erano cifrate, oggi tutto ciò che passa all’interno del canale di comunicazione è crittografato e sicuro, quindi non c’è più modo d’intercettare ciò che viaggia all’interno collegamento tra due o più utenti. Acquisendo il traffico di rete di una comunicazione Whatsapp, infatti, si ottiene semplicemente un traffico incomprensibile e inutilizzabile, dato che le chiavi con cui la comunicazione viene cifrata non sono rese disponibili.
Come intercettare Whatsapp
Alla domanda su come intercettare Whatsapp, a questo punto, non si può rispondere che è sufficiente forzare la cifratura delle comunicazioni, perché risulta a oggi piuttosto sicura. Rimane la possibilità di forzare il telefono, cioè accedere in qualche modo al contenuto dello stesso e poter quindi leggere direttamente i database dell’applicazione d’instant messaging e i file multimediali allegati a chat e gruppi.
Tra l’altro, il database delle chat è memorizzato in chiaro sul dispositivo, quindi potenzialmente leggibile senza alcun tipo di cifratura. Il limite è che l’accesso al database, nelle versioni recenti di Whatsapp, è concesso solamente all’App stessa. Esistono però versioni del software obsolete fa che permettevano di accedere sia al database delle chat sia alle chiavi di cifratura dei backup così come possibilità di rooting temporaneo che permettono a software appositamente sviluppati di accedere per qualche istante al database e prelevare i messaggi. Rimane poi sempre la possibilità, per eventuali software malevoli, di acquisire le schermate dello smartphone, dove vengono mostrati gruppi e messaggi visionati dal proprietario del dispositivo.
Whatsapp, inoltre, produce backup che su Android vanno a finire nell’account Google Drive, mentre su iOS vanno a finire sull’account iCloud. Un tempo i backup di Whatsapp sul Cloud erano non erano cifrati ed erano visibili a chiunque avesse accesso all’area privata dell’utente. Da un paio di anni anche i backup delle chat vengono cifrati, riducendo quindi di molto la superficie d’attacco. Era infatti semplice, in passato, intercettare Whatsapp accedendo alla copia su cloud dei database dell’App ottenendo le credenziali degli account Google o iCloud. Oggi è necessario avere a disposizione anche le chiavi di cifratura con le quali vengono protetti i database, che sono memorizzate esclusivamente sui dispositivi o generabili tramite il protocollo di Whatsapp stesso a patto di avere accesso alla SIM sulla quale è attestata l’utenza e alle credenziali degli account Google o iCloud.
Questo tipo d’intercettazione di Whatsapp è ancora possibile ma è necessario possedere anche i dati dell’account Google o Apple e la chiave di cifratura con la quale vengono criptati i contenuti delle chat archiviate sul cloud. In alcuni casi, avendo già un backup, si riesce a bypassare l’accesso a Google o iCloud dovendo solamente dimostrare di avere accesso alla SIM utilizzata per l’attivazione del profilo Whatsapp. Ottenere la chiave di cifratura del database Whatsapp non è banale: si può ricavare dal dispositivo tramite un accesso in modalità “root” oppure installando una versione di Whatsapp obsoleta che non proteggeva la cartella dei dati, cosa però che non può facilmente essere fatta all’insaputa dell’utente. Questo metodo – utilizzato di frequente in informatica forense – si chiama APK downgrade e consiste proprio nell’installare una versione di Whatsapp che non bloccava l’accesso alla chiave né ai database in chiaro, permettendo quindi l’acquisizione degli stessi.
Rimane infine il sempreverde “Whatsapp Web”, il sistema che permette di accedere a un account Whatsapp da un altro dispositivo, che però rispetto al passato è più difficile da utilizzare senza destare sospetti. La vittima che viene monitorata tramite “Whatsapp web” vede, infatti, costantemente un messaggio di allerta proposto dall’App che indica come sia attivo un canale di visualizzazione delle chat su di un altro dispositivo.
Come difendersi dalle intercettazioni su Whatsapp
Dovrebbe essere chiaro a questo punto che un’intercettazione basata su un attacco perpetrato sfruttando vulnerabilità non note di un’App è difficilmente evitabile, se non rinunciando a utilizzare l’App specifica fin dal principio. Da valutare quindi la reale necessità di utilizzo di particolari programmi in ambiti dove la riservatezza e la sicurezza sono un requisito essenziale (come Signal), eventualmente separando su due dispositivi diversi le informazioni riservate o l’accesso ad account di posta e cloud lavorativi e i programmi di messaggistica, così da ridurre il rischio.
In ogni caso, la compromissione può avvenire anche tramite altre App, email, SMS o mediante link contenenti codice malevolo sui quali l’utente può essere invitato a cliccare. Per questo motivo, è consigliabile sempre massima attenzione nei confronti di link contenuti in messaggi, SMS o email anche provenienti da contatti noti, perché potrebbero facilmente essere “forgiati” per contenere materiale pericoloso.
Così come per i computer, è consigliabile installare sul proprio dispositivo mobile antivirus, firewall e se possibile una VPN, per filtrare il traffico e controllarne un minimo l’andamento, per quanto senza un’attenzione specifica una connessione malevola potrebbe tranquillamente sfuggire alle verifiche. Altro consiglio sempre valido è quello di mantenere aggiornato il sistema e le sue applicazioni, applicando patch e update man mano che risultano disponibili. Spesso i meccanismi d’infezione utilizzano vulnerabilità di Sistemi Operativi o delle App che sono state eliminate dai produttori ma è necessario che gli utenti aggiornino a loro volta il loro sistema e le relative applicazioni.