10 ms·
Regardless of the merit of this specific accusational-and-denial cycle, the fact remains that Whatsapp is closed source crypto and there is no way in principle
by avn2109 10y ago
Regardless of the merit of this specific accusational-and-denial cycle, the fact remains that Whatsapp is closed source crypto and there is no way in principle for the user to verify any security claims.
I happen to trust Moxie's principles, but not as much as I distrust the relationship-with-government imperatives implied by FB's vast business interests.
- tptacek 10y agoThere's "no way in principle"? How is this whole story not evidence to the contrary? The person who found this didn't use WhatsApp source code. Why do you feel that there's no way to verify closed-source software?
- akvadrako 10y agoWhichever story you are talking about, this one or the guardian one, it doesn't address the closed-source point. There is theoretically a way to verify WhatsApp even though it's closed source, but it's practically impossible. It's hard enough to verify software even when the source is open, you built it yourself and the whole platform and toolchain is trusted. A bunch of the potential NSA crypto backdoors were totally in the open. The app could just be lying about resending old messages or even not encrypting them or any number of things much more subtle.
- tptacek 10y agoI'm sorry, but this simply isn't true. Software of far, far greater complexity than WhatsApp has been reverse engineered comprehensively by hobbyists and amateurs. Meanwhile, professionals have pretty sophisticated tools for doing this work at scale.
- akvadrako 10y agoHave you ever heard of the obfuscated C contest? Even with the code in front of your face and looking innocent it's hard to see what it does. When you only have decompiled assembly, obfuscation is much easier.
- tptacek 10y agoAt the binary level, obfuscation is powerful but obvious. Is iOS WhatsApp meaningfully obfuscated?
- tedunangst 10y agoConsidering iOS forbids self modifying code, lots of tricks aren't even available.
- deleted 10y ago[deleted]
- akvadrako 10y agoYou are claiming that it would be easier to detect the obfuscation from the Obfuscated C Contest with only the binary and no access to the source code? That is logically wrong - otherwise people would simply compile the source before looking for the bad intentions. Having the source makes detection of backdoors strictly easier. Nothing you've said provides any evidence to the contrary.
- serf 10y agoThis seems to be the same angle played every time the analysis of crypto tools comes up on HN. (Almost always) when someone mentions the 'impossibility of analysis' of closed-source programs they are actually referring to the difficulty in doing so -- not actually stating that it's impossible. It is easier to look through source code. Now, if we're progressing through this conversation according to script, it will be mentioned that open source projects have had tremendous security problems, too. (OpenSSL comes to mind..) But that's beside the point expressed. The only point, and it's the point that was originally expressed, is that open source code is easier to look through than a closed code base. The hurdles posed by closed source, although not impossible to jump, significantly hinder the progress of analysis. Is this not true?
- tptacek 10y agoI'm sorry, but if you look upthread, the comment I responded to not only didn't say that verifying open source was easier, but actually made the extreme claim that there was in principle no way to verify closed source software at all. Meanwhile, addressing your (different) argument directly: sure, reading C code is easier than reading assembly code, and reading Python is easier than reading C. The easier it is to read a program the easier it is to reason about it. But: * It's not terribly difficult to reason about the functionality of messaging software in any language. * WhatsApp is an extremely high-profile target; it would be weird if people hadn't reversed it by now, since less well-known programs that are much harder to reverse have been productively (as in: findings uncovered) reversed. * The particular things we're looking for in a program like WhatsApp fall into two classes: (1) basic functional stuff like data flow that is even more straightforward to discern from control flow graphs than the kinds of things we routinely use reversing to find (like memory corruption flaws), and (2) cryptographic vulnerabilities that are difficult to spot even in source code, because they're implemented in the mathematical domain of the crypto primitives regardless of the language used to express them to computers. Sure, though. It is easier to spot backdoors in open source software. It's just not capital-H Hard to do it in closed-source software, so this open vs. closed debate about backdoors is usually a red herring.
- eeZah7Ux 10y ago
- lisper 10y agoYou can demonstrate the presence of a vulnerability in closed source software but there's no way to demonstrate (or even provide evidence of) the absence of any vulnerabilities.
- conradev 10y ago> no way to demonstrate (or even provide evidence of) the absence of any vulnerabilities I'd say that's hard for open source software to do as well.
- iwlbebnd 10y agoYes but it is trivial to backdoor closed source software. Introducing backdoors into open source source is also more difficult.
- lisper 10y agoSure, but so what? Hard != impossible. EDIT: WTF people? Why is every response to this comment being downvoted into oblivion? The sibling comment to this one (https://news.ycombinator.com/item?id=13395657 https://news.ycombinator.com/item?id=13395657) was killed in a matter of minutes despite being (IMHO) a perfectly reasonable and constructive response.
- tedunangst 10y agoBig Backdoor showing who's boss.
- tptacek 10y agoVotes aren't why that comment is dead --- note that it doesn't say "flagged". There is stuff that happens behind the scenes that [deads] users, especially new accounts; I think some of it might be voting ring related but not sure. (That comment is incorrect but I agree with you that it's constructive).
- lisper 10y ago
- yarou 10y ago> Why do you feel that there's no way to verify closed-source software? Isn't that the very definition of security through obscurity?
- pvg 10y agoNo. The security of WhatsApp is not dependent on it being closed source.
- yarou 10y agoI'm not trying to be rude, but I think if you cannot see how closed-source software uses the model of security through obscurity, you may have a cognitive deficit of some kind. Again, I'm not trying to talk shit or be rude.
- wglb 10y agoRegardless how the comment tries to work around it, cognitive deficit is in fact rude.
- yarou 10y agoYou didn't even bother to respond to the content of my post, rather you're more concerned with some weird sense of decorum. We all have cognitive deficits, but it is not necessarily rude to point out when one's mental faculties are failing.
- pvg 10y agoWell, I don't know if they're cognitive ones but you seem to have some deficits in 'knowing how to engage people on forums' and 'knowing what security by obscurity means'. The content of your post is that isn't rude is just inaccurate.
- wglb 10y agoThe sense of decorum we all ought to have in participating in HN is called out in https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html. As an example, Be civil. Don't say things you wouldn't say in a face-to-face conversation. Avoid gratuitous negativity.
- makomk 10y agoIt's possible to discover this without looking at the code at all, possibly even by accident, because it's going to be obvious to anyone who changed their keys that messages were automatically reencrypted to the new key when they receive them. That doesn't mean that issues which aren't user-visible would be found, and it took a long time for anyone to spot this one.
- gohrt 10y agoOpen source is a red herring, as you say. Closed binary is the problem. I need a way to verify that binary I am installing is the same as the binary that has been thoroughly vetted by security researches. In the modern mobile app ecosystem, on a major OS, running a major app, I can't carefully pick and choose which binary version to install. I get whatever the OS company's server pushes to me, and I can't downgrade to a known good version.