Live data from Hacker News

Decrypting Android Snapchat images

github.com

51–60 of 65 posts

Re: Decrypting Android Snapchat images

#51

The end of Snapchat? I cannot understand people who confide their privacy to companies like Apple and Snapchat. Of course their photos will be 'leaked'. It's just a matter of time.

Not really. Most people couldn't care less about the 10 second thing. They use Snapchat just as a means of sending a quick photo. It's just more fun than texting. I know very few people who actually care about the privacy aspect of it.

> * Most people couldn't care less about the 10 second thing.*

Really? That's Snapchat's unique selling proposition!

Re: Decrypting Android Snapchat images

#52
post #8

Earlier quoted context omitted.

They shouldn't store the images on the phone. You should be only able to view the image immediately after downloading it. After 10 seconds of viewing the image, everything gets deleted from ram.

It's also not difficult to bypass the app completely and poll the service from another program (for instance, run by cron on a server). Like other people have said, the entire premise is flawed.

I wouldn't say the premise of the app is flawed, rather it's just that people seem to misunderstand its technical capabilities.

Snapchat was designed for ephemeral communication, not secure "send-and-destroy" messages. It would be very foolish of them to market it as something it cannot possibly be.

Re: Decrypting Android Snapchat images

#53
post #47

Snapchat does not take security seriously. I used the Gibsonsec description of the SnapChat API to make a Java Snapchat client called JavaSnap (github.com/hatboysam/JavaSnap). It has been used in many Android apps with close to 2M combined downloads (from what contribs have told me). It was too easy. This is why things like 'The Snappening' happen (note: I never did anything evil like that, but it would not have been…

1. "The Snappening" was due to a breach of a third party service with no actual ties to Snapchat. This is like saying Bitcoin is insecure because of Mt. Gox's breach(es).

2. Most apps have documented or undocumented APIs. Writing a client to consume them does not indicate insecurity. It's only a security issue if the undocumented API exposes something that the company did not actually intend to expose (which, to be fair, is fairly common).

I have serious doubts about Snapchat's security due to the username phone number leak discovered by GibsonSec, but the other things you listed say nothing of their security posture.

Re: Decrypting Android Snapchat images

#54

Earlier quoted context omitted.

Because it's still totally flawed? Nothing stops anyone from writing a program that pretends to be Snapchat and downloads the keys and images as it pleases.

If you hide a per-device API key inside the real Snapchat app, you might at least require that the user root the device before being able to grant an Evil App access to their photos.

If you look at the link, even the current method requires root on the device.

Re: Decrypting Android Snapchat images

#55
post #20

How a company with $163M in funding is not able to put just a normal encryption into their app or hire someone who knows about encryption is out of my comprehension. We implemented a standard Blowfish encryption in university at a small project on the side and it was better than that. I'm by no means a cryptography expert, but you don't store keys on the device, they are generated dynamically. Storing them in a direc…

There is absolutely no cryptographic means of preventing a Snapchat user from saving a Snapchat image he/she receives. No matter what measures they put in place, they will all effectively be security by obscurity. If the image is in RAM long enough for a human to see it, then it can be copied elsewhere.

The fact that their current encryption procedure is half-assed is because they know it'll be security by obscurity no matter what they do, so why even waste time?. It doesn't make a real difference either way. They just want to prevent the absolute simplest attacks. They could have XOR'd all images with a 1-byte key and it would be equivalent, and still would suffice the business need.

Re: Decrypting Android Snapchat images

#56

If Snapchat is serious about its users' private messages, it should be implementing the Axolotl protocol for end-to-end encryption (what TextSecure uses, too). But Snapchat isn't serious about it, as we've seen in several securiy/privacy scandals involving the company so far, so I'm not going to hold my breath for this. https://whispersystems.org/blog/advanced-ratcheting/ Pro tip for future chat app start-ups promisi…

You don't quite understand. The threat model here is "a Snapchat user copying/saving a Snapchat image they receive", not TextSecure's threat model of "a third party observer or man in the middle". Implement whatever protocol you like, it doesn't matter; a user who roots his own device will be able to do whatever he likes to data stored on that device.

Re: Decrypting Android Snapchat images

#57

Earlier quoted context omitted.

Not really. Most people couldn't care less about the 10 second thing. They use Snapchat just as a means of sending a quick photo. It's just more fun than texting. I know very few people who actually care about the privacy aspect of it.

> * Most people couldn't care less about the 10 second thing.* Really? That's Snapchat's unique selling proposition!

It is technologically impossible to prevent Snapchat users from saving or copying images they receive from other Snapchat users. Replace "Snapchat" with any other app here and the same principle applies.

Their proposition is not that this is impossible, but rather that it is not easy for a typical end user to see past images. This enables a form of ephemeral communication; it was never intended as a security feature, simply a communication feature.

Re: Decrypting Android Snapchat images

#58

Earlier quoted context omitted.

That would be more secure, but you still need to wait for the key to be downloaded on-demand - you don't exactly get butter-smooth scrolling that way. (I like security.)

And you would have to be connected to the internet. That is a problem. The delay could be hidden behind a ui.

Snapchat doesn't work particularly well offline...

Re: Decrypting Android Snapchat images

#59

Earlier quoted context omitted.

If you hide a per-device API key inside the real Snapchat app, you might at least require that the user root the device before being able to grant an Evil App access to their photos.

If you look at the link, even the current method requires root on the device.

I was thinking about Bad Apps that users voluntarily hand their login details to (so they can download snapchats they get sent). Those don't need root, since they're just mimicking the Snapchat app and receiving the photos directly.

But it doesn't work, since you need some way to generate new API keys for your second device... which could be a Bad App.

If you 1) enforce one key at at time (so one "device" at a time), 2) rate-limit key changes (if you switch to a new device, or Bad App, you can't switch back within a day or two) and 3) eliminate Bad Apps in the app stores- you effectively limit Bad Apps to being entirely web-based, and hopefully the restrictions on webapps will make the Bad App sufficiently a pain in the ass to use that people won't want to switch to it, even though it lets them save photos, since it locks them out of the real app.

Re: Decrypting Android Snapchat images

#60

Earlier quoted context omitted.

Because it's still totally flawed? Nothing stops anyone from writing a program that pretends to be Snapchat and downloads the keys and images as it pleases.

If you hide a per-device API key inside the real Snapchat app, you might at least require that the user root the device before being able to grant an Evil App access to their photos.

How would you generate this key in the first place? I'd just write a program that looks like the Snapchat, generating the per-device key.
Post reply on HN