「GitHub」で2018年2月に一般公開
iOSを起動させる「iBoot」のソースコード流出はなぜ起きた? セキュリティへの影響を解説
iOSデバイスが搭載する「iBoot」のソースコードが2018年2月、「GitHub」で一般公開された。そのいきさつとiOSのセキュリティに及ぼす影響を解説する。
Appleの「iOS」デバイスに搭載されている起動プログラム「iBoot」のソースコードが2018年2月、ソースコード共有サイト「GitHub」で一般に公開された。ソースコードの流出はどのくらい重大な事態なのか。iBootに対して潜在的にどんな影響を及ぼしたのか。振り返ってみよう。
iOSデバイスが起動する際、プロセッサは即座に「Boot ROM」というROMに格納されている起動プログラムを実行する。Boot ROMはプロセッサ製造の過程で設計され、暗黙に信頼されている。このBoot ROMに含まれるAppleのルート証明書(認証局が自身に対して発行するデジタル証明書)は、iBootを起動するためのプログラム「Low-Level Bootloader」(LLB)を読み込むためのデジタル署名の検証に使う。
iBootは、iOSの最も基本的なレベルで完全性の検証を担う。その後Appleのデジタル署名が入ったソフトウェアのみを読み込み、続いてiOSがフル起動する。iBootのような起動プログラムは、OSの安全性を保つために欠かせない。そのソースコードが一般に流出したことで、iOSデバイスのセキュリティは脅かされるのか。
汎用(はんよう)プログラミング言語のC言語で書かれたiBootのソースコードは2017年、まずソーシャルニュースサイト「Reddit」の、「Jailbreak」(脱獄:Appleの管理下から逃れること)に関するサブフォーラムに投稿された。投稿者が新規ユーザーで、Redditでほとんど知名度がなかったことから、当時はほとんど注目を集めなかった。ところがこれがGitHubに登場するとビッグニュースになった。
Appleは米国のデジタルミレニアム著作権法(DMCA)に基づき、GitHubに削除通告をした。これでソースコードの削除は保証されたが、DMCAの通告を出すためには、それが自社の財産であることをAppleが証明する必要があるため、このソースコードが本物だったことも判明した。
iOSとクライアントOS「macOS」のソースコードの一部は、既にAppleがオープンソース化しているが、iBootは非公開だった。ただし脆弱(ぜいじゃく)性報告の報奨金プログラム「バウンティープログラム」を通じてAppleに起動プロセスのバグを報告すれば、最大で20万ドルの賞金が支払われることから、多くの部分が既にリバースエンジニアリング(ソースコード解析)されていた。
理論的にはiBootのソースコードの脆弱性を悪用すれば、iOSが起動する過程で、デジタル署名のないコードや偽造署名を使ったコードを実行できる。サイバー犯罪集団やセキュリティ専門家、あるいはJailbreakなどの手段で、Appleのセキュリティコントロールをかわそうとする者にとって、ソースコードは間違いなく注目の的になる。ソースコードの弱点を発見するためのツールを使って、このソースコードのファジング(脆弱性の検出)をするやり方は、既にインターネットに掲載されている。
iBootの過去のバージョンでは実際に、攻撃者が脆弱性を突いてブルートフォース(総当たり)攻撃を仕掛け、スマートフォン「iPhone」のロック画面を突破して、暗号化されたユーザーデータを復号していた。だがAppleはその後、追加的なセキュリティ対策を実装した。流出したiBootのソースコードは3年前のもので「iOS 9」用に書かれているが、一部の脆弱性は今も「iOS 11」に存在している可能性がある。
Appleデバイスの大多数は既に、同社の最新セキュリティ対策を盛り込んだiOS 11を搭載している。その中には、セキュリティ層を手厚くするためにメインプロセッサから切り離された、セキュリティ用コプロセッサ「Secure Enclave」のためのアップデートも含まれる。Secure Enclaveはハードウェアベースの鍵管理を可能にする。
たとえ今回の流出によって、iBoot内部の仕組みを自由に参照できたとしても、見つかったバグが悪用できる公算は小さい。AppleがiOSに実装した手厚いセキュリティ対策に阻まれると考えられるからだ。iBootはiPhoneのUSB接続ケーブルを介して通信することも可能だが、攻撃者が脆弱性を悪用したとしても、iOSデバイスの起動時検証や暗号化といったセキュリティ対策を迂回(うかい)できる公算は小さい。
AppleのiOSは、最も信頼できるモバイルOSだと見なされてきた。そのためプロプライエタリなiBootソースコードを守れなかったことは、Appleにとって屈辱だった。今回の流出がiOSユーザーのセキュリティに、重大な影響を及ぼすことはないかもしれない。だがソフトウェアやハードウェアの開発チームにとって、ソースコードを非公開にすることを通じたセキュリティが、必ずしも頼みにできないことの裏付けとなったのは確かだ。
どんな製品であれ、ハードウェアやソフトウェアの保護層を何層も設計に組み込む「多層防御」が必要とされる。ソースコードのようなプロプライエタリな情報に対するアクセス管理については、確実な監査を定期的に実施して、アクセスする必要のあるエンドユーザーのみにアクセス権を付与するように徹底しなければならない。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー