3 ms·
Good God. If true, this is deplorable. As a mobile dev, client-side image caching is one of the easiest things you can do. When an image expires, nuke it off th
by potatolicious 13y ago
Good God. If true, this is deplorable. As a mobile dev, client-side image caching is one of the easiest things you can do. When an image expires, nuke it off the filesystem.
There are a million and one ways to compromise a local image cache that's intended to be private. You can potentially recover it from the NAND flash if you're sophisticated enough, you can decrypt the data while it's still alive, but deleting the image when you said you would is, well, a pretty basic feature that would prevent the easiest of easy attacks.
I'd expect this sort of thing from an app where people are sending private images, against the initial intent/design. But Snapchat?
- wil421 13y agoAs a mobile dev, how would you stop users from taking a screenshot? My girlfriend uses snapchat with her friends a lot and if she is quick enough she can grab a screenshot of the snap, I assume other people are doing this often.
- bennyg 13y agoYou can't really, and that's fine. Just after a snap has reached it's time limit - literally delete it. That's all you have to do to prevent snaps from staying on the system.
- dingaling 13y agoThat requires the Snapchat application, or an associated service, to remain running in order to delete the cached image. A quick user could kill -9 the app and leave the image on the filesystem.
- potatolicious 13y agoYou can't. You stop the attack vectors you can and inform people about the attack vectors you can't do anything about. In this case, making sure the file isn't on the device longer than it should be. Keep in mind, when it comes to extracting images, you can't stop a sufficiently informed or sufficiently determined end user, because all of your code runs on a device that's wholly in control by the end user. All you can do is basic due diligence. There is the side problem where the attacker isn't the end user (e.g., malware attempting to extract private images from a phone). At the end of the day though, there is squat all you can do against code that has root.
- highphive 13y agoThe short answer is there really isn't a way to prevent screenshots. Snapchat has attempted to do so, but without much success. On iOS, it detects if either of the two buttons required to take a screenshot are pressed, and hides the image right away - preventing a screenshot unless the two are pressed truly simultaneously. In my experience, this works much better than on Android, where phones have a variety of ways to screenshot, and no great method exists to stop people from taking one.
- deleted 13y ago[deleted]
- joshmlewis 13y agoI am not a dev but is there a way to know when one of the two screen buttons is being pressed? If so, and it'd have to be almost immediate, but you could fuzz the image or make it go black so the screenshot is black. Is this possible?
- Herald_MJ 13y agoOn iOS at least, both of these pieces of information are not available to developers, because both buttons perform OS-specific tasks which apps are not allowed to interfere with. Contrary to some other platforms (to my knowledge, most notably Android), iOS apps are very sandboxed.
- ahlatimer 13y agoThey're somehow available to Snapchat since they'll send you a notification if someone takes a screenshot of a snap. Edit: I have personally confirmed this on iOS. According to a commenter below, this is also true on Android.
- TsiCClawOfLight 13y agoYou get a notification if someone on android took a screenshot of your snap.
- grey-area 13y agoWhat about snapchat makes you think it is some kind of uber-secure private picture messaging app? If they represent it as that, then it's very misleading, but do they? The analog hole makes this app a fun game at best, it's certainly not secure in any way, so I don't see why this is a big deal. By sending a photo to someone, you are leaking info, and if they can see it, they can copy it trivially with a cameraphone (far more trivially than by trying to get it off a locked down file system on something like ios).
- deleted 13y ago[deleted]
- seiji 13y agoGood God. If true, this is deplorable. Their startup game isn't about engineering quality, it's about rapid growth at all costs. In this game, you aren't even a product—you're just something to be walked all over. When you think Snapchat, go back to their origin stories: http://valleywag.gawker.com/snapchat-had-the-frattiest-creation-in-startup-history-639615051 http://valleywag.gawker.com/snapchat-had-the-frattiest-creat... and http://valleywag.gawker.com/snapchats-creator-another-spoiled-l-a-brat-1451658343 http://valleywag.gawker.com/snapchats-creator-another-spoile... So hilariously sad.
- objclxt 13y ago>I'd expect this sort of thing from an app where people are sending private images, against the initial intent/design. But Snapchat? The thing about Snapchat is that it's basically held together with sticky tape and string. It's not totally dissimilar to where Facebook was a year or so from launch (2006 or so): code that was pretty much thrown together, and hasn't had much time for improvement. I haven't seen the codebase itself, but I'm coming to this conclusion based upon pulling apart both the client apps and the god-awful API that's used. Perhaps in the last few months it has improved somewhat, but it was still pretty dodgy back in May or so.