Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I'm thinking about jailbreaking my iOS device but one thing worries me. Apple's restrictive developer API has one big advantage: apps can't tinker with my data outside the app unless I allow them to.

Can apps on jailbroken iOS devices access my e-mails, iTunes account password (through keylogging) and other sensitive information without my consent?

share|improve this question
add comment

3 Answers

up vote 8 down vote accepted

Yes. Any jailbreak-only app could potentially do everything you describe because they can acquire root access and run outside of iOS's sandbox.

share|improve this answer
3  
A fantastically good reason as to why one should only install software they trust, as well as only use trusted JB sources. As far as that goes, that isn't to say that all non-JB apps aren't good citizens either -- it's just harder to do, and they can't affect the entire system. –  Kerri Shotts May 31 '11 at 4:09
    
Do the Cydia developers screen the main repositories for malware? –  Pieter Jun 1 '11 at 15:46
    
@Pieter As you can see in britta's answer, no, Cydia doesn't screen anything. –  Matthew Frederick Jun 5 '11 at 12:57
2  
@Pieter: Despite Matthew's commentary, you may find this article interesting. forbes.com/sites/andygreenberg/2012/02/14/… In essence, while we cannot prescreen for malware (something that isn't even possible to do in the general case, Matthew's illogical beliefs aside), our default repositories have a fairly good filter for "trustiness" (happily pulling things they find fishy on a moment's notice), and the very people who join our community are the very sort that frown upon this kind of data collection. –  Jay Freeman -saurik- Apr 22 '12 at 22:37
add comment

The author of Cydia ("saurik") recently answered some similar questions on Reddit - here's one comment:

...you should also ask the following modified question: how does Apple reassure people that the apps in the App Store are safe, and are not doing things like uploading their address books to third parties, or tracking their location?

The answer is "they can't": apps are allowed to use the address book and your location, and without reading through the source code (itself an error prone form of analysis) you don't know what the app actually /does/, so you can't make any claims about whether it does these specific things you consider evil or not.

At the end of the day, you really need to just not install software from vendors that you don't trust (and to be 100% clear: I mean the person who actually wrote the software, not the person who sold it to you), and anyone who tries to provide you assurances otherwise is just selling you the proverbial snakeoil.

And from a second comment:

You are correct, however, that applications in Cydia are not checked to see if they are malicious, but neither are applications submitted to the App Store: neither we nor Apple are looking at your source code. There is nothing that keeps a normal App Store application from reading your address book, tracking your location, and uploading all of this to a server; in fact, nothing keeps these same "approved by Apple" applications from using local-to-root kernel exploits in order to bypass the sandbox and take /all/ of your data, including installing a rootkit on your phone.

share|improve this answer
3  
Saurik, of course, knows nothing about what Apple does and does not check for, nor how they check. Apple doesn't need to read your source code to know what system calls you're making or what data your app is accessing or sending. He's right about the address book and your location: it's possible that an app that doesn't do that during the first few minutes of its operation might slip by. You can know, however, that said apps aren't accessing your email, your phone messages, your SMS messages, passwords or account information in other apps, etc. –  Matthew Frederick Jun 5 '11 at 12:57
    
Matthew is correct here, though it's important to note that audits of applications do take place by Apple at random. This is a logical limit due simply to resources available and the sheer number of apps requiring attention. –  David Metcalfe Jun 5 '11 at 21:56
2  
I am sorry, but Matthew is not "correct here". Apple cannot statically determine the set of system calls that a binary may choose to execute at runtime: it is trivial for a developer to simply inline assembly a 'svc 0x80' instruction, and there are numerous ways of hiding what the value of r12 would be at the time of the call. If you believe otherwise, I highly recommend reading introductory texts on operating system design. Given this, it is now entirely possible for any App Store app running on a firmware revision for which the jailbreak community provides an untether to rootkit your device. –  Jay Freeman -saurik- Apr 22 '12 at 22:27
add comment

No, they could not, assuming you choose an appropriately difficult root password. If an app 'silently' attempted to gain root access and provided other capability in order to be accepted into the official App Store it would have a better chance to gain root. A crucial factor in an answer to this sort of question is proper choice of passwords. If there are exploits that do not require root password, then ignore the negative answer.

share|improve this answer
3  
A JB app can do pretty much whatever it wants. Consider iFile -- a fantastic JB file manager. It can see every file on the system, change rights, delete files, edit them, etc. Now imagine installing a JB app that you think does one thing, but secretly does another. Guess what -- you're screwed. Only install trusted JB apps from trusted JB sources. –  Kerri Shotts May 31 '11 at 4:10
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.