Xperiaを始めとしたAndroidスマートフォンを所有する一部のユーザーの間では「rootをとる」「root化する」と言うことが盛んにおこなわれています。しかし、そもそも『root化する』と言うのはいったい何なのでしょうか?
『root』とは?
ここで言う『root』とは、Ubuntuを始めとしたLinuxなどUNIX系OSのアカウントです。それも一般にスーパーユーザーと呼ばれる『管理者アカウント』を指す言葉です。この管理者アカウントは管理者権限によって全ての操作が可能になっています。
なぜ “root” と呼ばれるようになったかは諸説ありますが、rootユーザーでログインした際にホームディレクトリがシステムのルート “/” であることから呼ばれるようになったようです。
『root化する』とは?
自分が所有するパソコンの管理者は自分自身であることが多いです。特にWindowsでは何も考えずに初期セットアップを行うと、作成されるユーザーは管理者アカウントとなります。そのため、最初からroot化された状態であり管理者権限を持っているのでシステム領域にあるファイルの追加・削除・修正は容易に行うことができます。
それに対して、Androidスマートフォンにおける管理者は実質的に販売する “メーカー” もしくは “キャリア” であることが多く、所有する(購入した)ユーザーは一般ユーザーの扱いとなるため、管理者権限が無いのでシステム領域のにあるファイルの追加・削除・修正は原則として行うことができません。
そのため、スマートフォン本体を所有するユーザーがシステム領域にあるファイルを 追加・削除・修正 するためには、管理者権限を取得する必要があり、この行為を「rootをとる」「root化する」と呼んでいます。
このようにroot化されたスマートフォン本体は、システム領域に存在するファイルを任意に追加・削除・修正を行うことができるようになります。
『root化』ってなにしてるの?
一般的にroot化するためには、第三者が作成してくれたroot化キット(「ワンクリックrootキット」などとも呼ばれる)を使用して行うことがほとんどでしょうから、root化キットの作者以外の人は「何をしているのかわからない」と言う人がほとんどでしょう。
root化するための手法は様々ですが、最終的な目的はLinuxコマンド『su』をシステム(system/bin,system/xbinなど)に送り込むことです。そのため、「root化する」とは「suコマンドを使えるようにする」と言えます。
『root化』はキケン?
root化に関して「怖い」と言う意見をよく聞きますが、これは正しい感想です。
そもそも、管理者アカウントが所有者に無いのはセキュリティの為でもあり、ウィルスのような悪意のあるアプリが管理者権限によって不要にデータを取得されたりすることを防ぐ目的もあります。
しかし、root化されたスマートフォン本体は管理者権限によって “ありとあらゆる操作” が可能である為に、悪意のあるアプリによって「システムの破壊」や「個人情報の漏えい」などが容易にできてしまう状態になっています(セキュリティーレベルが低い状態)。
とは言え、対策方法は用意されており、昨今のroot化キット(root化するためのツール)では、root化した際に『SuperSU』など管理者権限での実行を抑制するためのアプリが同時にインストールされ、管理者権限の行使を所有者に確認することでが知らぬ間に実行されるのを防ぐことができます。
『SuperSU』とは?
管理者アカウントの管理者権限を管理するアプリです。
各アプリが管理者権限を使った操作を実行する際には『su』コマンドを実行して管理者アカウントに切り替えますが、root化した状態では、どんなアプリで『su』コマンドを実行できてしまうので、それを防止する為に、スマートフォン本体の所有者に対して確認する(スーパーユーザーリクエスト)ためのアプリです。
このアプリによって、所有者が自分自身で実行していないアプリが管理者権限で実行されるのを防ぐことができます。
ちなみに、“SuperSU” とは現在主流のアプリの1つであり、他には『Superuser』と呼ばれるアプリがあります。また同様に機能するアプリが独自に実装されている場合もあります。
このように対策は取られていますが、セキュリティーレベルが下がっている状態であることは間違いないく、そもそも『su』コマンドを管理するアプリが悪意のないアプリである保証はどこにも無いので「信じるか信じないかは、あなた次第です(by都市伝説)」と言うことになります。
そのため、root化に関してはどんな理由があろうとも自己責任となることを忘れないようにしましょう。