| 開発者 | アップル社 |
|---|---|
| オペレーティング·システム | ダーウィン、macOS、[1] 、iPadOSおよびiOS [2] |
| プラットフォーム | x86、ARM |
| タイプ | ブートローダー |
| ライセンス | 独自ソフトウェア |
iBoot は、すべてのApple製品のステージ 2ブートローダです。 [3]これは、Intel ベースの Mac の古い EFI ベースのブートローダに代わるものです。以前のバージョンと比較して、iBoot はブート チェーンで実行される認証を改善しています。[2]
x86ベースのMacの場合、ブートプロセスは、保護されたUEFIブート ROM (ステージ 1) に格納されたコードを実行することから始まります。ブート ROM には、システム ハードウェアを初期化することと、実行するオペレーティング システムを選択すること ( POSTおよび UEFI コンポーネント) という 2 つの主な役割があります。ARM ベースの Mac の場合、ブート ROM には UEFI は含まれていません。[4]
iPhone、iPad、ARMベースのMacの場合、起動プロセスはデバイスのブートROMを実行することから始まります。ブートROMは低レベルブートローダ(LLB)はステージ1のブートローダで、iBootをロードします。すべてがうまくいけば、iBootはiOS、iPadOS、またはmacOSカーネルとオペレーティングシステムの残りの部分をロードします。[5][6]iBootがロードに失敗したり、iOS、iPadOS、またはmacOSの検証に失敗したりした場合、ブートローダはDFU(デバイスファームウェアアップデート)[7]、残りのカーネルモジュールをロードします。[2]Apple A7およびApple M1以降、LLBはiPhoneまたはiPadのNANDフラッシュ、またはApple Silicon MacのSSDに保存されます。
x86 Macでは、iBootはにあります/System/Library/CoreServices/boot.efi。[8]カーネルと起動に必要なすべてのドライバーがロードされると、ブートローダーはカーネルの初期化手順を開始します。この時点で、カーネルがルートデバイスを見つけるのに十分なドライバーがロードされます。[9]
メモリの安全性
Appleは、iOS 14以降、メモリの安全性を向上させるために、iBootの構築に使用されるCコンパイラツールチェーンを変更しました。この進歩は、バッファオーバーフロー、ヒープエクスプロイト、型の混乱の脆弱性、解放後使用攻撃など、一般的なメモリ破損の脆弱性のクラス全体を軽減するように設計されています。これらの変更により、攻撃者が権限を昇格して悪意のあるコードを実行すること、たとえば任意のコード実行を伴う攻撃を防ぐことができます。[10]
ソースコード漏洩事件
2018年、 iOS 9のiBootソースコードの一部がGitHubに流出し、[11] AppleはGitHubに対してリポジトリを削除するよう著作権侵害の削除要求(DMCA)を発行した。漏洩の責任者はAppleの従業員であると考えられていたが、これはAppleによって確認されなかった。
参考文献
- ^ 「Darwin 9.2 ソースコード」。Apple Inc. 2020年9月21日時点のオリジナルよりアーカイブ。2020年1月19日閲覧。
- ^ abc ライアン、ピーター YA; ナッカシュ、デイヴィッド; キスカター、ジャン=ジャック (2016-03-17)。『The New Codebreakers: Essays Dedicated to David Kahn on the Occasion of His 85th Birthday』。シュプリンガー。ISBN 9783662493014。
- ^ Hayes, Darren R. (2014-12-17). コンピュータフォレンジック調査の実践ガイド。Pearson IT Certification。ISBN 9780132756150。
- ^ 「T2、M1、iOS デバイスのブート プロセス」。
- ^ Apple Inc. (2016 年 5 月). 「iOS セキュリティ ガイド」(PDF) . apple.com . 2016 年 2 月 27 日時点のオリジナルよりアーカイブ(PDF) 。
- ^ 「Apple シリコン搭載 Mac の起動プロセス - Apple サポート」。2024 年 1 月。
- ^ 「iFixit サポート: DFU 復元」。iFixit。2019年 9 月 29 日閲覧。
- ^ 「rEFIt - Intel Mac のブートプロセス」refit.sourceforge.net . 2017 年 8 月 26 日閲覧。
- ^ 「初期ブートプロセス」。developer.apple.com 。 2017年8月26日閲覧。
- ^ 「メモリセーフな iBoot 実装」。Appleプラットフォームセキュリティ。Apple。2023年1 月 25 日閲覧。
- ^ 「Apple、iPhoneのソースコード漏洩を認める」BBCニュース、2018年2月9日。
外部リンク
- osxbook.com の Mac OS X
