6 ms·
Creepy iPhone bug: front facing camera takes pictures by itself.
- SomeCallMeTim 16y agoIf it turns out that one of the installed apps was taking pictures without the user's knowledge, then that's one reason to like the permissions that Android shows you for every app you install: No app can take a picture without requesting the proper camera permissions, and I'm not going to install a game or a music player that requests camera permissions (or anything else totally unnecessary). (For those who don't know, the list of permissions an app requests is presented to you before you install any app.) iPhone/iPod/iPad users can correct me if I'm wrong and iOS pops up some kind of warning when an app turns on the camera -- I know it pops up a warning under some circumstances at least.
- darren_ 16y agoThe last post in the thread makes it sound as though an app wasn't even on the display when it happened ("I hit the button to see if anyone called me (no one did) and drove off" - and then later the picture is of him when he hit the button). iOS wizards: if you have an app up, hit the screen lock, and then later hit the home button, is the app unfrozen then, or does it wait until you unlock? I would guess waiting for the unlock based on how it looks on my iphone. If it does wait til you unlock, it's probably an iOS bug. If it doesn't, let's look askance at their list of installed applications, particularly the ones that use the camera and that people were likely to have been using shortly before locking their screen (a guess, based on their lists: facebook).
- tjogin 16y agoUnless I'm mistaking, an API that let's an app take pictures without the display betraying what's going on doesn't even exist. I don't even think any API exists to take pictures — that doesn't involve the touch of a finger on the display. Can't explain it though.
- bunnyhero 16y agoIn iOS 4, such APIs do exist. I blogged briefly about it here http://www.bunnyhero.org/2010/08/17/thoughts-on-ios4-camera/ http://www.bunnyhero.org/2010/08/17/thoughts-on-ios4-camera/ (I used the API for a test app that uses the front camera to detect how much light is shining on the iPhone http://www.bunnyhero.org/2010/08/15/turn-your-iphone-into-a-vampire-with-avfoundation-and-ios-4/ http://www.bunnyhero.org/2010/08/15/turn-your-iphone-into-a-... )
- magicofpi 16y agoBut why would Facetime be using this? It seems unnecessary.
- diploid 16y agoThe theory is not that Facetime is using this API but that another malicious app is using it to take pics without the user consent. Then Facetime is loading those pics on startup because they were the last pic taken with the phone.
- weaksauce 16y agoYes, there is an api to take a picture without pressing the screen. It's called -(void) takePicture and it's part of the uiimagepickercontroller class. http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/doc/uid/TP40007070 http://developer.apple.com/library/ios/#documentation/UIKit/...
- jarin 16y agoIf I remember correctly, Color is eventually planning to passively gather audio information as you walk around in order to better know where you're at and what you're doing. Wouldn't it be funny if it was the app causing this?
- Jgrubb 16y agoAre you serious? That's the creepiest thing I've heard yet. Why would anyone want that?
- greengarstudios 16y agoThey do this already. It allows the phone to detect whether you're in the same place as someone else: if two phones are hearing similar sound, then you're likely to be next to each other. Color shows you photos taken by people near you. Audio is one signal for detecting who's near. Note: GPS sometimes doesn't work indoors, where there's no line of sight to the satellites in the sky. Cell towers and Wi-Fi work, but aren't as precise.
- metageek 16y agoHuh. Depending on what they do with the audio input, that might be illegal in Massachusetts. (Our wiretap law requires all parties to consent, and it applies to any covert audio recording, not just phone conversations.)
- edanm 16y agoThe iPhone doesn't issue a warning when the camera is turned on. Like the others though, I've never seen a case where an app took a picture without showing me the camera and hitting a button myself, so I don't know what's going on. And I doubt permissions would fix anything for most users - users tend to agree to anything.
- silversmith 16y agoThe app in question is a video calling app. You would be giving it camera privileges if you intended to use it.
- perivamsi 16y ago"It's a feature, not a bug" If they can't build the permissioning around their apps immediately, it will be a good idea to list the phone resources (camera, voice, speakers, etc) that an app uses on the app store page.
- staunch 16y agoCould it be some kind of buffer with the previous image data held in memory?
- darren_ 16y agoThis does seem most likely, but the other thing is that this previous image data is from times when no-one was using the camera. So the question is where did the previous image data come from?
- Lazlo_Nibble 16y agoMy first guess at an explanation would be that the camera is actually a self-contained little image/video engine that's "running" (i.e., capturing images internally) anytime the phone is powered up, and that under certain circumstances tickled by FaceTime, polling the camera engine results in a cached frame getting kicked out of a camera-internal buffer. Mind you, that's based on absolutely no actual understanding of the hardware, software or APIs involved.
- blub 16y agoI don't know if this is malware, but I wouldn't be surprised at all. In fact I'm surprised it isn't happening more often (especially to jailbroken iPhones and Android devices), it seems that smartphones are a perfect target.
- tjogin 16y agoTwo reasons: Apple's approval process and the paper trail. The approval process, while not guaranteed to catch malware, serves as a deterrent to evildoers because they know that at least some review will be made of their app, functionally as well as on an API-level. There is a paper trail from each app to the developer responsible for it. When your app gets caught, you get caught. It'd take a remarkably stupid evildoer to develop malware and submit it for Apple approval. It's less of a hassle and much less risky to be evil using other traditional channels, with no oversight; like exploiting browser bugs, building native programs that don't require neither the paper trail or an approval process (maybe masking as a "driver" or a "plugin" you need to watch some shady porn or whatever), spam, fraud and other schemes, etc. For these reasons, it doesn't surprise me that we've seen no malware on iOS.
- blub 16y agoI know, that's why I said jailbroken iOS and Android. * Jailbroken users get their apps from third party sources and there are no more guarantees. * Android Market doesn't do malware checks (yet), and there was an issue with malware recently. Still, not even the AppStore is perfect: somone snuck in a tethering app disguised as a flashlight, if I remember correctly and there was a problem with a book vendor that was gaming the top lists.
- tjogin 16y agoRight, but neither of those hurt users, so not malware without stretching the definition of the word. I don't think malware on jailbroken iOS or Android happens much because most people who jailbreak are technically savvy. Also, they're a relatively tiny minority.
- 16y ago
- johnthedebs 16y agoI haven't developed on iOS but I remember reading someplace that when an app is loading it can display an image of what it looked like when the user most recently left it, in order to give the appearance of loading more quickly. I think it was one of Marco Arment's blog posts, but his site isn't available right now. Anyway I also don't have an iPhone 4, but FaceTime for OS X shows the camera view whenever it's on so that you can see yourself whenever starting a call. I imagine FaceTime for iOS does something similar. If you combine those two things, you get one possible explanation for what's going on. One that's pretty benign, but should probably still be avoided because it obviously spooks users. Oh, and it should probably be at the API level so that the last thing an app saves is never camera data.
- ugh 16y agoIt would be nice if someone could look into the iPhone's exact behavior in this regard. The FaceTime app on the new iPad doesn't seem to save an actual camera image with the screenshot on quitting. The UI comes up but the whole screen is just dark for a split second before it displays the live camera image. This is true whether you quit the app explicitly or just quickly close it and come back.
- TotlolRon 16y agoI think this is a probable explanation. A webapp running chromeless using the apple-mobile-web-app-capable meta tag will load with a screen capture of itself at the time it unloaded.
- olivercameron 16y agoApps created outside of Apple and in the App Store have no way to change what graphic is shown when the app is launching. You can display a static image (Default.png), but that cannot be dynamically modified later.
- wylie 16y agoThis is irrelevant. The bug happens specifically while using Facetime, an Apple app, so it might be feasible for it to set the last image as the launch image. Also, Apple is notorious for using undocumented APIs in their own apps.
- mattyohe 16y agoWhile I can't consistently reproduce this issue, I was able to get FaceTime to show up with some random image of myself in the preview of my FaceTime call. Basically: 1. Open the camera app and flip the camera to yourself. 2. Close the camera app, and call yourself on your Mac's FaceTime app. 3. The image that showed up was of me frozen, from just a few moments prior when I flipped the camera around. When I first saw this post, I attempted to call a friend, and saw exactly what that first poster in Apple discussions saw, a black screen. After rebooting it's all "fine" now. (I'm running 4.3.1)
- monochromatic 16y agoVery interesting. Possibly another aspect to this bug.
- greengarstudios 16y ago"there is no indication to the user at all that the camera is in use unless the app provides its own. There is no permission alert, nor any LED indicator like a webcam. An app could secretly be recording your face with the iPhone 4′s front-facing camera and sending it to who knows where." http://www.bunnyhero.org/2010/08/17/thoughts-on-ios4-camera/ http://www.bunnyhero.org/2010/08/17/thoughts-on-ios4-camera/ As a fellow iOS developer, I believe this is true. It's pretty amusing that there's a guy on the Apple Discussions forum claiming that this is impossible. Actually, it's very possible.