ユーザーの承諾なくスマートフォンからユーザーの情報を外部に送るとして、「Carrier IQ」というソフトウエアが話題になっている。これはいわゆるマルウエアではなく、正規のソフトウエアとして、いくつかのスマートフォンに組み込まれている。これが、通話やSMS、位置情報、検索したURL、カメラ、利用したアプリ、押されたキーの種類などの情報を勝手に収集し、外部に送り出すのだという。

 スマートフォン上のユーザー情報を取得して外部に送信するのは、実はCarrier IQに限ったことではない。Carrier IQは工場出荷時にインストールされてくるものだが、ユーザーがマーケットで入手してインストールするアプリにも、スマートフォン上の個人の情報を外部送信するものが多々ある。それも、必ずしも不正プログラムというわけではなく、ごく普通のアプリのなかに、そういったものがある。

 そもそもスマートフォンには数々のセンサーが搭載されていることもあり、アプリが端末から各種の情報を取得できるようになっている。これによって、例えばユーザーの現在位置を地図上に表示するアプリケーションを実現できる。便利なアプリを作るうえでは欠かせない仕組みである。端末から情報を取得すること自体は、何ら悪いことではない。

 問題視されているのは、目的がよく分からないまま情報を収集され、それを外部に送られることである。例えば音楽再生アプリでユーザーの位置情報を取得するようなケースだ。ユーザーからすれば、たいていは音楽を再生するだけのつもりで、位置情報を取得されることは想像しづらい。結果として、勝手に個人の情報を外部に送られ、第三者によって収集されているように見える。

データ取得の承認要求はあるものの…

 Androidアプリでは、端末から情報を取得する際にはパーミッション(承認)を要求することになっている。アプリに含まれるマニフェストファイル(XMLデータ)の中で、利用するパーミッションを宣言する。例えば電話番号など端末固有の情報を取得するならREAD_PHONE_STATEパーミッション、ログ(利用履歴)情報を取得するならREAD_LOGSパーミッションという具合である。アプリの利用時にはパーミッションの確認画面が表示され、ユーザーが拒否すれば、その情報を取られることはない。

 とはいえ、この仕組みは必ずしもユーザーにやさしくない。パーミッションの仕組みに関してよく指摘されることだが、アプリを起動するたびに「こんな情報を取得しますが構いませんか?」と尋ねられて、毎回きちんと目を通すだろうか。多くの場合、ユーザーはいちいち内容を細かく確認せずに承認してしまうはずだ。パーミッションの仕組みが、機密保護の面で実効性をもって機能するかというと、かなりあやしい。

 一方、アプリ開発者はパーミッションを要求すれば十分と考えがち。さらに困ったことに、アプリ開発者自身、自分が開発したアプリがどんな情報を収集しているかをあまり意識していないケースが珍しくない。原因の一つは、アプリケーションへの広告挿入用として、広告配信業者が提供するモジュールを単純にアプリに埋め込んでいることにあるようだ。

 広告を掲載することで、アプリ開発者は収入を得ることができる。これがアプリを安価に流通させることにもつながっている。このため広告も、一概に悪いものとは言えない。しかし広告を表示させるために端末からどんな情報を取得するかを明示している広告配信業者は少なく、アプリ開発者もモジュールをそのまま使うため、ユーザーに情報の取得目的が明示されないアプリが出来上がる。そしてユーザーが内容に構わず承認するため、結果として、「知らないうちにプライバシーにかかわる情報まで漏れ出した」ということになる。

とはいえ、「ユーザー責任」だけで片付けられるのか

 アプリを使っているとすればユーザーがデータの収集を承認したことは事実。最終的にはユーザーが自分の責任で使っているわけだから、筋から言えば、情報を取得されてもやむを得ない。とはいえ、効果が低いことを容易に想像できる仕組みをもって、ユーザー責任の一言で片付けてしまうのは少々荒っぽい気がする。

 意図的にスパイウエアを仕込もうとしているのなら別だが、そうでないなら、提供する側、つまりアプリ開発者やマーケット運営者、そして広告事業者は、もっとユーザーに親切であってよいだろう。中には、外部に送る情報がいわゆる“個人情報”に当たり、利用目的などを明示することが義務になるケースもあるのだから、アプリ開発者らには意識を高めてもらわなければ困る。少なくとも、何らかの情報が送出されていることにユーザーが気づいたとき、取得を中止できるオプトアウトの仕組みは欠かせない。こうした仕組みを備えていないアプリを排除するような、マーケットでのアプリ審査も、もっと充実させていくべきだろう。

 もちろん、取得する情報の種類と取得目的を示す画面を表示させたとしても、ユーザーが現状のパーミッションと同様に扱ってしまえば問題は解消できない。アプリが情報を収集・送信する際に警告画面を表示したりすれば分かりやすいかもしれないが、現状ではそのための効果的なツールは見当たらないし、あったとしてもあまり頻繁に警告画面が出るのは、正直うっとうしい。となると、ユーザーのプライバシーに対する意識を高めていくことも避けては通れない。

 スマートフォンのセキュリティに関しては、こうしたプライバシー保護のほかにも考慮すべき点がたくさんある。そこで日経コミュニケーションでは、日経エレクトロニクスと共同で、「Androidセキュリティ・バイブル 2012」という書籍を発行した。セキュリティモデル、最新の攻撃の動向に加えて、端末開発者、アプリ開発者、そしてユーザー企業のそれぞれの観点から、押さえておきたいセキュリティを解説してある。上記のパーミッションやアプリ開発についてまとめたパートもある。少々値が張るが、現時点ではほかにないコンテンツになったと思う。スマートフォンにかかわる仕事をしている方々には、ぜひ一読していただきたい(詳しくはこちら)。