WhatsApp è il software di messaggistica istantanea più diffuso nel mercato mobile, un’applicazione multipiattaforma semplice ed immediata in grado di generare un traffico stimato in 10 miliardi di messaggi testuali al giorno.
Di recente un gruppo di ricercatori ha scovato alcune vulnerabilità nel codice dell’applicazione che potrebbero consentire a chiunque di decrittare i messaggi privati degli utenti attraverso una connessione remota: l’autore principale della scoperta è Thijs Alkemade, uno studente di informatica dell’Università di Utrecht che lavora al progetto di messaggistica istantanea Adium.
Nel post intitolato “Piercing Through WhatsApp’s Encryption” Alkemade ha sottolineato come WhatsApp di recente sia stato vittima di numerosi problemi riguardanti la sicurezza, che spaziano dal furto delle password alla decriptazione dei messaggi.
“A questo punto dobbiamo assumere che chiunque, con il giusto impegno, potrebbe essere in grado di intrufolarsi nella vostra connessione WhatsApp e decrittare i messaggi privati. Se l’eventualità si con concretizzasse dovreste considerare tutte le vostre precedenti conversazioni di WhatsApp compromesse. Non c’è nulla che possiate fare per eliminare il problema, a parte smettere di utilizzare l’applicazione in attesa che gli sviluppatori rilascino un update”, ha affermato Alkemade.
WhatsApp utilizza l’algoritmo di cifratura RC4 per generare stream di bytes che vengono successivamente criptati ricorrendo alla codifica simmetrica XOR. Gli algortimi sono semplici e richiedono un dispendio di risorse minimo, ma, nel caso di WhatsApp, usano le stesse chiavi di HMAC e di codifica in entrambe le direzioni: questo potrebbe consentire ad un utente malintenzionato di recuperare facilmente la maggior parte del testo dei messaggi inviati e ricevuti.
I ricercatori olandesi, dopo aver scoperto che WhatsApp adotta le stesse chiavi di cifratura per gli stream di byte in ingresso e in uscita, hanno escogitato un semplice sistema di decrittazione: “we know that ciphertext byte i on the incoming stream xored with ciphertext byte i on the outgoing stream will be equal to xoring plaintext byte i on the incoming stream with plaintext byte i of the outgoing stream. By xoring this with either of the plaintext bytes, we can uncover the other byte.”
La tecnica adottata non rivela direttamente tutti i byte dello stream, ma nella maggior parte dei casifunziona e permette all’utente malintenzionato di intuire con facilità la struttura complessiva del testo partendo da una piccola porzione di messaggio decrittata.
Sfruttare la seconda debolezza del codice di WhatsApp, quella relativa all’HMAC, è stato più impegnativo: “TLS counters this by including a sequence number in the plaintext of every message and by using a different key for the HMAC for messages from the server to the client and for messages from the client to the server. WhatsAppdoes not use such a sequence counter and it reuses the key used for RC4 for the HMAC.”
Alkemade è stato molto critico nei confronti del team di sviluppo di WhatsApp: “There are many pitfalls when developing a streaming encryption protocol. Considering they don’t know how to use a xor correctly, maybe the WhatsApp developers should stop trying to do this themselves and accept the solution that has been reviewed, updated and fixed for more than 15 years, like TLS.”.
Le critiche di Alkemade sono giustificate dall’ampia diffusione di WhatsApp, che trasforma le vulnerabilità del software in una seria minaccia per la privacy.
FONTE: daringtodo.com