Persoon met Smartphone met WhatsApp app open

WhatsApp encryptie niet betrouwbaar

Laatst bijgewerkt: 29 januari 2019
Leestijd: 4 minuut, 42 seconden

Als onderdeel van een artikel voor het “c’t magazine” onderzocht het Heise Beveiliging team WhatsApp’s end-to-end encryptie. De resultaten tonen aan dat WhatsApp de sterke encryptie genaamd TextSecure gebruikt, maar dat Whatsapp deze beveiliging op een zodanige wijze gebruikt, dat het weinig effectief is in de praktijk.

Met groot bombarie werd in 2014 aangekondigd dat WhatsApp gebruik ging maken van de encryptie van TextSecure en daarmee erg veilig zou worden. Ondanks dat het bericht (veelal via vertrouwde media) velen bereikten, bleven er velen ook skeptisch op de echte waarde van deze beveiligingsstappen. Om deze vraag voor het artikel “WhatsApp entschlüsselt” in c’t 11/15 te beantwoorden, hebben de onderzoekers gekeken naar de encryptie zoals die momenteel wordt gebruikt door whatsapp.

Omdat whatapp closed source is hebben de onderzoekers zich geconcentreerd op het (internet) verkeer dat van en naar de app gaat. Omdat de librarys open source zijn, konden ze documenteren wat was ontcijferd en de berichten in plain text te laten zien.

Man-in-the-middle met Wireshark

De onderzoekers onderschepten het verkeer tussen de smartphone en de servers van Whatapp. Met behulp van ARP spoofing, lieten de onderzoekers de smartphone denken dat zij de router waren en de router denken dat ze de smartphone waren, een klassieke man-in-the-middle-aanval.
Op deze manier, ging al het netwerkverkeer op weg naar en verzonden door de smartphone langs hen. Met behulp van een plugin voor Wireshark, waren ze in staat om de datapakketten verzonden door WhatsApp te onderscheppen en onderzoeken. Echter, waren ze alleen in staat om de managementinformatie van het Jabber protocol te zien (dit protocol wordt gebruikt door WhatsApp). De inhoud van de berichten was – zoals verwacht – onleesbaar.

De smartphone stuurt berichten naar yowsup op een desktop PC. Op weg naar de WhatsApp-server, wordt de data onderschept door een laptop met behulp van Wireshark. De laptop stuurt het verkeer naar de server.

De smartphone stuurt berichten naar yowsup op een desktop PC. Op weg naar de WhatsApp-server, wordt de data onderschept door een laptop met behulp van Wireshark. De laptop stuurt het verkeer naar de server.

Zoals andere onderzoekers hebben gedocumenteerd, gebruikt WhatsApp een eigen encryptie die is gebaseerd op het problematische RC4-algoritme. Dit betekent dat het met succes kan worden aangevallen en RC4 dus als “gebroken” moet worden beschouwd. Bovendien lijkt de app dezelfde sleutel te gebruiken, die afgeleid is van het gebruikerswachtwoord, voor zowel inkomende als uitgaande berichten. Dit vergroot de kwetsbaarheid.

Als iemand WhatsApp berichten en masse zou willen analyseren, zijn de WhatsApp servers dé de plek om dit te doen, omdat ze de trans-it coderign decoderen en dus de berichten in gewone tekst opslaan. Tenzij er end-to-end versleuteling wordt gebruikt om dit te voorkomen. Één dergelijke bescherming zou dus eigenlijk moeten plaatsvinden, maar is tot op heden niet gedocumenteerd. WhatsApp heeft nooit officieel gesproken over end-to-end encryptie (E2E). Om dit te onderzoeken hebben de onderzoekers besloten om berichten door een Android-telefoon gestuurd te onderzoeken. Volgens Marlinspike, moeten deze berichten reeds voorzien zijn van E2E als de ontvangende kant dit ook ondersteunt.

Open source oplossing!

