Live data from Hacker News

What the CIA WikiLeaks Dump Tells Us: Encryption Works

nytimes.com

21–30 of 270 posts

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#21
post #11

Earlier quoted context omitted.

It's not hard to demonstrate that apps are performing end-to-end encryption even if you don't have access to the source code. Reverse engineering this stuff is really pretty straightforward.

It's not just that they're performing encryption, but also assurance that (1) they're using the keys they declare and (2) they aren't sending other data over unannounced side-channels. You can't just insert yourself in the message stream since the client and server use pinned, mutual certificate authentication. So you have to start from first-principles and step through decompiled code.

> they're using the keys they declare

I'm not sure what you mean here. It's easy to identify where the key comes from and whether the ciphertext is what you'd expect it to be in that case.

> they aren't sending other data over unannounced side-channels.

It's not straightforward to determine that even if you do have the source - you could imagine an implementation that deliberately leaks information through timing details without that being obvious from the code. At some point you have to trust that authors aren't doing something awful.

> So you have to start from first-principles and step through decompiled code.

Well no, because the first thing you can do there is just disable certificate pinning. But really, the difficulty of stepping through decompiled code is vastly overrated.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#22
post #11

Earlier quoted context omitted.

It's not hard to demonstrate that apps are performing end-to-end encryption even if you don't have access to the source code. Reverse engineering this stuff is really pretty straightforward.

It's not just that they're performing encryption, but also assurance that (1) they're using the keys they declare and (2) they aren't sending other data over unannounced side-channels. You can't just insert yourself in the message stream since the client and server use pinned, mutual certificate authentication. So you have to start from first-principles and step through decompiled code.

Unannounced side channels seems like by far the easiest thing to deal with there; send a 2mb file, observe network patterns, raise an eyebrow if 2mb gets sent over a channel that you didn't expect.

As for using the correct key, dismantle the signal message envelope until you get your blob of encrypted message. Then see if the same blob appears on the target device. Multiple keys? I imagine either correlating message size and network traffic (encrypting stuff twice could well show up), or going at it with a debugger.

Which is really the answer to all of these questions instead of any network shenanigans. You root your phone and attach a debugger, then step through what signal is doing.

Not a security researcher, never reverse engineered anything for security reasons in my life.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#23
post #9

The article mentions WhatsApp multiple times as a service that successfully made the transition to end-to-end encryption, but it always seemed to me that this claim is rather meaningless when we don't have the possibility of auditing their source code.

How can you personally verify that any 3rd party service is doing what it claims? Unless you're a security expert with plenty of time to comb through someone else's code, you're still relying on others to be truthful and competent. Even then you're relying on layers upon layers of software and hardware. Far too much for an individual to verify.

You rely on a net of diverse independent reviewers instead of a single entity with a particular interest.

A peer reviewed distributed trust net is much more trustworthy.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#24
post #22

Earlier quoted context omitted.

It's not just that they're performing encryption, but also assurance that (1) they're using the keys they declare and (2) they aren't sending other data over unannounced side-channels. You can't just insert yourself in the message stream since the client and server use pinned, mutual certificate authentication. So you have to start from first-principles and step through decompiled code.

Unannounced side channels seems like by far the easiest thing to deal with there; send a 2mb file, observe network patterns, raise an eyebrow if 2mb gets sent over a channel that you didn't expect. As for using the correct key, dismantle the signal message envelope until you get your blob of encrypted message. Then see if the same blob appears on the target device. Multiple keys? I imagine either correlating message…

What if it only does it at a much later point in time, or slowly via adding data to other comms channels? What if it only does it for small payloads by padding packet sizes to 1k? There are so many ways to get around this, unless we have open source and reproducible builds.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#25
post #22

Earlier quoted context omitted.

Unannounced side channels seems like by far the easiest thing to deal with there; send a 2mb file, observe network patterns, raise an eyebrow if 2mb gets sent over a channel that you didn't expect. As for using the correct key, dismantle the signal message envelope until you get your blob of encrypted message. Then see if the same blob appears on the target device. Multiple keys? I imagine either correlating message…

What if it only does it at a much later point in time, or slowly via adding data to other comms channels? What if it only does it for small payloads by padding packet sizes to 1k? There are so many ways to get around this, unless we have open source and reproducible builds.

Right, which is why I said those blackbox methods were pretty rubbish. You step through it with a debugger.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#26
post #11

Earlier quoted context omitted.

It's not hard to demonstrate that apps are performing end-to-end encryption even if you don't have access to the source code. Reverse engineering this stuff is really pretty straightforward.

It's not just that they're performing encryption, but also assurance that (1) they're using the keys they declare and (2) they aren't sending other data over unannounced side-channels. You can't just insert yourself in the message stream since the client and server use pinned, mutual certificate authentication. So you have to start from first-principles and step through decompiled code.

This is actually an area where web apps have some advantage. You can inspect the network traffic using developer tools. You have cross domain rules that restrict traffic. And the encryption is performed by the browser rather than in the apps black box.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#27
post #11

Earlier quoted context omitted.

It's not hard to demonstrate that apps are performing end-to-end encryption even if you don't have access to the source code. Reverse engineering this stuff is really pretty straightforward.

It's not just that they're performing encryption, but also assurance that (1) they're using the keys they declare and (2) they aren't sending other data over unannounced side-channels. You can't just insert yourself in the message stream since the client and server use pinned, mutual certificate authentication. So you have to start from first-principles and step through decompiled code.

This is actually an area where web apps have some advantage. You can inspect the network traffic using developer tools. You have cross domain rules that restrict traffic. And the encryption is performed by the browser rather than in the apps black box.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#28

The article mentions WhatsApp multiple times as a service that successfully made the transition to end-to-end encryption, but it always seemed to me that this claim is rather meaningless when we don't have the possibility of auditing their source code.

if the cia has to bypass it by hacking users phones it seems to apply the encryption itself is solid.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#29
post #17

Earlier quoted context omitted.

It seems that most people are completely in the dark when it comes to security, including myself, but there are some principles that should be unwavering that regularly get ignored again with every new iteration of "secure" software: * If there is a weak layer in the stack, from the physical layer to to UI, then the system is not secure. Even if your messaging app is secure, your messages are not secure if your OS is…

The Signal protocol ( https://en.wikipedia.org/wiki/Signal_Protocol ) has been vetted, and the code is online available to be audited: - Signal code: https://github.com/whispersystems/ Telegram has had known flaws, which have been discussed in part here: - Telegram protocol defeated. Authors are going to modify crypto-algorithm https://news.ycombinator.com/item?id=6948742 - A Crypto Challenge For The Telegram Develop…

It's not just about the protocol though, it's the whole stack, and the OSes that it runs on are frequently not secure. Also, the Signal app on Google Play requires your phone number and a Twilio API call to function. No thanks.

Re: What the CIA WikiLeaks Dump Tells Us: Encryption Works

#30
post #17

Earlier quoted context omitted.

The Signal protocol ( https://en.wikipedia.org/wiki/Signal_Protocol ) has been vetted, and the code is online available to be audited: - Signal code: https://github.com/whispersystems/ Telegram has had known flaws, which have been discussed in part here: - Telegram protocol defeated. Authors are going to modify crypto-algorithm https://news.ycombinator.com/item?id=6948742 - A Crypto Challenge For The Telegram Develop…

It's not just about the protocol though, it's the whole stack, and the OSes that it runs on are frequently not secure. Also, the Signal app on Google Play requires your phone number and a Twilio API call to function. No thanks.

That's something we can't do anything about though.
Post reply on HN