iBoot
Deweloperzy | Apple Inc. |
---|---|
System operacyjny | Darwina , macOS , iPadOS i iOS |
Platforma | x86 , ARM |
Typ | Program rozruchowy |
Licencja | Własne oprogramowanie |
iBoot to bootloader etapu 2 dla wszystkich produktów Apple . Zastępuje stary program ładujący, BootX . W porównaniu ze swoim poprzednikiem iBoot poprawia uwierzytelnianie przeprowadzane w łańcuchu rozruchowym.
W przypadku x86 macOS proces rozruchu rozpoczyna się od uruchomienia kodu zapisanego w zabezpieczonej pamięci rozruchowej UEFI ROM (pierwszy etap). Boot ROM ma dwa podstawowe zadania: zainicjować sprzęt systemowy i wybrać system operacyjny do uruchomienia ( POST i UEFI). W przypadku ARM macOS Boot ROM nie jest komponentem UEFI.
W przypadku systemu iOS proces rozruchu rozpoczyna się od uruchomienia kodu Boot ROM urządzenia. W systemach z procesorami S1 lub A9 lub wcześniejszymi procesorami z serii A, Boot ROM ładuje program ładujący niskiego poziomu (LLB), który ładuje iBoot. W systemach z nowszymi procesorami Boot ROM ładuje sam iBoot. Jeśli wszystko pójdzie dobrze, iBoot przystąpi do ładowania jądra iOS, a także reszty systemu operacyjnego. Jeśli LLB lub iBoot nie załaduje systemu iOS lub nie zweryfikuje systemu iOS, program ładujący przeskoczy do trybu DFU ( Aktualizacja oprogramowania układowego urządzenia ) ; w przeciwnym razie ładuje pozostałe jądra .
W systemie macOS x86 iBoot znajduje się w /System/Library/CoreServices/boot.efi
. Po załadowaniu jądra i wszystkich sterowników niezbędnych do rozruchu program ładujący rozpoczyna procedurę inicjalizacji jądra. W tym momencie załadowana jest wystarczająca liczba sterowników, aby jądro mogło znaleźć urządzenie root.
Bezpieczeństwo pamięci
Firma Apple zmodyfikowała zestaw narzędzi kompilatora C , który jest używany do budowania iBoot, aby zwiększyć bezpieczeństwo pamięci od czasu iOS 14 . To ulepszenie ma na celu złagodzenie całych klas typowych luk w zabezpieczeniach związanych z uszkodzeniem pamięci, takich jak przepełnienie bufora , wykorzystanie sterty , luki w zabezpieczeniach związane z pomieszaniem typów i ataki typu „use-after-free” . Modyfikacje te mogą potencjalnie uniemożliwić atakującym pomyślne zwiększenie ich uprawnień w celu uruchomienia złośliwego kodu, takiego jak atak polegający na wykonaniu dowolnego kodu .
Linki zewnętrzne
- Mac OS X na osxbook.com