News for hackers. Stuff that matters.
Re:Viber adds end-to-end encryption by nxzero on Tuesday April 19, 2016 @07:45AM (#11526273)
End-to-end (E2E) code needs to be open source and venders that don't agree to an audit should be considered insecure; holds true for What's App, which declined to allow their E2E code to be audited.

Also, message metadata is still being leaked by all of these E2E implementations and needs to be fixed.

Re:Viber adds end-to-end encryption by mtgx on Tuesday April 19, 2016 @08:53AM (#11526559)
Would open sourcing the Whatsapp client hurt Whatsapp in any significant way?

I mean, sure, there could be "Whatsapp clones" (aren't there already?!), but wouldn't Whatsapp still benefit from the phone number user base it has, thus maintaining a certain lock-in on its users from which it already benefits?

Re:Viber adds end-to-end encryption by melvinmt on Tuesday April 19, 2016 @10:21AM (#11527133)
Here's the Telegram iOS code by the way: https://github.com/peter-iakovlev/Telegram
Re:Viber adds end-to-end encryption by andrey_utkin on Tuesday April 19, 2016 @09:00AM (#11526589)
> I mean, sure, there could be "Whatsapp clones" (aren't there already?!)

Sounds funny if you consider that Whatsapp itself is just a branded deployment of FOSS XMPP server Ejabberd, with feature of federation taken away. Plus a client app implementation, of course.

Re:Viber adds end-to-end encryption by jeena on Tuesday April 19, 2016 @09:30AM (#11526758)
That is only possible because Ejabberd doesn't use the AGPL license.
Re:Viber adds end-to-end encryption by goodplay on Tuesday April 19, 2016 @10:29AM (#11527202)
Come on, it would definitely still be possible with AGPL code. What brought people to whatsapp is its ubiquity and the fact that it just works, and what keeps them from going elsewhere is the inevitable network effect.

Nothing in the AGPL prevents either from occurring.

Re:Viber adds end-to-end encryption by onli on Tuesday April 19, 2016 @10:45AM (#11527319)
I think you are misunderstanding jeena. If ejabberd were AGPL, then a fork/a instance of it like Whatsapp would be legally obliged to open up their code as well.

No idea whether the assumption is true that Whatsapp is just a branded deployment.

Re:Viber adds end-to-end encryption by goodplay on Tuesday April 19, 2016 @10:55AM (#11527411)
I still don't understand how opening up the codebase would prevent them from being successful.

As the countless messaging apps out there demonstrate, the value of communication apps lies in the network they build. If they provide a decent UX, and successfully bootstrap a network large enough, it wont matter if their code is open.

Re:Viber adds end-to-end encryption by onli on Tuesday April 19, 2016 @12:36PM (#11528141)
I don't think that was an argument against that. At least I agree. The situation is only possible because the AGPL is not used for the free component, but Whatsapp should have no problem opening up their code.
Re:Viber adds end-to-end encryption by emdd on Tuesday April 19, 2016 @09:44PM (#11531768)
And, I've been using Viber longer than I knew WhatsApp existed. Just saying...
Re:Viber adds end-to-end encryption by venomsnake on Tuesday April 19, 2016 @09:25AM (#11526730)
Wireshark,xposed + some creativity and you have your own E2E encrypted solution with OOB keys. For any messenger. It is not done, because there is no demand.
Re:Viber adds end-to-end encryption by nxzero on Tuesday April 19, 2016 @01:47PM (#11528738)
Would it be possible to explain the reasoning of the workflow/toolchain you're suggesting?
Re:Viber adds end-to-end encryption by venomsnake on Tuesday April 19, 2016 @04:07PM (#11529846)
wireshark to reverse the protocol. xposed to rewrite the classes required on android.

you replace Whatsapp.sendMessage(string,Jonny) with WhatsApps.sendMessage(EncryptString(string,Jonny),Jonny)

And EncryptString taps into your keystore to find jonny's key.

Re:Viber adds end-to-end encryption by mikeokner on Tuesday April 19, 2016 @10:18AM (#11527107)
> Also, message metadata is still being leaked by all of these E2E implementations and needs to be fixed.

Ricochet (https://ricochet.im/) solves that problem using Tor hidden services. Desktop only at the moment AFAIK, though.

Re:Viber adds end-to-end encryption by vox_mollis on Tuesday April 19, 2016 @01:01PM (#11528363)
One great benefit to ricochet is that you can choose to exclude those with whom you are communicating from your COMSEC threat model, due to the lack of (mostly connection) metadata availability.
Re:Viber adds end-to-end encryption by nxzero on Tuesday April 19, 2016 @01:25PM (#11528563)
Sounds interesting.

Appears to have a lot of docs/code, are you able to link to the related code & docs?

Re:Viber adds end-to-end encryption by nxzero on Tuesday April 19, 2016 @11:07AM (#11527501)
Are there any stats posted on the size of the network? (either from Tor or P2P network analysis)
Re:Viber adds end-to-end encryption by tptacek on Tuesday April 19, 2016 @11:13AM (#11527532)
WhatsApp's "E2E" code is from Signal, which is open source.

This zealous belief that all secure cryptography must be open source is something I hear a lot from open source advocates, but not so much from cryptography engineers.

Re:Viber adds end-to-end encryption by arbsn on Tuesday April 19, 2016 @11:27AM (#11527622)
Is the encryption/decryption code in WhatsApp open-source? I haven't been able to find it. My assumption was that they conform to the Signal encryption protocol, which is openly specified, but that the code they use to do so is not open-source.
Re:Viber adds end-to-end encryption by moxie on Tuesday April 19, 2016 @12:56PM (#11528309)
Yes, it is. It's linked directly from the paper (https://www.whatsapp.com/security/WhatsApp-Security-Whitepap...) that documents their use of the protocol.

It's the exact same code we use in Signal: https://github.com/whispersystems/libsignal-protocol-java

Re:Viber adds end-to-end encryption by AJ007 on Tuesday April 19, 2016 @01:25PM (#11528560)
The value is not just the public display of the source code for auditing, but the validation that what you are running was indeed compiled from that code.
Re:Viber adds end-to-end encryption by brianacton on Tuesday April 19, 2016 @08:30PM (#11531539)
This is literally an impossibility. Java apps are typically obfuscated with randomization of symbol names. Each build is unique and not reproducible.

You are better off verifying the actual compiled and distributed apk files than verifying the source.

Re:Viber adds end-to-end encryption by danjoc on Tuesday April 19, 2016 @09:49PM (#11531785)
Re:Viber adds end-to-end encryption by russell_h on Tuesday April 19, 2016 @02:45PM (#11529188)
Simply open sourcing the code doesn't give that validation.
Re:Viber adds end-to-end encryption by AckSyn on Tuesday April 19, 2016 @06:28PM (#11530993)
Not completely but I can certainly look at it, compile, and then side-load it onto my device knowing it's what it said it was.
Re:Viber adds end-to-end encryption by danjoc on Tuesday April 19, 2016 @01:35PM (#11528637)
You keep saying this, but how do we know they are actually using the code from Signal without access to source and reproducible builds? Last time you told me it was easy and legal to reverse engineer the code. I then asked you what tools you use to do that and you ignored the question.
Re:Viber adds end-to-end encryption by tptacek on Tuesday April 19, 2016 @02:03PM (#11528851)
To reverse engineer code? For big projects, I used IDA, like everyone else does. For smaller projects, I used Hopper, or, for architectures that IDA and Hopper didn't support, I'd postprocess binutils output.

For an example of a more sophisticated approach, look at:

https://sourcedna.com/

Remember, in this case, it's especially easy to reverse, because you have the source code; all you're doing is matching the control flow graph to the original source.

Re:Viber adds end-to-end encryption by danjoc on Tuesday April 19, 2016 @10:08PM (#11531826)
Thanks for making this response. Genuinely interested.

[To whomever down voted... I guess I get down voted for not showing gratitude immediately after he posted a reply? This is why I don't post here often. Quite mean people here.]

Re:Viber adds end-to-end encryption by nialo on Tuesday April 19, 2016 @03:22PM (#11529457)
Do you know if there exist tools that take a binary and a source code file and attempt to automatically compare the control flow graphs?

I imagine I won't ever get to it, but that sounds like an interesting problem to try to work on.

Re:Viber adds end-to-end encryption by tptacek on Tuesday April 19, 2016 @03:37PM (#11529559)
Yes, there are. SourceDNA does a bunch of this.
Re:Viber adds end-to-end encryption by moxie on Tuesday April 19, 2016 @02:12PM (#11528925)
If you want to look at the Android APK, you can use apktool to get back Java source. Hacked clients like WhatsApp+ even build new derivative products using that output, and spammers do it to get code they can use to inject messages onto the network without having to write their own software.

I think it's great when people further verify WhatsApp's client security, please share your analysis!

Re:Viber adds end-to-end encryption by danjoc on Tuesday April 19, 2016 @10:14PM (#11531840)
Thank you for your tip and contributions to open signal. I appreciate that you want to get encryption into as many hands as possible, even if circumstances may not be ideal.

My primary concern here is a long con. Everything is probably okay now, but after a while, people will stop looking and verifying. With WhatsApp keeping source closed, it makes that period of time shorter, I think. I will try to work your suggestion into my job :) If I'm paid to do it, I can keep doing it indefinitely, even working on tools to automate it.

Re:Viber adds end-to-end encryption by moxie on Tuesday April 19, 2016 @12:59PM (#11528347)
> which declined to allow their E2E code to be audited.

Could you cite this? The Signal Protocol implementations they're using are both open source and well audited.

Re:Viber adds end-to-end encryption by ryanlol on Tuesday April 19, 2016 @08:23AM (#11526421)
That's just an utterly ridiculous proposition.

By that logic the entire application would need to be open source, because nobody would start out by targeting the crypto if they wanted to spy on someone.

Re:Viber adds end-to-end encryption by tremon on Tuesday April 19, 2016 @08:33AM (#11526460)
Even if I were to accept your logic, what's ridiculous about that?
Re:Viber adds end-to-end encryption by ryanlol on Tuesday April 19, 2016 @09:19AM (#11526702)
Open sourcing the crypto code wouldn't be ridiculous, but pointless.

What I find ridiculous though was

>venders that don't agree to an audit should be considered insecure

The same thing applies to every single part of the application, but not equally. No attacker is going to start out by trying to break the crypto, unless it's obviously broken. "Normal" bugs are far more common and often more dangerous (Thing RCE, or in the case of many modern apps: XSS)

Re:Viber adds end-to-end encryption by CiPHPerCoder on Tuesday April 19, 2016 @10:47AM (#11527335)
> No attacker is going to start out by trying to break the crypto, unless it's obviously broken.

Emphasis mine. I agree with ryanlol here. Why bother with active attacks when you can just steal their private key from a code execution?

Similar to this, but with the priority flipped:

https://www.bishopfox.com/blog/2016/04/if-you-cant-break-cry...

Re:Viber adds end-to-end encryption by imaginenore on Tuesday April 19, 2016 @08:49AM (#11526541)
ryanlol is correct though. If you open source just the end-to-end crypto part, it doesn't mean that the there's no backdoor elsewhere - it could easily leak the keys or whole conversations.

The second problem is - you don't know if that source is what ended up in the binary.

So yeah, unless you can compile the whole thing yourself, it should not be considered secure.

Re:Viber adds end-to-end encryption by exo762 on Tuesday April 19, 2016 @09:09AM (#11526652)
Open source client and reproducible builds. Signal already does that.

It's not a high bar.

Re:Viber adds end-to-end encryption by ryanlol on Tuesday April 19, 2016 @09:13AM (#11526674)
That's a completely different from just wanting the e2e crypto source, which is useless by itself.

https://www.bishopfox.com/blog/2016/04/if-you-cant-break-cry...

Re:Viber adds end-to-end encryption by nxzero on Tuesday April 19, 2016 @09:50AM (#11526882)
What to you are steps towards the mass adoption of universal turnkey state-level OPSEC for everyday use? ___

So, my point that the E2E should be open source is that that code should never be the basis for a business model, so to me, it being open source makes sense. As larger system, that's why I'm saying there needs to be an audit.

Also, you mentioned ATP and I agree, which is why to me it is troubling Signal instead of guarding metadata, actively collects it.

Please let me know I have missed anything you'd like me to address. And I really would be interested in your thought on the question above in as much detail as you're able to share. Thanks!

Re:Viber adds end-to-end encryption by ikeboy on Tuesday April 19, 2016 @08:32AM (#11526457)
Ideally it would be possible to use third party clients to connect, and so anyone could use a fully open source solution if they wanted.
Re:Viber adds end-to-end encryption by ryanlol on Tuesday April 19, 2016 @09:22AM (#11526717)
That's fair!

But you need far more than just the crypto code to create a client, I think open source protocol specs would already achieve this.

And my main complaint was with the claim that open sourcing their crypto code would somehow make a meaningful difference to the security of these applications to the extent where you could consider all applications that haven't done so "insecure".

Re:Viber adds end-to-end encryption by CaptSpify on Tuesday April 19, 2016 @10:38AM (#11527269)
I don't think I get your complaint

Without open-sourcing the crypto, they could be just doing rot16($message) for all we know. Open-source is a requirement for being considered secure. It doesn't mean they aren't secure if they aren't open-source, but that you shouldn't consider it so, because you don't know if it is or not.

Re:Viber adds end-to-end encryption by CiPHPerCoder on Tuesday April 19, 2016 @10:50AM (#11527365)
> I don't think I get your complaint

> Without open-sourcing the crypto, they could be just doing rot16($message) for all we know.

There are two things you can do:

1. Watch the outbound traffic and attempt known-plaintext attacks

2. Reverse engineer the app

Neither is particularly difficult. Most Android apps are trivial to break apart using Lobotomy. A large swath of software security folks specialize in binary auditing.

Re:Viber adds end-to-end encryption by ikeboy on Tuesday April 19, 2016 @12:07PM (#11527920)
Has anyone done that and produced a fully open source app to connect to whatsapp?
Re:Viber adds end-to-end encryption by ryanlol on Tuesday April 19, 2016 @01:34PM (#11528633)
Lots of people.

https://github.com/tgalal/yowsup for example

Re:Viber adds end-to-end encryption by ikeboy on Tuesday April 19, 2016 @01:50PM (#11528766)
Looks like WhatsApp isn't so happy about that ...

https://gigaom.com/2015/01/20/whatsapp-cracks-down-on-people...

Do you know if the clients work with the new encryption?

Re:Viber adds end-to-end encryption by ryanlol on Tuesday April 19, 2016 @02:02PM (#11528838)
Yes, axolotl is open source. (However I can't comment on how much it's been modified for the official client)