4 ms·
The OS X and iOS kernel are descendants of the nextStep kernel which is open source. http://en.wikipedia.org/wiki/XNU http://en.wikipedia.org/wiki/XNU
by samfisher83 10y ago
The OS X and iOS kernel are descendants of the nextStep kernel which is open source.
http://en.wikipedia.org/wiki/XNU http://en.wikipedia.org/wiki/XNU
- dietrichepp 10y agoRight, but how much code does the last open-source xnu have in common with the latest?
- newhouseb 10y agoApple continues to open source their version of XNU, although there has been an increasing lag between the release of each OS version and the corresponding sources. The latest available sources are from 10.11.2, three minor versions behind. Apple has also shifted to pushing a lot of sensitive/proprietary code into kernel extensions (the new Apple File System being one example), for which they don't release source code (generally speaking).
- uxp 10y agoFilesystems, by and large, are supposed to be pushed into the kernel (via extension, or direct compilation). I'd hardly say that they've "shifted" into pushing code into their kernel, but that much of what differentiates Apple's XNU kernel vs FreeBSD's Kernel or Linux is what they choose the exclude.
- jevinskie 10y agoI believe the grandparent post is referring to the fact that HFS+ is available in the open source release of xnu [1] while the question of whether Apple will open source APFS kext, especially given their recent trend of moving functionality from xnu into closed source kexts. I think it would be smart for them to open source it, if not simply for the interoperability use cases. [1]: http://opensource.apple.com//source/xnu/xnu-2050.18.24/bsd/hfs/ http://opensource.apple.com//source/xnu/xnu-2050.18.24/bsd/h...
- newhouseb 10y agoYep. So far, they've committed to publishing "the APFS volume format" [1]. It'll be interesting if they fold it back (into the kernel proper) as part of making APFS bootable. [1] https://developer.apple.com/library/prerelease/content/documentation/FileManagement/Conceptual/APFS_Guide/UsingtheAppleFileSystem/UsingtheAppleFileSystem.html https://developer.apple.com/library/prerelease/content/docum...
- newhouseb 10y agoSorry, I wasn't totally clear. I was talking about shifting functionality _from_the_kernel_ into kernel extensions, not functionality from user space.
- colechristensen 10y agoAnd there are non-trivial bits of OS X which are open sourced http://opensource.apple.com/release/os-x-10112/ http://opensource.apple.com/release/os-x-10112/
- umanwizard 10y agoI know that. But who knows how much secret sauce they have in the iOS build? Also, even on OS X, it takes a while after new versions of the OS are released for new kernel source bundles to drop. So sometimes poking around with IDA is your only recourse.
- iheartmemcache 10y agoA non-trivial amount of the iOS platform has been rev-eng'd (incidentally, largely with IDA and those kernel sources to create binaries with intact symbols + binary comparison heuristics[1]). XNU is largely based on FreeBSD so I'd be surprised if that wasn't an additional vehicle people were using (In a similar vein, fail0verflow used the syscode table information from FreeBSD with WebKit and ROPgadgets to fully compromise the PS3.) RE: this specific exploit, here's the POC making it around the security sphere (thanks @heisecode!) https://github.com/heisecode/Bug_POCs https://github.com/heisecode/Bug_POCs [1] https://static.googleusercontent.com/media/www.zynamics.com/en//downloads/dimva_paper2.pdf https://static.googleusercontent.com/media/www.zynamics.com/...
- TickleSteve 10y agoXNU != BSD. XNU == MACH + BSD Personality.