情報セキュリティにはさまざまな専門用語がありますが、その多くのワードは「詳しくわからない」「他人に説明できるほどではない」という方が多いのではないでしょうか。マイナビニュースでは、カスペルスキー エヴァンジェリスト前田氏に寄稿いただき、"ググってもわからない"というセキュリティ用語を一から解説します。第7回は「Jailbreak」です。

著者プロフィール

前田 典彦(まえだ のりひこ)
カスペルスキー 情報セキュリティラボ チーフセキュリティ
エヴァンゲリスト

マルウェアを中心としたインターネット上の様々な脅威解析調査の結果をもとにし、講演や執筆活動を中心とした情報セキュリティ普及啓発活動に従事

Jailbreakの甘い罠

スマートフォンをお持ちの方は、非常に多いと思います。総務省の情報通信白書あるいは民間機関が調査集計した結果を見ると、調査によって若干数値にばらつきがあるものの、日本国内におけるスマートフォンの普及率は、おおそよ50~60%程度のようです。

集計結果からほかに読み取れる特徴として、全体的には最近4~5年で急激に普及率が上がっていること、および、30代以下の世代は平均値より普及率が高いことなどを挙げることができます。

スマートフォンは、AppleのiOS(iPhoneシリーズ)とGoogleのAndroid OS搭載端末したモデルがシェアを二分している状況です。そこで今回は、iPhoneに搭載されているiOSとAndroid OSのセキュリティについて考察します。

スマートフォンのセキュリティといえば、盗難紛失対策やマルウェア対策、アプリの安全性評価、有害コンテンツのフィルタリング、Wi-Fiの安全性など、いくつかの分野があります。どれも見逃してはなりませんが、今回は、迂闊な利用をすると、スマートフォンを最も危険な状況に追い込むと考えることができる、"OS自体が装備するセキュリティ機構"を解説します。

iOSとAndroidに限らず、近年普及しているOSの多くには「ユーザー」という概念があります。また、ユーザーに付帯する概念として「権限」があります。もともとは、複数の人間が物理的に一台のコンピューターを同時に使用することを想定して、使用者としてのユーザーを定義していました。

また、コンピューター自体を管理するユーザーとして「特権ユーザー(コンピューター用語としてはSuperuser)」が定義されていました。特権ユーザーは、コンピューター内の機能を、制限なく何でもできる存在です。コンピューター内の全権限を持っているという言い方もできます。

それ以外のユーザーは、何らかの制限を受ける存在として定義されます。例えば、コンピューターの電源を切るという処理は、特権ユーザーのみが可能で、それ以外のユーザーはできない、といった具合です。ここでの電源処理は、「電源スイッチを押す」「電源プラグを抜く」「ブレーカーを落とす」ではなく、コンピューター内で電源を切るという命令を与えるという意味です。

このようなことから、特権ユーザー以外のユーザーは、「一般ユーザー」と呼ばれることもしばしばです。

一般ユーザーに対しては、さらに細かく権限設定ができる場合もあります。例えば、ユーザーAは○○というファイルを開くことができ(read)、編集する(write)こともできる一方で、ユーザーBは該当ファイルを読み込みしかできない、といった具合です。また、機能としては、一般ユーザーから特権ユーザーに権限昇格する、あるいは別のユーザーに移行する仕組みも用意されています。

こうした概念や機構が実装されたOSであるUNIX系またはLinux系のOSでは、特権ユーザーのことを、歴史的に「root(ルート)」と呼びます。Windows系であれば、「Administrator」が特権ユーザーに相当します。

iOSは、MacOS Xをベースにしており、スマートフォンやタブレット、音楽プレーヤーに最適化しています。なお、MacOS X自体は、BSD系UNIXがベースになっています。Androidもまた、Linuxをもとにしてさまざまな携帯型端末用に開発された経緯があります。

つまり、iOS・Androidはともに、ユーザーや権限の概念が実装されたOSがもとになっており、これらの概念は引き継がれています。しかし、スマートフォンの場合は一般的に、各個人が一人で使用するものです。したがって、複数人で使用するために「ユーザー」と「権限」の概念と機構を実装しているというよりは、スマートフォンを安全に使用するためのものとして実装されている(残されている)と捉えるのが妥当です。

私たちが、市販のスマートフォンを手にする際、原則としては特権ユーザーではなく一般ユーザーとして操作するようになっています。それで事足りるように設計され、市販されているわけですが、一般ユーザーがあるということは、特権ユーザー(あるいはそれと同等のモード)が存在することになります。

特権ユーザーの権限がなくても、スマートフォンの機能を十分に享受できる仕組みになっているのですが、「権限」という機構の性格上、特権ユーザーになることができれば、できることはさらに広がります。そして、何らかの細工を施すことによって、スマートフォンでも特権ユーザーに昇格することができる場合があります。このことを、iOSでは「jailbreak;ジェイルブレイク(「脱獄」の意味)」、Androidでは「root化;ルート化(「rootになる」の意味)」と呼ばれます。

ここで注意したいのは、特権ユーザーの権限を得なくても、スマートフォンは十分に機能するということです。市販のスマートフォンをjailbreakあるいはroot化する必要はありません。ですが、一部の愛好家は、市販のスマートフォンのjailbreak・root化を試み、成功している事例があります。

本来はできないはずですから、それが出来るということは、多くの場合、OSにセキュリティ上の欠陥(セキュリティホール)があることを同時に示します。また、メーカーなどから正規の許可を得ている開発者や研究者でなければ、こうした行為は改造に相当するため、故障修理などのサポートを一切受けられなくなります。

個人の趣味として、jailbreak・root化をして楽しむ(?)だけであれば、まだ軽傷かもしれませんが、技術的にそれが可能であるということは、攻撃者にとっても同じ条件であるということを忘れてはなりません。攻撃者が作成するマルウェアの中には、強制的に権限昇格を試みるものが存在することも事実です。

ですが、最も悲惨な状況は、マルウェアに感染する前に、使用者が単なる興味本位でjailbreak・root化してしまっている場合です。iOSやAndroidで権限昇格を実現するためには、何らかのセキュリティホールを悪用する必要がありますが、セキュリティホールが発見された際は、OS開発者であるAppleやGoogleが発見次第、可及的速やかに修正されます。

つまり、攻撃者にとっても権限昇格を成功させるためには、「セキュリティホールを発見して、悪用するコードを作成する」「公表されていないセキュリティホールを買う」などという、それなりの労力や技術力が必要となります。

しかし、使用者が自らjailbreak・root化している場合は、攻撃者も労せずして特権モードを奪取することができ、スマートフォン上のあらゆるデータにアクセスすることができるようになります。つまり、攻撃者にとって攻撃し放題・情報も盗み放題の天国のようなスマートフォンになってしまうということができるのです。

何度も繰り返しますが、スマートフォンを使用するうえで、普通はjailbreak・root化は不要です。したがって、不用意なjailbreak・root化は厳禁といえます。

"With great power comes great responsibility."というフレーズは「偉大なる力(権限)には、大きな責任が伴う」という訳で、映画「スパイダーマン」で語られています。UNIX/Linuxで特権モードに移行するコマンド「sudo」を実行する際にも引用されることがある名言を、最後に紹介しましたが、皆さんもこの言葉を胸に、よく考えてスマートフォンを利用してください。