iBoot
Boot loader | |
---|---|
License | Proprietary software |
iBoot is the stage 2
For
For iOS, iPadOS and ARM macOS, the boot process starts by running the device's Boot ROM. The Boot ROM loads the Low-Level Bootloader (LLB), which is the stage 1 bootloader and loads iBoot. If all goes well, iBoot will then proceed to load the iOS, iPadOS or macOS kernel as well as the rest of the operating system.[5][6] If the iBoot fails to load or fails to verify iOS, iPadOS or macOS, the bootloader jumps to DFU (Device Firmware Update)[7] mode; otherwise it loads the remaining kernel modules.[2]
On x86 macOS, iBoot is located in /System/Library/CoreServices/boot.efi
.[8] Once the kernel and all drivers necessary for booting are loaded, the boot loader starts the kernel’s initialization procedure. At this point, enough drivers are loaded for the kernel to find the root device.[9]
Memory safety
Apple has modified the C compiler toolchain that is used to build iBoot in order to advance memory safety since iOS 14. This advancement is designed to mitigate entire classes of common memory corruption vulnerabilities such as buffer overflows, heap exploitations, type confusion vulnerabilities, and use-after-free attacks. These modifications can potentially prevent attackers from successfully escalating their privileges to run malicious code, such as an attack involving arbitrary code execution.[10]
Source code leak incident
in 2018, a portion of iBoot source code for
References
- ^ "Darwin 9.2 Source Code". Apple Inc. Archived from the original on September 21, 2020. Retrieved January 19, 2020.
- ^ ISBN 9783662493014.
- ISBN 9780132756150.
- ^ "boot process for T2, M1, and iOS devices".
- ^ Apple Inc. (May 2016). "iOS Security Guide" (PDF). apple.com. Archived (PDF) from the original on February 27, 2016.
- ^ "Boot process for a Mac with Apple silicon - Apple Support". Jan 2024.
- ^ "iFixit Support: DFU Restore". iFixit. Retrieved 2019-09-29.
- ^ "rEFIt - The Intel Mac boot process". refit.sourceforge.net. Retrieved 2017-08-26.
- ^ "The Early Boot Process". developer.apple.com. Retrieved 2017-08-26.
- ^ "Memory safe iBoot implementation". Apple Platform Security. Apple. Retrieved 25 January 2023.
- ^ "Apple confirms iPhone source code leak". BBC News. 9 February 2018.
External links
- Mac OS X at osxbook.com