ご存知の通り、セキュリティ専門家たちはiOS 10ベータ1のカーネルが暗号化されていないことに気づき、困惑しました。Appleは、カーネルにはユーザーデータが含まれていないため、システム全体のパフォーマンスを向上させるために意図的に暗号化せずに残していたため、大した問題ではないと主張しました(Apple自身の言葉による)。
しかし、Apple はそこで止まりませんでした。
著名な脱獄開発者であり iPhone ハッカーでもある MuscleNerd によって最初に発見されたように、iOS 10 ベータ 2 では実際にはオペレーティング システムのより多くの部分が暗号化されていないままになっています。
ここで何が起こっているのですか?
暗号化されていないとおっしゃいましたか?
「これは偶然ではありません。AppleはiOS 10ベータ2でさらに多くの画像を暗号化せずに残しました」と彼はツイートした。
たとえば、iOS 10 ベータ 2 では、32 ビットのブートローダー (ブート時に複雑なカーネルをロードするように設計された小さなプログラム) とすべての RAM ディスク (RAM に保存される仮想ディスク) は暗号化されません。ベータ 1 で暗号化されなかった iOS 10 カーネルの 64 ビット部分に加えて、ベータ 2 では、32 ビット バージョンと 64 ビット バージョンの両方で、カーネル全体が暗号化されません。
MuscleNerdのツイートに添付された画像によると、iOS 10 beta 2ではメインファイルシステム(もちろんユーザーデータは除く)が暗号化されていないようです。繰り返しになりますが、AppleはiOS 10カーネルが意図的に暗号化されていないのは、セキュリティ研究者が代わりに作業を行えるようにするためだと公言しており、この点でiOS 10 beta 2はさらに不可解です。
ちなみに、上の画像の「SEP」はSecure Enclave(下記参照)の略で、ATVはApple TVの略です。AppleはiOS 10の最終リリースで全ての部分を完全に暗号化する可能性があることに注意してください。
暗号化:セキュリティ vs 速度
暗号化は速度面で大きな負担となります。Googleに聞いてみてください。インターネット界の巨人であるGoogleは、すべての主力Androidデバイスにデフォルトでフルディスク暗号化を有効にすることを義務付けましたが、暗号化を有効にするとパフォーマンスがひどく低下するというユーザーからの苦情が相次いだため、すぐに方針を撤回しました。
これは、Android がソフトウェアで暗号化を実現するのに対し、Apple はカスタム設計されたシリコンのパワーを使用して、システムの速度が著しく低下することのない強力な暗号化を提供するためです。
Secure Enclaveへようこそ
iPhone 5s以降のiOSデバイスでは、Appleが設計したメインのアプリケーションプロセッサ内の小さなチップであるSecure Enclaveが、フラッシュストレージに書き込まれるデータの暗号化、Touch ID入力の処理、Apple Pay取引の認証を担当している。
セキュアエンクレーブはメインプロセッサ(iPhone 6sの場合はA9チップ)に組み込まれていますが、ソフトウェア、サービス、ハードウェアは内部の内容を読み取ることができません。セキュアエンクレーブは独自のファームウェア、ブートローダー、コードを備え、独自の暗号化メモリを使用し、A9との通信は割り込み駆動モデルのみで行われます。A9は共有メモリバッファにデータを配置し、その結果を読み戻します。
心配ですか?
「カーネルキャッシュにはユーザー情報は含まれておらず、暗号化を解除することで、セキュリティを損なうことなくオペレーティングシステムのパフォーマンスを最適化できます」と、iOS 10の最初のベータ版に暗号化されていないカーネルが搭載されていたとの報道を受けてAppleは説明した。
iOS 10の特定の部分を暗号化せずに残しておくことで、ゼロデイ攻撃の市場を弱体化させることができるというのが通説です。AppleはiOSのバグに対する報奨金プログラムを設けておらず、iPhoneの有料ハッキングの費用が高額であること自体をむしろ好んでいるようです。
FBIのジェームズ・コミー長官は、サンバーナーディーノ銃撃犯のiPhone 5cのロック画面を超えてアクセスすることを可能にしたハッキングに、FBIが少なくとも130万ドルを支払ったと述べた。
実際、iPhone のゼロデイ脆弱性に対するブラックマーケットの価格は、Apple のセキュリティチームが自分たちの取り組みを評価する際に考慮する「間接的な指標」の 1 つです。
この発見についてどう思いますか?
なぜAppleはiOS 10ベータ2でiOSの追加の部分を暗号化しないままにしたのでしょうか?これには何か隠された意図があるのでしょうか?それとも、セキュリティを損なうことなくiOS 10のパフォーマンスを最適化しているというAppleの主張を信じるべきなのでしょうか?
出典: MuscleNerd via iGen.fr (Google Translate)