iBootとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > iBootの意味・解説 

iBoot

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/08/15 02:40 UTC 版)

iBoot
Developer(s) Apple
Initial release June 29, 2007
Stable release
iBoot-11881.80.57~171 (RELEASE, iOS 18.3 RC and iOS 18.3.1)
Preview release
iBoot-11881.80.57~107 (RELEASE, iOS 18.3 beta 1)
Operating system Darwin, macOS, iPadOS and iOS[1]
Platform X64, AArch64
Type ブートローダ
License Proprietary software

iBootは、ステージ2 ブートローダである。iPhone, iPad, Appleシリコン Mac, およびApple T2を搭載したインテルMac[2][3]で採用されている。 Compared with its predecessor, iBoot improves authentication performed in the boot chain.[1] Apple T2を搭載したIntel Mac では、ブートプロセスはboot ROMからT2チップ上でコードを実行することから始まる。そのboot ROMは、iBootをT2チップにロードして実行する。その次にiBootはbridgeOSをT2チップにロードし、起動する。そしてbridgeOSはUEFIファームウェアをロードする。UEFIファームウェアはメインIntelプロセッサを起動し、Power-On Self Testプロセスを完了させる。UEFIファームウェアはboot.efiをロードし、macOSカーネルをロードして起動する[4]

iPhone、iPad、Appleシリコン搭載Macの場合、ブートプロセスはデバイスのブートROMを実行することから始まる。Apple A9またはそれ以前のAシリーズプロセッサを搭載したiPhoneやiPadでは、ブートROMはステージ1ブートローダであるLLB(Low-Level Bootloader)をロードし、iBootをロードする。Apple A10以降のプロセッサを搭載したデバイスやAppleシリコン搭載Macでは、ブートROMはiBootをロードする[5]。すべてがうまくいくと、iBootはiOS、iPadOS、macOSのカーネルと、オペレーティングシステムのその他のロードを進める[6][7][8]。iBootがiOS、iPadOS、macOSのロードに失敗したり、検証に失敗した場合、ブートローダはDFU(デバイスファームウェアアップデート)[9]モードにジャンプする[1][10]

カーネルと起動に必要なドライバ全てがロードされると、ブートローダはカーネルの初期化手順を開始する。この時点で、カーネルがルートデバイスを見つけるために必要なドライバがロードされる[11]

Apple A7以降を搭載したiPhoneやiPadでは、LLBとiBootはNANDフラッシュに保存される[12]Apple M1以降を搭載したMacでは、LLBは内蔵SSDに保存される[13]

ビルドスタイル

流出したiBootのソースコード(2018年2月7日)によると[14]、apps/iBoot/iBoot.mkでは、iBootのコピーをビルドする際に有効なビルドスタイルを「RELEASE」、「DEVELOPMENT」、「DEBUG」、「SECRET」と定義している。これらのビルドスタイルは、ブートローダがコンパイルされる際に特定の情報を定義する。例えば、開発中のデバイスの問題を見つけるためにデバッグコマンドを追加したり、シリアル経由でiBootコマンドプロンプトを使用してハードウェアテストを実行したりできる。

定義

RELEASE - リリース版

DEVELOPMENT - 開発用ハードウェアで使用されるビルドでは、「diags」コマンドなど、いくつかの開発用ツールにアクセスできる

DEBUG - iOSやその他の下位コンポーネントのデバッグに使用されるビルド

機能

iBootは、リカバリ、DFU、またはリストアモード時にコマンドプロンプトを表示する(iBootの「DEBUG」ビルドにも表示されるが、将来のビルドでは表示されなかった)。コマンドの使用可否は、使用するiBootのタイプ、特にビルドスタイル(RELEASE、DEVELOPMENT、DEBUG、SECRETなど)に依存する[要出典]


iBootのコマンドプロンプトを使用する場合、含まれるコマンドは、ブート引数(NVRAMで内部的に「boot-args」と呼ばれる)や、iBootが自動的にロードされたときにスタートアップコマンド(fsboot)を使用するかどうか(自動ブートとして知られている)などの動作を管理するために使用される[15][16]

メモリ安全性

