すでにご存知かもしれませんが、改めて申し上げましょう。iOS 10以降、Appleはカーネルを暗号化しません(英語記事)。カーネルが暗号化されなくなる…それが何か?という方のために、どうしてこれがニュースになったのか、そしてAppleユーザーにとって何を意味するのか、整理してみましょう。
何が起きたのか?
Appleは6月13日(米国時間)、開発者に向けてiOS 10ベータ版の配信を開始しました。そこで、Apple史上初めて、OSカーネルが暗号化されていないことが判明しました。この事実を巡り、白熱した論争が繰り広げられました。どうすれば、そんなことが可能に?誰かがとんでもないヘマをやらかしたのか?それとも、Appleは故意に暗号化を止めたのでは?などなど。先ごろAppleは、これらの疑問を解決してくれました。意図的に暗号化しなかったというのです。
Appleの広報担当者はTechCrunchに対し「カーネルのキャッシュにはユーザー情報が一切含まれていない。暗号化しないことで、セキュリティを損なわずにOSの性能を最適化することができる」と述べています(英語記事)。
さて、カーネルの暗号化がOSのセキュリティに影響しないなら、なぜAppleは長きにわたって暗号化を続けてきたのでしょう?また、なぜ今さら、暗号化を止めると言い出したのでしょうか?
Apple confirms iOS kernel code left unencrypted intentionally https://t.co/9CMEoEPNQU by @kateconger
— TechCrunch (@TechCrunch) June 23, 2016
カーネルとは何か?カーネルを暗号化する目的とは?
カーネルはOSの中核であり、システムソフトウェアやアプリに対して、ハードウェア(CPU、メモリ、データストレージ)へのアクセスを提供する役割を果たします。デバイス全体のセキュリティにとって、カーネルのセキュリティは非常に重要です。セキュリティポリシーの中には、カーネルレベルでサポートされていないかぎりアプリケーションに実装できないものもあります。
それでは、カーネルを暗号化する目的は何でしょう。それは機密性と安全性にあります。暗号化されていないカーネルは、ほぼ誰でも解析できますが、暗号化されたカーネルのリバースエンジニアリングには、より多くの手間が必要です。iOS 10を搭載したタブレットやスマートフォンが、過去のバージョンより必ずしも脆弱というわけではありませんが、最終的な結末は、さまざまな要因の影響を受けます。開発初心者でも、セキュリティエキスパートでも、悪意を持ったユーザーでさえ、カーネルを調べることができ、運がよければバグの1つや2つ見つける可能性があるのです。
「陥落しない要塞など存在しない」…脱獄していないiPhoneにも感染しうるマルウェアAceDeceiverについて。 https://t.co/hOz6M3KOUh pic.twitter.com/KT7O7VmgJn
— カスペルスキー 公式 (@kaspersky_japan) April 18, 2016
これはいい知らせでもあり、悪い知らせでもあります。犯罪者が真っ先に脆弱性を発見してしまったら、ユーザーに対して脆弱性を悪用することは間違いありません。セキュリティエキスパートが先ならAppleに連絡し、パッチがリリースされるでしょう。
OSの脆弱性を巡る悪玉ハッカーと善玉ハッカーの争いは、今に始まったことではありません。しかし、先日のAppleの決断は、Appleのユーザーにとって大きな影響を及ぼしかねません。
Appleはなぜ、開かれた方向へと進路を切り替えたのか?また、どのようにAndroid化するのか?
脆弱性の市場は規模が大きく、実のところ、ブラック(非合法)、グレー(半合法)、ホワイト(合法)の3つが存在します。Appleのポリシーは閉鎖的なので、iOSの脆弱性は発見が難しく、他のOSの脆弱性よりも高値が付くという状況を生み出しました。たとえば昨年、iOS 9のゼロデイ脆弱性を発見したリサーチャーに対し、Zerodiumは100万ドルの懸賞金を支払いました(英語記事)。Appleが暗号化を止めたことは、脆弱性取引業者にとって大打撃です。セキュリティホールを探す人が増えれば、脆弱性は短期間で発見されるようになり、市場価格が下がるからです。
銃乱射事件実行犯のiPhoneのロック解除をめぐり、AppleとFBIが鋭い対立を見せています。大論争となっている本問題、結局どういう話なの?まとめました。 https://t.co/PQR8n3wSXJ pic.twitter.com/0GcSYLZAqM
— カスペルスキー 公式 (@kaspersky_japan) March 1, 2016
さらに、Appleはタイムリーにセキュリティホールを修正できるようになります。もっとも、Appleにはバグの発見者に対する報奨金制度がないので、ハッカーは発見してもAppleには教えないでしょう。脆弱性をブラックマーケットか、グレーマーケットに売るほうが、ずっと儲かるからです。
Appleの決断にはもう1つの結末があります。長年にわたり、Appleはジェイルブレイク(脱獄)する人々との戦いを続けていて、近ごろは、勝利までもう一息というところまで来ていました。今のところ、iOS 9.3.3(現時点で最新バージョンのiOS)を脱獄できるツールはリリースされていません。暗号化されなくなれば、脱獄しやすくなるので、iOS 10用の脱獄ツールは比較的早くリリースされるでしょう。
暗号化されていないカーネルでは、カスタマイズ好きな人々のやりたい放題になるでしょう。Appleの厳格なポリシーに反対しているAppleユーザーは大勢います。こういう人は、OSを変更してサードパーティのアプリやアドオンをインストールしたいと考えていて、制約を回避する方法を常に探しています。
#Apple iOSはなぜ、どのように #Android 化するのか
Tweet
結局のところ、iOSが開発者にとってオープンになるほど、最初からオープンなOS、Androidに近づいていきます(そして、このオープン性がゆえに、数々のセキュリティ問題を引き起こしてもいます)。今回のAppleの方針転換は、多くの人に歓迎されているようです。