8 ms·
Since What'sApp uses textsecure, can we be sure that they are blind to the content of our messages? Is there any way for them to get the key, still claim it's e
by Zhenya 10y ago
Since What'sApp uses textsecure, can we be sure that they are blind to the content of our messages? Is there any way for them to get the key, still claim it's e2e encrypted, except for when they want to hand the key over to various states etc?
- FabHK 10y ago- we don't have access to the source code, so who knows what they have implemented? - even if they have implemented it faithfully, you should compare fingerprints. If they don't line up, you might be subject to a MITM attack
- tptacek 10y ago1. Anyone who can read a control flow graph. 2. Yes.
- ChoHag 10y agoI just love reading post-optimisation machine code.
- tptacek 10y agoPretty much everyone who's job involves using IDA Pro does this every day.
- stouset 10y agoThe point was you don't, but plenty of people do. And those people haven't sounded the alarm on any red flags.
- Retr0spectrum 10y agoBut do they? It's a slightly dangerous assumption to make. If everyone assumes that, nobody will bother to check at all.
- pbhjpbhj 10y agoSo if they implemented a small extra procedure to copy text and send on a side-channel when a flag was set externally, if such a thing was done then this would be obvious to many people despite it being closed source? Aren't these apps developed modularly? Or indeed if it were a patch that could be initiated as forced update at will from the server-side, again that would be clear to "people" based on the client side binary? These are the ways I imagine I'd snoop on supposed end-to-end encrypted communication channels; there's probably something much cleverer, but again, we're saying that can be detected easily? Genuine questions, not a programmer, not familiar with the state-of-the-art of reading machine code/interpreting network traffic, nor indeed with which watchdogs are guarding against abuse by the TLAs.
- tptacek 10y agoThat's not really what "side channel" means. You mean "covert channel", a related but different concept.
- WhitneyLand 10y agoThe bigger point he's making is that your comment "Anyone who can read a control flow graph" can be taken to mean everything is fine here when it's really not. Its not hard to imagine how WA could be compromised without anyone knowing for many years.
- tptacek 10y ago
- conradev 10y agoWhen the difference between correct code and a pretty bad bug can be one instruction[1], I'm not sure if "anyone who can read a control flow graph" is going to be able to find implementation flaws (intentional or not). [1] https://youtu.be/5pAen7beYNc?t=13m51s https://youtu.be/5pAen7beYNc?t=13m51s
- tedunangst 10y agoAnd how are things any different reading source code? The disassembled binary CFG is either going to branch on greater than or greater or equal, exactly like the source code. If you won't see the bug in the CFG, you won't see the bug in the source.
- conradev 10y agoThis is a valid point. Both the source code and the CFG can hide bugs pretty easily. I would argue that reading source code is much easier, though. For example, if you are auditing code written in a memory-safe language, you don't need to look for memory corruption bugs. You also have an audit trail for all source code changes.
- tptacek 10y agoIt's not like this code was originally written in Haskell. Come on.
- deleted 10y ago[deleted]
- lisper 10y agoEven if you had access to the source code, how would you verify that the app you are running was compiled from that source?
- conradev 10y agoThey'd need to be building reproducibly[1], which is somewhat difficult to do on iOS thanks to code signing and App Store encryption[2]. Android is definitely closer[3]. [1] https://reproducible-builds.org https://reproducible-builds.org [2] https://github.com/WhisperSystems/Signal-iOS/issues/641 https://github.com/WhisperSystems/Signal-iOS/issues/641 [3] https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds https://f-droid.org/wiki/page/Deterministic,_Reproducible_Bu...
- silluk 10y agoThere's nothing preventing Whatsapp from releasing an update that has a flag on your phone number/id that turns off e2e for messages that you send. If their software was open source we would be able to verify what we are running but as it stands, it's not and I doubt it will ever be.
- tptacek 10y agoOpen source is a red herring. You're downloading WhatsApp from an app store (or, at least, the overwhelming majority of users are). If you can't verify what the binary is doing, the source code doesn't make a difference. Beyond that, despite the repeated claims of open source advocates, there's nothing preventing people from taking the app store versions of things like WhatsApp and reverse engineering them.
- frutiger 10y agoIf builds were reproducible (i.e. binaries would be identical if recompiled with the same toolchain on a different machine), then all it would take is N independent builders to verify the app store binary matches their locally built binary to greatly decrease the likelihood of tampering. So, while being open source is not the complete answer, it certainly doesn't hurt.
- ChoHag 10y agoOr we could have build systems that weren't even more convoluted and fragile than they were 50 years ago and just release software in the form it's supposed to be in.
- tptacek 10y agoI don't think it hurts! All else being equal, I'd rather have source than not have it. What I don't accept is our supposed helplessness in detecting backdoors in secure messaging software.
- tedunangst 10y agoHow do you guarantee the App Store doesn't serve limited edition binaries to selected recipients?