スマートフォンはどのようにユーザーを追跡するのか

最近の調査で、「感染していない」Androidスマートフォンも持ち主に関する情報を大量に収集していることが明らかになりました。

スマートフォンに初めからインストールされていて、大抵は削除ができない、システムアプリ。システムアプリが注目されることは、ほとんどありません。しかし、ほかのアプリやサービスについては利用者側で何らかの選択が可能であるのに対し、システムアプリの場合、追跡や監視の機能がスマートフォンの構造そのものに「縫い込まれている」状態です。

上記は、エジンバラ大学およびダブリン大学トリニティカレッジのリサーチャーによる最近の共同研究の結論の一部です(英語資料)。この研究は、大手ベンダー4社のスマートフォンを対象に、スマートフォンがどの程度の情報を送信しているかを調査したものです。このほかに、AndroidをベースにしたオープンソースのOSであるLineageOS、/e/OSを搭載したスマートフォンも調査し、比較対象としました。結果は以下のとおりです。

調査方法

実験の純度を確保するため、実生活では遭遇しないような、かなり厳密な操作シナリオが設定されました。スマートフォンを使った操作は通話とテキストメッセージのみ、メーカーによってプリインストールされている以外のアプリはインストールされていない状態としました。

さらに、スマートフォンを初めて起動するときに必ず表示される「データを転送してサービスを向上させますか」という内容の質問全部に「いいえ」の回答をし、クラウドストレージや「端末を探す」といったメーカー提供のオプションサービスを一切起動しませんでした。つまり、調査の間を通じ、スマートフォンができるだけ情報をシェアせず、できるだけ初期状態を保つようにしています。

基本的な「スパイ行為追跡」の技術は、このタイプの研究ではすべて同じです。調査対象のスマートフォンは、Wi-Fiアクセスポイントとして機能するミニコンピューター、Raspberry Piに接続します。Raspberry Piにインストールされたソフトウェアは、スマートフォンからのデータストリームを傍受して復号します。その後データは再び暗号化され、受信者(スマートフォン、アプリ、またはOSの開発者)へと届けられます。言ってみれば、悪意なき中間者攻撃といったところです。

調査で使用された、スマートフォンが送信するデータの傍受の仕組み

調査で使用された、スマートフォンが送信するデータの傍受の仕組み。 出典

朗報は、送信データがすべて暗号化されていたことです。この業界は、デバイスやプログラムやサーバーが何の保護もなく平文で通信するという「病」を、ようやく克服したと見えます。リサーチャーたちは実際、送信されたのは何なのかを把握するために、データの解読と分析に多くの時間と労力を費やしました。

その後、調査チームはスマートフォンのデータを完全に消去し、初期設定を行いました。続いて、Googleアカウントにログインしない状態でスマートフォンの電源を数日間入れたままにして、スマートフォンからのデータ転送を監視しました。次に、Googleアカウントでログインし、一時的に位置情報を有効にしてスマートフォンの設定を行い、設定の各段階でどのようなデータがどこへ送られたかを監視しました。テスト対象となったのは全部で6台のスマートフォンです。4台はメーカーのファームウェアを搭載したもの、2台はAndroidをベースとしたオープンソースOSである「LineageOS」および「/e/OS」を搭載したものです。

データを集めているのは誰か

大方の予想どおり、データを収集するのは、主にスマートフォンメーカーでした。オリジナルのファームウェア(およびプリインストールされた一連のプログラム)が稼働する4台のスマートフォンはすべて、デバイスのシリアル番号などの永続的識別子と共に、テレメトリデータをメーカーへ送信していました。調査レポートでは、標準的なファームウェアとカスタムビルドの間の違いが示されています。

例えば、LineageOSには開発者にデータを送信するオプション(プログラムの動作安定性の監視などが目的)がありますが、このオプションを無効にするとデータ送信が停止します。標準的なファームウェアの場合、初期設定のときにデータ送信を許可しないことで送信データ量を減らすことはできますが、データ送信を完全に止めることはできません。

次にデータを受け取っているのは、プリインストールされたアプリの開発者です。ここでも、興味深い微妙な差異が見て取れます。Googleのルールによると、Google Playからインストールされたアプリは、ユーザーの活動を追跡するために特定の識別子(Googleの広告ID)を使用しなければなりません。この識別子は、スマートフォンの設定内で変更することができます。しかし、この要件は、メーカーがプリインストールしたアプリには適用されません。プリインストールされたアプリは、永続的識別子を使用して多くのデータを収集します。

例えば、プリインストールされているSNSアプリは、アプリが一度も開かれていなくても、そのスマートフォンの所有者に関するデータを自社サーバーへ送信します。さらに興味深いことに、あるスマートフォンのシステムキーボードから、そのスマートフォンでどのアプリが起動しているかについてのデータが送られていました。また、いくつかのスマートフォンにはオペレーター用のアプリがインストールされており、これらもユーザー関連の情報を収集していました。

最後に、Googleのシステムアプリについても触れておきましょう。ほとんどのスマートフォンには「Google Play開発者サービス」「Google Playストア」が初めから入っており、大抵は「YouTube」「Gmail」「Googleマップ」などのアプリもプリインストールされています。調査チームは、プリインストールされたアプリのうち、Googleのアプリやサービスが、それ以外のアプリよりもはるかに多くのデータを収集していると指摘しています。下のグラフは、Googleに送信されるデータ(左)と、Google以外に送信されるデータ(右)を比較したものです。