AppleはiOS 14以降、メモリ安全性を向上させるため、iBootのビルドに使用されるCコンパイラのツールチェーンを変更した。この改良は、バッファオーバーフローヒープ悪用、型混同の脆弱性、use-after-free攻撃など、一般的なメモリ破壊の脆弱性のクラス全体を軽減するように設計されている。これらの修正により、攻撃者が特権を不正に昇格させて、任意のコード実行を伴う攻撃など、悪意のあるコードの実行を防止できる可能性がある[17]

コースコード漏洩事件

2018年、iOS 9のiBootソースコードの一部がGitHubに流出し、当時のiPhone、iPad、iPod touch、Apple Watchの各モデルが被害を受けた[18]。 その後、AppleはGitHubに対し、リポジトリの削除を求める著作権削除要請(DMCA)を出した。この流出にはAppleの従業員が関与していると考えられていた。しかし、Appleによって確認されたわけではない。iBootのソースコードの公開に関与したのは「ZioShiba」という名前のユーザであることがわかっている。

履歴

iBoot-87.1最も古いバージョンであることが知られている。

iBootの最も古いバージョンはiBoot-87.1で、2006年から2007年にかけ製造された、最初期のプロトタイプiPhoneに搭載されたものである[19]。このバージョンは、iBootの最初のバージョン(iBoot-99)と同じ機能を持っていたが、最終リリース前の機能は持っていなかった。このバージョンのiBootは、iBootの「最初期ベータ版」と考えられる。初代iPhoneiPhone OS 1のリリースに伴い、最初にリリースされたiBootのバージョンはiBoot-159だった。

出典

  1. ^ a b c Ryan, Peter Y. A.; Naccache, David; Quisquater, Jean-Jacques (2016-03-17) (英語). The New Codebreakers: Essays Dedicated to David Kahn on the Occasion of His 85th Birthday. Springer. ISBN 9783662493014. https://books.google.com/books?id=NA_NCwAAQBAJ&q=apple+bootloader&pg=PA419 
  2. ^ Hayes, Darren R. (2014-12-17) (英語). A Practical Guide to Computer Forensics Investigations. Pearson IT Certification. ISBN 9780132756150. https://books.google.com/books?id=s5beBQAAQBAJ 
  3. ^ Boot process for an Intel-based Mac - Apple Support”. Apple Platform Security. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  4. ^ Intelプロセッサ搭載Macのブートプロセス”. Appleプラットフォームのセキュリティ. Apple. 2025年8月9日閲覧。
  5. ^ iPhoneおよびiPadデバイスのブートプロセス”. Apple Support. 2025年8月9日閲覧。
  6. ^ Apple Inc. (2016年5月). “iOS Security Guide”. apple.com. 2016年2月27日時点のオリジナルよりアーカイブTemplate:Cite webの呼び出しエラー:引数 accessdate は必須です。
  7. ^ iPhoneおよびiPadデバイスのブートプロセス”. Appleプラットフォームのセキュリティ. Apple. 2025年8月9日閲覧。
  8. ^ Appleシリコン搭載Macのブートプロセス”. Appleプラットフォームのセキュリティ. Apple. 2025年8月9日閲覧。
  9. ^ iFixit Support: DFU Restore” (英語). iFixit. 2019年9月29日閲覧。
  10. ^ *OS: iBoot”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  11. ^ The Early Boot Process” (英語). developer.apple.com. 2017年8月26日閲覧。
  12. ^ LLB” (英語). The Apple Wiki (2023年9月10日). 2024年11月27日閲覧。
  13. ^ hoakley (2021年1月14日). “M1 Macs radically change boot and recovery” (英語). The Eclectic Light Company. 2024年11月27日閲覧。
  14. ^ Khandelwal (2018年2月8日). “Apple's iBoot Source Code for iPhone Leaked on Github” (英語). The Hacker News. 2025年7月9日閲覧。
  15. ^ iRecovery on GitHub”. GitHub. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  16. ^ iBoot information from the Apple Wiki.”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
  17. ^ Memory safe iBoot implementation”. Apple Platform Security. Apple. 2023年1月25日閲覧。
  18. ^ “Apple confirms iPhone source code leak”. BBC News. (2018年2月9日). https://www.bbc.com/news/technology-43001911 
  19. ^ iBoot-87.1 on the iPhone 2G by mcg29 on Twitter.” (2024年3月6日). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  iBootのページへのリンク

辞書ショートカット

すべての辞書の索引

「iBoot」の関連用語

iBootのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



iBootのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのiBoot (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS