Vulnerabilità di sicurezza Whatsapp

A marzo Rolf Weber ha scritto di una potenziale vulnerabilità nel protocollo WhatsApp che permetterebbe a Facebook di aggirare la perfect forward secrecy modificando le chiavi degli utenti, permettendogli – o, più probabilmente, permetterebbe al governo – d’intercettare i messaggi cifrati.

Sembra che questa vulnerabilità sia reale:

WhatsApp può, per qualsiasi messaggio che non sia stato contrassegnato come inviato, forzare la generazione di nuove chiavi di cifratura per gli utenti non in linea all’insaputa del mittente e del destinatario dei messaggi e consentire al mittente di ri-cifrarli con nuove chiavi e rinviarli.

Il destinatario non è a conoscenza di questo cambiamento della cifratura, mentre il mittente lo sarà soltanto se ha accettato di ricevere gli avvisi di crittografia nelle impostazioni e solamente dopo che i messaggi saranno stati ri-inviati. Questa ri-codifica e ritrasmissione permette, a tutti gli effetti, a WhatsApp d’intercettare e leggere i messaggi degli utenti.

La lacuna di sicurezza è stata scoperta da Tobias Boelter, crittografo e ricercatore presso l’Università della California, Berkeley. Ha detto al Guardian: “Se a WhatsApp venisse chiesto da un ente governativo di rivelare i propri record di messaggistica, potrebbe efficacemente concedere l’accesso grazie alla modifica delle chiavi.”

La vulnerabilità non riguarda il protocollo di Signal. L’app di messaggistica di Open Whisper Systems, Signal, utilizzata e raccomandata dal whistleblower Edward Snowden, non soffre della stessa vulnerabilità. Se un destinatario cambia la chiave di sicurezza in modalità offline, ad esempio, un messaggio inviato non verrà consegnato e il mittente riceverà una notifica del cambio delle chiavi senza rinviare automaticamente il messaggio.

L’implementazione di WhatsApp rinvia automaticamente un messaggio non recapitato con una nuova chiave senza avvisare l’utente in anticipo, o senza la possibilità d’impedirlo.

Si tratta di un attacco contro i messaggi presenti e futuri e non qualcosa che permetterebbe al governo d’accedere al passato. Quindi non è più preoccupante del governo che viola il vostro cellulare e legge le vostre conversazioni WhatsApp.

Un anonimo “portavoce WhatsApp” ha detto che la cifratura è stata implementata in questo modo per l’usabilità:

Nell’implementazione di WhatsApp del protocollo Signal c’è l’impostazione “Mostra notifiche di sicurezza” (opzione in Impostazioni> Account> Sicurezza) che avvisa l’utente quando il codice di sicurezza di un contatto è cambiato. Conosciamo le ragioni più comuni per le quali questo accade: qualcuno ha cambiato telefono, o reinstallato WhatsApp. Questo perché in molte parti del mondo le persone cambiano frequentemente i dispositivi e le schede SIM. In questi casi vogliamo fare in modo che i messaggi vengano consegnati, non persi in itinere.

Tecnicamente corretto. Non è una backdoor. Nemmeno una vera e propria falla. È una scelta di progettazione che, in questo caso particolare, ha favorito l’usabilità a scapito della sicurezza. Moxie Marlinspike, creatore di Signal e del codice base che soggiace alla crittografia di WhatsApp, l’ha espresso apertamente:

In circostanze normali, quando si comunica con un contatto che ha recentemente cambiato i dispositivi o reinstallato WhatsApp, potrebbe essere possibile inviare un messaggio prima che il client mittente scopra che il client destinatario possegga le nuove chiavi. Il dispositivo del destinatario risponde immediatamente e chiede al mittente di cifrare nuovamente il messaggio con la coppia di chiavi della nuova identità del destinatario. Il mittente visualizza la notifica “il numero di sicurezza è cambiato”, cifra di nuovo il messaggio e lo consegna.

I client WhatsApp sono stati progettati in modo da non cifrare nuovamente messaggi già consegnati. Una volta che il client mittente mostra un “segno di doppia spunta”, non può più rinviare il messaggio. Questo impedisce in caso di compromissione del server di ri-cifrare selettivamente i messaggi precedentemente consegnati.

Il fatto che WhatsApp gestisca le modifiche alle chiavi non è una “backdoor”, è la crittografia. Qualsiasi tentativo d’intercettare i messaggi in trasmissione dal server è rilevabile da parte del mittente, proprio come con Signal, PGP, o qualsiasi altro sistema di comunicazione end-to-end cifrato.

L’unica cosa ragionevole da chiedersi sarebbe se queste notifiche alla modifica del numero di sicurezza dovrebbero essere “bloccabili” o “non-bloccabili”. In altre parole, quando la chiave di un contatto cambia, WhatsApp dovrebbe richiedere all’utente di verificare manualmente la nuova chiave prima di continuare, o dovrebbe visualizzare una notifica e continuare senza bloccare l’utente?

Data la dimensione e la portata degli utenti WhatsApp, riteniamo che la loro scelta di visualizzare una notifica di non-blocco sia appropriata. Fornisce un’affidabilità trasparente e crittograficamente garantita nella privacy della comunicazione dell’utente, con una semplice esperienza utente. La scelta di “bloccare” tali dati peggiorerebbe le cose . Alcune informazioni potrebbero trapelare dal server su chi avesse abilitato le notifiche alla modifica del numero di sicurezza e chi no, comunicando effettivamente al server chi potesse essere vittima di MITM in modo trasparente e chi non potesse; qualcosa che WhatsApp ha considerato con molta attenzione.

Quanto seriamente dipende dal vostro modello di rischio. Se siete preoccupati che il governo degli Stati Uniti – o qualsiasi altro governo che possa esercitare pressioni su Facebook – spii i vostri messaggi, allora questa è una modesta vulnerabilità. In caso contrario non è nulla di cui preoccuparsi.

Thread di Slashdot. Thread di Hacker News. Post di BoingBoing. Altri sono qui .

(Il post è stato tradotto grazie all’esplicita autorizzazione di Schneier on Security)

Fonte: WhatsApp Security Vulnerability

Written by admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *