2011年から17年にかけて発売されたiPhoneやiPadなどに、「修正不能」な脆弱性があることが明らかになった。アップルのプロセッサーに搭載された「ブートROM」に関する問題のため、iOSのヴァージョンを問わないという。悪用される危険性もある反面、セキュリティ研究者はアップルによる制約を外してiOSを分析できるようになる。いずれにしてもアップルにとっては大きな問題になりそうだ。

ここ数年、iPhoneのいわゆるジェイルブレイク(端末のロックを解除して好きなアプリをインストールできる状態にすること。「脱獄」とも呼ぶ)をほとんど目にしなくなった。この8月にiOS 12でジェイルブレイクの方法が数年ぶりに発覚したときは、かなりコアなアップルのハッカーさえもが驚くほどだった。

ところが、あるセキュリティ研究者が9月27日〔米国時間)に、2011〜2017年にリリースされたiPad、Apple Watch、iPod Touch、そしてApple TVなどの大半のモデルを含むほぼすべてのiOSデヴァイスで、ジェイルブレイクを実行する基盤となる脆弱性攻撃ツール(エクスプロイト)のコードを公開した。その影響は深刻である。

セキュリティ研究者のaxi0mXが「Github」に公開したエクスプロイトコードは、「checkm8」と呼ばれる。このコードは、アップルの独自チップである「A5」から「A11」までのチップセットを搭載したすべてのアップル端末、つまり「iPhone 4S」から「iPhone X」にいたるまでのiPhone全モデルに影響する。

このコード単独ではジェイルブレイクとはならない。だが、このエクスプロイトコードは、影響を受ける各モデルに合わせてジェイルブレイクをカスタマイズすることで、機器を完全に乗っ取れるようにしたり、アップルが通常認める範囲をはるかに超えたソフトウェアを実行可能にしたり、アップルの保護機能がたいていは排除しているデータの操作や共有が可能なアプリをプログラムするための基盤を広く提供することになる。

「今日は重要な日です」と、axi0mXは『WIRED』US版の取材に語る。「iOSのジェイルブレイクは数年前が全盛でした。当時のジェイルブレイクは一般的で、使いやすく、頻繁にアップデートされていたのです。しかしそれが徐々に変化し、iOS 9以来はジェイルブレイクの対応頻度が下がり、利便性もかなり低下し、誰もが簡単に実行できるようなものではなくなってしまいました」

古いブートROMはアップデートできない
今回のコードは、アップルのプロセッサに搭載されている「ブートROM」に依存したものだ。ブートROMとは、デヴァイスの電源を投入した際に最初に実行される基本コードを格納したチップである。axi0mXは、アップルがiOS 12ベータ用に2018年の夏にリリースしたパッチについて、リヴァースエンジニアリングや調査を行うことで、このブートROMの脆弱性を発見した。

ブートROMはシステムの基盤となる。このため悪用すれば、iOSの特定のヴァージョンにある脆弱性に依存しない、極めて強力なジェイルブレイク方法を生み出すことができる。

旧モデルであれば、最近リリースされたiOS 13にアップデートしていたとしてもチップは脆弱なままなので、コードの影響を受けてしまう。iOSデヴァイス用のブートROMに関するエクスプロイトコードが登場するのは、2010年の「iPhone 4」用のもの以来となる。『WIRED』US版はアップルにコメントを求めたが、回答は得られていない。

「これは本当に驚くべき発見といえます」と、長年iOSのジェイルブレイクに携わり、セキュリティアプリ「Guardian Firewall」を開発したウィル・ストラファッチは言う。「ブートROMの段階で起動しているので、古いデヴァイスでは修正できません。ブートROMをアップデートすることはできないのです」
https://wired.jp/2019/09/29/ios-exploit-jailbreak-iphone-ipad/