Where WhatsApp Went Wrong: EFF's Four Biggest Security Concerns
eff.org/deeplinks/2016/10/where-whatsapp-went...Posted Oct 13, 2016, 5:28 PM UTC
Posted Oct 13, 2016, 5:28 PM UTC
The article mentions chat backups not being encrypted, but I'm in the WhatsApp beta program, and on my backup preference screen it specifically mentions my messages (but not media) is encrypted when it is backed up, so it looks like they're already beginning to push this feature to users.
Wait what? Really? Could you send us a screenshot of that bit? Not that I'm doubting you, I just want to check it out
Where are the private keys stored, client-side or server-side? I think it's very likely that the chat backups are encrypted with keys that are stored on WhatsApp's servers. The main reason to encrypt the chats would be to prevent Google or Apple from scanning them. By storing the private keys on WhatsApp's servers, users would still be able to retrieve the backups even if they wiped their phones.
There has been no noticeable change, no pop-up or anything.
Hmmmmm. In order for the encryption to be meaningful, there needs to be some kind of secret that's carried over from one device to another when you restore from backup that's not stored with the backup itself.
Did it ask you for a recovery password? Anything like that?
Another thing worth pointing out is this: WhatsApp does collect some metadata.
While Signal has promised, basically, to keep only minimal logging necessary for reliable service, WhatsApp has made no such promises and likely logs like a normal service would; which is to say, it probably logs everything.
Granted, the content of the messages can't be logged. But the metadata can.
Still, I think it's the best option for widespread use.
It seems cloud backups will be encrypted. That didn't take very long.
https://www.twitter.com/AchwaqKhalid/status/787011524401491969/photo/1
Even more proof that the whole "We use Signal's encryption" was just a PR move. Privacy and security is not just picking up some (solid nonetheless) encryption and implementing it in your software. It's a global approach that has to affect all of your product.
What's the point of encrypting communications between recipients and then encourage them to give up a full unencrypted backup to the cloud ? Also with no key management, the whole OpenWhisperSystem encryption is a bit less useful.
Use Signal and Telegram, at least you got the source for both clients...
First you complain about unencrypted backups to the cloud, but then you suggest using a messenger who's default method of communication is as unencrypted and cloud-based as WhatsApp's opt-in backups? I think it's better to have end-to-end encrypted one-to-one and group messaging by default, even if the service provider retains metadata and offers optional server-side encrypted cloud-based backups (WhatsApp), than to have server-side encrypted cloud-based messaging by default with optional end-to-end encrypted one-to-one messaging (Telegram).
This isn't even taking into account the way Telegram handles notifications on iOS (which causes the plaintext of every message to be sent to Apple's servers) or any of the numerous other security oversights that have led to there being a de facto consensus among the infosec community that Telegram is nothing more than snake oil when it comes to privacy and security.
Communication to the server is encrypted by default, just not E2E.
E2E encryption comes with a price in term of functionality. Doing a proper and really secure implementation of an E2E web client seems to be a challenge. Not many clients are able to do it right now. Basically, you would shave half of the current "fun" features of Telegram if you would want to default to E2E encryption AKA Secret chat.
I also would like to insist on the source code access here. Fair enough, you value default encryption and I respect that. But I value a million times more an open source code with a business that actually encourages scrutiny on it's client (see the 2015 security contest for $300k that had no winners). That's something I respect far more than default encryption. That's the spirit and the real courageous posture you can take on security.
We all have a right to privacy, but for some people it's VITAL, especially for some journalists and dissidents. These people know very well they are targeted and spied upon. I don't think they would use the default SMS client and just go with it. Default encryption is good especially when it comes at no cost (which is not the case for Telegram) but simply having proper E2E encryption on demand is more than fair in my books.
Now going on about how "unsecure" Telegram is.
Although Telegram has helped open up an important space for conversation in Iran, numerous technology security experts have warned that the app's security flaws make it unsafe. Nima Fatemi, an independent security researcher based in the U.S., said, "Normal chats, which is the default option, are not end-to-end encrypted, meaning Telegram and anyone they share your data with, can read, store, analyze, manipulate or censor users' conversations."
As far as I'm aware this "flaw" could be exploited only if you have access to the Telegram servers. And in my opinion the same remarks apply to Whatsapp. You have absolutely no proof whatsoever than WS is encrypting correctly this information. You can't prove it's actually doing E2E. You can't verify the key used to do E2E encryption and check if your recipient really has the same. Basically, since you don't have the code, you can just read the documentation of WS and trust they are being entirely honest with it. No way to verify there is no MITM, no way to verify there is no hidden channels on the side of that E2E discussion.
So if you ask a security researcher to choose either a "black box" encryption method were he has no idea what's going it for real and to choose between a source code he can actually read and audit, I'm really not convinced he would choose the WS black box (courtesy of Facebook Inc) if his life depended on it.
Open Sourceness is a value. It might be irrelevant to you or the mass amount of people using WS, but it is to me. And I think the security researchers actually appreciate being at least able to critic Telegram's code (and that IOS bug). For WS, there is nothing to critic so it's easy to make it look secure.
Trust people for what they SHOW they are doing not for what they say they are doing should be the general idea.
Really I think it would have been a terrible idea to activate E2E by default on Telegram. Why ? Because again that would mean a lot of features would have to be removed entirely. And in that case the chances are pretty low that Telegram would have enough user to at least be a relevant competitor to WS. I appreciate having an "open source" client competing with a closed source one.
Really, remember that it's easy to look secure if you don't disclose anything real about your infrastructure or the server backend.
As far as I'm aware this "flaw" could be exploited only if you have access to the Telegram servers.
Until Telegram makes user-defined passwords mandatory (currently they are optional), anyone who can intercept SMS messages has access to any Telegram account's default chats. Telegram's developers are essentially ignoring a backdoor that is open to any government in the world. This has already been exploited in (at least) Iran, Russia and Germany.
You can't verify the key used to do E2E encryption and check if your recipient really has the same.
As pointed out in the EFF's Surveillance Self-Defence guide, you can in fact verify that the encryption keys weren't tampered with or replaced.
So if you ask a security researcher to choose either a "black box" encryption method were he has no idea what's going it for real and to choose between a source code he can actually read and audit, I'm really not convinced he would choose the [WhatsApp] black box (courtesy of Facebook Inc) if his life depended on it.
The encryption WhatsApp uses is actually not courtesy of Facebook, but of Open Whisper Systems. Open Whisper Systems's founder Moxie Marlinspike has said: "apktool makes it easy to verify. You'd have to do that even if [the entire app] were open source, since the binary being distributed is what matters."
Trust people for what they SHOW they are doing not for what they say they are doing should be the general idea.
Up until three days ago, Telegram's Android repository was over three months behind what was being distributed through the Google Play store. The iOS repository is currently over seven months behind what is being distributed through the Apple Store. We can count ourselves lucky that Telegram is so open about what they are really doing. It's really a shame that their marketing material is so misleading.
Really I think it would have been a terrible idea to activate E2E by default on Telegram. Why? Because again that would mean a lot of features would have to be removed entirely.
Pavel Durov has also said something similar: "This is exactly why cloud chats are the default: on average, our users prefer seamless cloud sync." Based on that, it doesn't look like Telegram will be implementing E2EE by default any time soon, and that doesn't look good for the privacy of their users.
I appreciate having an "open source" client competing with a closed source one.
When it comes to open source clients that value privacy and security, Signal is where WhatsApp's true competition lies, not Telegram. At this point, Telegram is as bad if not worse than Google Allo or Facebook Messenger.
Interesting response. I appreciate the time you take to properly document your post.
Until Telegram makes user-defined passwords mandatory (currently they are optional), anyone who can intercept SMS messages has access to any Telegram account's default chats.
Isn't the situation completely similar on Whatsapp ? Even worse if you ask me, we don't know how Whatsapp answer for government requests for information while Telegram is at least publicly saying they simply don't answer to them. I would think any US based company isn't really able legally to contest or refuse to give your information to the US government if asked for.
Pavel Durov had in the past some conflict with the russian government because of it's pretty strict attitude regarding government requests.
As pointed out in the EFF's Surveillance Self-Defence guide, you can in fact verify that the encryption keys weren't tampered with or replaced.
Alright. That's a good thing. Initially when WS deployed this, it wasn't possible to check the keys at all if I remember correctly. But that's a good thing for sure.
The encryption WhatsApp uses is actually not courtesy of Facebook, but of Open Whisper Systems. Open Whisper Systems's founder Moxie Marlinspike has said: "apktool makes it easy to verify. You'd have to do that even if [the entire app] were open source, since the binary being distributed is what matters."
Oh I know very well it's from OpenWhisperSystem. The cryptography is not from Facebook. But the black box I'm referring to is definitely the property of Facebook. Whatsapp is the property of Facebook and I think that's reflected in their privacy policy.
apktool makes it easy to verify. You'd have to do that even if [the entire app] were open source, since the binary being distributed is what matters
That's a fair point. That being said there is no better situation than being able to take the source, compile them and get the same hash on the production apk and the one you just compiled. That's what F-Droid have been doing for quite a while so anybody can check the integrity of its app even with lesser technical knowledge. Analyzing bytecode is not really trivial...
Also this note from EFF is worth mentioning I think:
WhatsApp is owned by Facebook. The app itself is closed-source software, which means that it is very difficult for outside experts to confirm that the company has implemented their encryption in a secure way. Nonetheless, the methods that WhatsApp uses to send encrypted messages are public, and regarded as secure.
This shows that my "concerns" are not completely ridiculous. We are still talking of a closed source app from an US based company pretty notorious for being a bit lazy on the privacy aspect of Facebook. Everyone is entitled to its own opinion but I don't give value to what WS announces. Even if I love the work from Moxie Marlinspike, he still can't guarantee to us that the rest of the app is not a pile of vulnerabilities and privacy bad practices. Nor that aside from the cryptography the apps leaks all of the discussion on another channel. You can check a lot of things in the bytecode, but it's never as clear as reading the actual source code.
Based on that, it doesn't look like Telegram will be implementing E2EE by default any time soon, and that doesn't look good for the privacy of their users.
I disagree, some users will stay on simple default TLS secured discussion (without E2E) and the more vulnerable users will most likely use Secret chats. I agree with you that E2E by default is the best situation. I just agree also with Pavel Durov that's it's important to weight the impact it will have on your users feature-wise. I think Telegram wouldn't hesitate to make Secret Chat the default if that wouldn't break the web client and other features. I use the web client daily and I really don't mind not having E2E for the very casual discussions I'm having in these less secured discussion. Default is amazing to protect users that have really no idea of basic concepts to protect their privacy. Otherwise... they wouldn't use the default chats ?
When it comes to open source clients that value privacy and security, Signal is where WhatsApp's true competition lies, not Telegram. At this point, Telegram is as bad if not worse than Google Allo or Facebook Messenger.
I don't consider Signal as something really similar to Telegram. It's a pretty odd opinion I admit but I still see Signal as an SMS client with an additional "bonus" encryption when capable (which is almost never in my contacts so far). While Telegram is a more casual IM client that offers at least the ability to do E2E for more experienced users. I say, use both ! Signal as an SMS client that will help you encrypt if you are lucky enough to meet another Signal user and Telegram for more casual discussions. And maybe Telegram for more secured but more feature rich discussions in E2E. For me that's the best setup.
To each their own I guess.
PS: A quick analogy of how I see whatsapp being. I'm selling you a vault and you can only see a picture of the lock of the vault. I'm telling you it's secured and your privacy is guaranteed. A master locksmith called Moxie checks the lock and told everyone the lock is in place and is very secured. Does this make you trust the security of the vault as a whole ?
Don't mention Telegram, everyone is about to get anal and link you to posts and articles about how it's not secure.
[deleted]
Of course I know that. It just that I've read it so many times that I'm sick of it. And I'm very privacy conscious myself
Do you know why people do that?
I've managed to get 4 people on Signal but I'm forced to use WhatsApp because nobody wants to switch.
People are idiots and do not give two shits about privacy. And here I'm like.... using TailsOS and Tor browser on desktop and VyprVPN on my phone and Ghostery add-on in Firefox mobile.
Edit: +8 to -5? At times reddit is really controversial.
ghostery is made by an advertising company i believe. if the intention was to avoid tracking, ghostery is doing pretty much the opposite.
edit: some info: https://www.technologyreview.com/s/516156/a-popular-ad-blocker-also-helps-the-ad-industry/
You can opt out: https://www.ghostery.com/support/faq/ghostery-add-on/What-data-does-Ghostery-collect/
i know. i still don't like it out of principle. ublock origin and privacy badger do the job as well
Ghostery is also open-source so please go and tell that ol shite to someone else.
it's not anymore
People are idiots
But at least you're enlightened by your own intelligence, eh?
It's not useful if everyone isn't proactive against such corporate spying shenanigans.
WhatsApp got to 1 billion users without even having e2e encryption. In fact earlier versions used to send messages in plain text that you could dig out if you're on the same network.
How is this relevant?
People don't give a shit about privacy or security; they just want something convenient that their friends are already using. Unfortunately, large swaths of this sub still don't realize that.
Most people are writing stuff like sorry I'll be back home half an hour late tonight and the like. Of course they don't care about encryption.
PSA: Please, anyone who doesn't give a shit about their privacy or security, PM me with the password to your email accounts.
Bullshit. EVERYONE cares about privacy and security, but they do not value it because of the sentiment now normalized, which is that only bad people with things to hide need to worry about shit like encryption.
Recommended watch: https://www.ted.com/talks/glenn_greenwald_why_privacy_matters
[deleted]
[deleted]
So everyone has to be sure no one is backing up their chats to the cloud. That is tough.
Or use a decently secure and open source app, there are a few promising ones already
Linkme: Signal
okay let me chat with all the 3 r/Android users who use it
I love this comment.
People on this sub don't realize that people in the real world don't give a single shit about open sourced or the most secure messaging app.
They use Whatsapp, imessage, Facebook Chat or SMS because it's what all their friends use.
This sub at large is delusional a lot of times.
Careful now, any form of common sense is greatly frowned upon in this sub
Yup. You only have to look at subs like r/ThatHappened or anything else with lots to screenshots to see that even among young people there are huge numbers of people on ancient versions of Android and who apparently couldn't care less about it. We're tech geeks, of course we care about the latest version and most secure apps, and maybe our self-selecting friends might, but most people don't :D
Ideas age?
Edit: I think you meant iMessage?
I get security emails all the time at work about which apps to use to communicate with people, keep your PII safe, things like that. It's funny because the most popular apps are never listed as something you should use.
*Not sure why the downvotes, my comment agrees with the parent.
I use it!!
okay, but in reality, only me and one of my friends do. It's SOOOO great of an app and it makes me sad how little adoption it has.
I don't need all my friends to have Signal. It's enough if only the friends I talk regulary with have Signal. I have between 10 and 20 Signal contacts and that is enough for me.
I love Signal and have been using it for two(?) years. However, it desparately needs a few minor tweaks to its UI to make it a lot more usable.
1.) Clearly delineating dates dividing your chats. So often, I recall I was talking with someone about something on Monday. Its visually very difficult to scroll back to Monday's conversation. Look at Whatsapp for a clean and simple implementation of this.
This goes a long way to clearing up and organizing your chats.
2.) New messages should be flagged. The way it works right now is incredibly stupid: if you get a few new messages and open up a chat window, you're taken to the last sent message. At least open up to the first new message. But now, you have to scroll backwards until you no longer recognize a message.
This is a major problem with group chats in particular where new messages can easily swell into the hundreds.
The problem is so atrocious that we've almost stopped using Signal.
3.) A simple search function. Similarly, someone will suggest a pizza place in passing. A few days later, when you want to take them up on on their suggestion, its a nigh on impossible task. See complain 1.), even just trying to find the message is ridiculously and needlessly difficult.
I'm not saying use Google search, which will compromise security, but just a simple search algorithm.
Sigh...but I've been complaining about these things for such a long time. It seems the developers have no interest in implementing them. The furstrating thing is that from my point of view (as a layman) these are really easy to do and will go a LONG way to makign the app more usable.
"Marlinspike told me that Open Whisper Systems has three full-time staff: two software developers and one person who handles user support and project management. With such incredibly limited resources, it’s surprising that they’ve accomplished as much as they have."
https://theintercept.com/2016/06/22/battle-of-the-secure-messaging-apps-how-signal-beats-whatsapp/
Last feature was disappearing messages, and before that desktop support for ios. I'd say those are higher priority. The features you're requesting seem like a nice idea though.
I whole-heartedly applaud the team, and am so grateful to them for having this service.
But the thing is there are so many vital user experience bugs that haven't been worked out. I would argue these are more important to address so your userbase grows and existing members don't leave (as those in my social circle are beginning to do just becuase it is so unfriendly. What is the point of having desktop support, if there's no one ot use it)?
eg The back up feature is busted and I'm dreading the moment when I change my phone (or heck even flash a new ROM)
Signal Private Messenger - Free - Rating: 91/100 - Search for 'Signal' on the Play Store
^Source ^Code ^| ^Feedback/Bug ^report
Signal doesn't have cloud backups. And I have 1 friend on it only versus 150 on WhatsApp. Simple choice.
Linkme: Conversations
Conversations (Jabber / XMPP) - Paid - Rating: 89/100 - Search for 'Conversations' on the Play Store
^Source ^Code ^| ^Feedback/Bug ^report
Linkme: ChatSecure
ChatSecure - Free - Rating: 80/100 - Search for 'ChatSecure' on the Play Store
^Source ^Code ^| ^Feedback/Bug ^report
Signal is SMS only which means it is not free for international contacts. It's just not economically feasible for everyone.
Clearly you have never used it.
Maybe I didn't put my point across properly the first time. Let me try again.
So I'm in the US and I have friends in India. My carrier allows me to send unlimited texts to domestic and international numbers but my friends back in India need to pay a certain amount for each SMS sent to international numbers.
That's why it's not feasible for everyone to use Signal.
I do wish chats were encrypted somehow. You can copy WhatsApp data files to any phone and it will restore your chats.
[deleted]