De open source tool yowsup kan worden gebruikt om het verzenden en ontvangen van WhatsApp berichten te regelen op een server of desktop PC. De huidige versie van YowSup ondersteunt een experimentele optie die het mogelijk maakt om de WhatsApp client op te starten met ondersteuning voor E2E-encryptie.

Deze patch wordt gebruikt om yowsup af te luisteren tijdens het encryptie proces van een binnenkomend bericht

Deze patch wordt gebruikt om yowsup af te luisteren tijdens het encryptie proces van een binnenkomend bericht

Voor het experiment herschreven ze een stuk code van YowSup waardoor de ontvangen ciphertext weggeschreven werd naar de command-line vóórdat deze wordt gedecodeerd. Om de cijfertekst, die is opgeslagen in het geheugen in binaire vorm laten zien, werd de logcode getransformeert naar hex vóórdat de output gegenereerd werd. Alleen ciphertext werd waargenomen in de door de Android smartphone verstuurde data.

Codeflow: Dit is hoe yowsup een inkomend bericht verwerkt dat is versleuteld met encryptie van TextSecure. De python-axolotl bibliotheek wordt aangeroepen om de gecodeerde tekst te ontcijferen.

Codeflow: Dit is hoe yowsup een inkomend bericht verwerkt dat is versleuteld met encryptie van TextSecure. De python-axolotl bibliotheek wordt aangeroepen om de gecodeerde tekst te ontcijferen.

Uit vervolgtests blijkt dat Android smartphones uitsluitend end-to-end versleutelde berichten naar ontvangers kunnen sturen die E2E encryptie ondersteunen. Deze berichten werden gecodeerd volgens de TextSecure protocol. Wanneer er berichten gestuurd werden naar iOS apparaten (iPhone), werden de ontvangen berichten niet door midddel van de E2E encryptie versleuteld.

Als onderdeel van de analyse van het netwerkverkeer is er geen bewijs gevonden dat erop zou wijzen dat de WhatsApp-client ook dezelfde gegevens zonder E2E bescherming aan de servers van whatsapp stuurt. Helaas zijn er vrij veel onbeantwoorde vragen na dit experiment overgebleven. Bijvoorbeeld: We weten niet of E2E encryptie daadwerkelijk wordt gebruikt in alle gevallen waarin dit mogelijk is of dat het wordt uitgeschakeld als er aan bepaalde criteria wordt voldaan – zoals verzoeken van inlichtingendiensten of wanneer het apparaat in gebruik is in een bepaald land. We weten wel dat het uitschakelen van de encryptie is ingebouwd, want WhatsApp clients verzonden berichten zonder E2E encryptie naar iPhones bijvoorbeeld.

We weten ook niet of de geheime sleutels gegenereerd door WhatsApp het apparaat kunnen verlaten onder bepaalde omstandigheden. Maar zolang WhatsApp de opdracht kan geven om de encryptie uit te schakelen, zonder dat je daar als gebruiker wat van merkt is het verkrijgen van de encyptiesleutels waarschijnlijk niet eens interessant..

Onzekerheid in overvloed

Dit lijkt de kern van het probleem met WhatsApp’s end-to-end encryptie zijn: Je weet nooit of de encryptie daadwerkelijk wordt gebruikt. Noch bij het verzenden noch bij het ontvangen van berichten met de officiële WhatsApp-client is er een indicatie wanneer E2E-encryptie gebruikt wordt.

Daarnaast speelt het feit dat, voor zover wij weten, WhatsApp nooit naar haar gebruikers het beloofd het gebruikt van E2E-encryptie te waarborgen. E2E-encryptie met WhatsApp blijft dus een onbetrouwbaar iets.

Hoofdauteur:

Meer artikelen uit het ‘Nieuws’ dossier

Reacties
Plaats een reactie
Een reactie plaatsen

Op zoek naar een VPN?

Bekijk ons overzicht met de meest betrouwbare, snelle en veilige VPN-services.
Uitgebreid getest door experts.

Bekijk welke VPN het beste bij je past