Come faccio a verificare che WhatsApp utilizzi la crittografia end-to-end?

50

Notizie leggermente vecchie: Whatsapp ha appena attivato la crittografia end-to-end per centinaia di milioni di utenti

C'è qualche test che posso eseguire per verificare che WhatsApp stia effettivamente utilizzando la crittografia end-to-end tra il mio e un altro telefono Android?

    
posta Ansis Māliņš 13.01.2015 - 12:15
fonte

5 risposte

39

Non è disponibile alcun controllo rapido per garantire che venga utilizzata la crittografia end-to-end. Anche se riesci a ottenere questa conferma, devi assicurarti che le chiavi di crittografia utilizzate non abbiano mai lasciato il tuo dispositivo (e il dispositivo del tuo amico). Se viene utilizzata la crittografia end-to-end, ma WhatsApp o qualcun altro ha accesso alle chiavi di crittografia, la chat non è più riservata.

Vi sono alcune informazioni disponibili che possono consentire a un ricercatore della sicurezza di iniziare a indagare sulla questione:

  • Il software di crittografia è noto e il codice è open source (anche se non sappiamo quali modifiche sono state apportate all'implementazione di WhatsApp)

WhatsApp will integrate the open-source software Textsecure, created by privacy-focused non-profit Open Whisper Systems, which scrambles messages with a cryptographic key that only the user can access and never leaves his or her device

P.S .: C'è almeno un modo per dire se sono non utilizzando la crittografia end-to-end e analizzando il contenuto dei tuoi messaggi. Qualche tempo fa, un ricercatore di sicurezza ha scoperto che gli URL inviati in messaggi Skype sono accessibili da indirizzi IP Microsoft ( link ). Puoi provare la stessa cosa configurando un server web e inviando alcuni URL univoci su WhatsApp.

    
risposta data 13.01.2015 - 17:02
fonte
12

In realtà ho lavorato sul reverse engineering del protocollo WhatsApp qualche tempo fa. A quel tempo, era crittografato tramite SSL su Wi-Fi e cleartext su 3G. È possibile eseguire il root del dispositivo Android e installare uno sniffer di pacchetti locale per scaricare il traffico; di solito è anche possibile installare il proprio certificato di CA su MITM Traffico SSL.

La domanda interessante sarà se è crittografato all'interno del wrapper SSL, perché SSL è device-to-server, non end-to-end.

L'invio di un messaggio M, dovrebbe produrre un pacchetto P, di dati inviati, possibilmente frammentati. Se il dispositivo ricevente non ottiene P, ma invece ottiene qualcosa di diverso, non è crittografato correttamente end-to-end o c'è un sistema di "tunneling" in corso.

    
risposta data 13.01.2015 - 18:30
fonte
6

No. A meno che tu non abbia le risorse per inserire gli sniffer in ogni posizione intermedia, inclusi quelli privati nell'infrastruttura di WhatsApp.

    
risposta data 13.01.2015 - 14:23
fonte
2

Per essere veramente sicuri, dovresti decompilare WhatsApp e controllare cosa fa effettivamente il codice. Questo potrebbe essere più facile del previsto se la versione di Android è scritta in Java e non è offuscata. Ho fatto questo prima e il codice decompilato era sorprendentemente leggibile.

Anche dopo, potrebbe esserci una debolezza (non) intenzionale incorporata nel sistema che consentirebbe la decodifica, come ad esempio il famigerato Apple goto fail bug .

    
risposta data 14.01.2015 - 17:33
fonte
1

I messaggi di WhatsApp sono già crittografati tra il dispositivo e i loro server, quindi uno sniffer di pacchetti non funzionerà. AFAIK stanno distribuendo tranquillamente la crittografia e iniziando con i messaggi di solo testo Android. Quindi l'unico modo in cui potrei pensare sarebbe quello di decodificare l'app. Comunque penso che l'ultima versione dell'app per Android andrà end-to-end.

    
risposta data 03.04.2015 - 04:53
fonte

Leggi altre domande sui tag