ユーザー情報受信者別のデータ送信量(キロバイト/時)

ユーザー情報受信者別のデータ送信量(キロバイト/時)。平均的に、Google(左)の方が、それ以外の合計の何十倍ものデータを送信している。出典

どのようなデータが送信されるのか

このセクションでは、再び識別子に注目します。どんなデータにも、送信者を識別するための何らかの固有のコードがあります。この用途にワンタイムコードが使用される場合がありますが、開発者が有用と考える統計(システムの運用安定性など)を収集する方法として、ワンタイムコードはプライバシーの観点から言って正しい方法です。

しかし、ユーザーのプライバシーを侵害するような、長期的な識別子や永続的な識別子も収集されています。例えば、先ほど少し触れたGoogle の広告 IDは、Googleとスマートフォンメーカーの両方に送信されます。スマートフォンの所有者はこの識別子を手動で変更できますが、ほとんどの人は変更しないので、この識別子はほぼ永続的だと考えることができます。

スマートフォン端末のシリアル番号、無線モジュールのIMEIコード、そしてSIMカード番号は、永続的識別子です。端末のシリアル番号とIMEIコードがあれば、電話番号が変わっても、端末が完全にリセットされても、その持ち主を特定することができます。

端末のモデル、ディスプレイのサイズ、無線モジュールのファームウェアバージョンなどは同機種のスマートフォンに共通であるため、こうした情報を定期的に送信することに関しては、プライバシーの観点では低リスクです。しかし、特定アプリ内での行動に関するデータからは、スマートフォン所有者について多くのことが明らかになる可能性があります。調査レポートでは、アプリのデバッグに必要なデータと、ターゲティング広告用などに詳細なユーザープロファイルを作成するために使用できる情報との微妙な境界線について、触れられています。

例えば、あるアプリがバッテリーを大量に消費していることを知るのは、開発者にとって重要であると同時に、最終的にはユーザーの利益にもなります。また、インストールされているシステムプログラムのバージョンを知ることで、アップデートをダウンロードするタイミングを判断することができるのも有用です。しかし、音声通話の開始と終了の正確な時刻を収集することには価値があるのか、倫理的にどうなのかは、疑問が残ります。

また、インストールされているアプリのリストも収集されています。スマートフォンにインストールされているアプリからは、その人の政治的指向や宗教的な方向性など、個人に関する多くの情報が読み取れる可能性があります。

出所の違うユーザーデータを組み合わせる

徹底した調査にもかかわらず、携帯電話メーカーやソフトウェアメーカーがどのようにユーザーデータを収集して処理しているのか、完全に把握することはできませんでした。そのため、調査チームはいくつかの仮説を立てる必要がありました。

仮定その1:永続的識別子を収集するスマートフォンメーカーは、ユーザーが端末からすべてのデータを消去してSIMカードを交換したとしても、ユーザーの行動を追跡できる。

仮定その2:すべての市場参加者はデータの交換が可能であり、永続的な識別子と一時的な識別子、さらにさまざまな種類のテレメトリデータを組み合わせることで、ユーザーの習慣や好みについて可能なかぎりの情報を得ることができる。ただ、これが実際にどのように起こるのか(また、開発者間で実際にデータが交換されるのか、あるいは第三者にデータを販売するのか)については、この研究の範囲外の話です。

調査チームは、データセットを組み合わせてスマートフォン所有者の完全なプロファイルを作成している可能性を考えている

調査チームは、データセットを組み合わせてスマートフォン所有者の完全なプロファイルを作成している可能性を考えている(gaid=Google Advertising ID)。出典

まとめ

プライバシーの観点から名目上の勝者となったのは、/e/OSを搭載したスマートフォンでした。/e/OSスマートフォンはGoogle Playサービスの独自バージョンを使用しており、まったくデータを送信しませんでした(リンク先は英語)。同じくオープンソースのファームウェア(LineageOS)を搭載したスマートフォンは、開発者にはデータを送信しませんでしたが、Googleへは送信していました。LineageOSスマートフォンには、端末の正常動作に不可欠なGoogleのサービスがプリインストールされており、Google Playサービスがなければ、一部のアプリや多くの機能が動作しなかったり、動作が不安定になったりします。

大手スマートフォンメーカー4社の独自ファームウェアについては、大きな差異はありませんでした。いずれのメーカーも、ユーザーへの配慮を理由に、かなり大量のデータを収集します。調査レポートは、「利用状況データ」の収集と送信に対するユーザーのオプトアウトを彼らは基本的に無視していると指摘しています。この状況を変えられるのは、消費者のプライバシーをより確実に守るための規制強化のみであり、今のところ、テレメトリを完全に排除できるのは、(一般的なソフトウェアの使用が制限された)非標準のOSをインストールできるような上級ユーザーに限られます。

セキュリティに関しては、テレメトリデータの収集が直接的なリスクをもたらすことはなさそうです。これは、工場出荷時にマルウェアが直接インストールされる可能性のあるサードパーティ製スマートフォンとは大いに異なる点です。

この調査では、データ転送がかなり安全に行われており、少なくとも部外者がアクセスすることは困難だという明るい話がありました。ただし、この調査レポートには重要な但し書きが付記されています。いわく、この調査は欧州で展開されている機種を対象に行われたものであり、他の地域では法律やプライバシー関連規制によって状況が異なるかもしれません。

ヒント