iPhone Source Code Was Leaked by Low-Level Apple Employee
Earlier this week, source code for iBoot, a core component of the iPhone's operating system, leaked on GitHub. The code was old, for a version of iOS 9, and it was quickly pulled from GitHub after Apple issued a DMCA takedown notice, but it left many wondering how such sensitive code ended up publicly available.
To answer that question, Motherboard got in touch with unnamed sources who were involved in the leak and investigated screenshots, text messages, and more, to determine just how it happened.
As it turns out, the code originally came from a low-level Apple employee who took the code from Apple in 2016 to share with friends in the jailbreaking community. This employee wasn't unhappy with Apple and didn't steal the code with malicious intent, but instead was encouraged by friends to obtain the code to benefit the jailbreaking community.
The person took the iBoot source code--and additional code that has yet to be widely leaked--and shared it with a small group of five people.
"He pulled everything, all sorts of Apple internal tools and whatnot," a friend of the intern told me. Motherboard saw screenshots of additional source code and file names that were not included in the GitHub leak and were dated from around the time of this first leak.
The original group of five people who were provided with access to the code didn't intend to share it, but it somehow got out. From one of the original people involved:
"I personally never wanted that code to see the light of day. Not out of greed but because of fear of the legal firestorm that would ensue," they said. "The Apple internal community is really full of curious kids and teens.I knew one day that if those kids got it they'd be dumb enough to push it to GitHub."
The code began circulating more widely in 2017 and picked up in popularity late in the year before ending up on GitHub this week. Many in the jailbreaking and iPhone research communities attempted to stop sharing, but the major public leak couldn't be avoided.
According to the unnamed people who spoke to Motherboard, what leaked wasn't the "full leak." "It's not the original leak-it's a copy," said one source.
Following the leak, Apple confirmed the authenticity of the code in a statement to MacRumors and pointed out that it's for a three-year-old operating system that's been replaced by iOS 11 and is in use only on a small number of devices.
"Old source code from three years ago appears to have been leaked, but by design the security of our products doesn't depend on the secrecy of our source code. There are many layers of hardware and software protections built into our products, and we always encourage customers to update to the newest software releases to benefit from the latest protections."
The iBoot code leak should not be of concern to the average user because Apple has many layers of protection in place, like the Secure Enclave, and does not rely on source code secrecy alone to keep its users safe. The leak could, however, make it easier for people to locate vulnerabilities to create new jailbreaks.