Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m just wondering. How does iOS prevent someone from executing code on their d

ID: 660166 • Letter: I

Question

I'm just wondering. How does iOS prevent someone from executing code on their device that isn't from Apple or downloaded from the App Store?

Also what exactly, does a Jailbreak do to allow unauthorised code to be run on an iOS device?

Also are the steps to Jailbreak a device repeatable when a new version of iOS is released? I was wondering because when a new version of iOS is released there is usually a Jailbreak within a few hours.

I heard it was something to do with the security certificate that Apple gives to each of its developers, but I don't know anything more than that.

Explanation / Answer

Once a computer boots, the operating system is given near exclusive control over the system resources (kernel access). After this occurs, if a program wants to run, it must ask the OS to let it run. Before iOS allows an application to run, it examines the code that is going to be loaded in to memory from the binary and checks it against a signed value that proves to the OS that Apple has reviewed the contents of the binary and given it the green light. Only after this check succeeds is the code allowed to run.

Jailbreaking removes this check by altering the OS such that it sees all applications as valid and allows them to run. Since Apple won't sign an application that makes these changes, exploits have to be used in high privilege signed code (normally the OS itself) to allow the needed changes to be injected in to the system.

The same exact kind of security could be implemented on other devices as well (in fact, it is optionally able to be turned on in Android) however, not having the option to turn it off is highly contentious as at that point you don't really own your own hardware anymore since someone else is telling you what you can and can't do with it. It is good for preventing people from accidentally installing bad things, but bad from a user freedom perspective (which is the main reason we haven't seen this technology expand in to desktops despite the fact it is completely technically possible to do so.)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote