広告主は、あなたが使っているAndroidアプリをどうやって知るのか

端末IDについて、アプリを介してあなたの情報を得る広告主について、こうした追跡をかわすための方法について。

これまでにKaspersky Dailyでは、インターネット広告のメカニズムと、あなたがアクセスしたWebサイトを知るために広告ネットワークが使っている方法について取り上げました。しかし、オンラインでのあなたの生活に関わっているのはWebサイトだけではありません。おそらく、相当な時間をモバイルアプリに費やしているのではないでしょうか。実は、こういったアプリも広告から収入を得ています。Webサイトと同様、アプリも広告ネットワークに協力しているのです。

広告主があなたに関する詳しい情報を収集して、あなた向けにパーソナライズした広告を配信できるようにするため、モバイルアプリはあなたのデバイスに関する情報を広告主に提供します。その中には、Googleが広告への使用を許可していない情報も含まれています。

Androidデバイスの追跡に役立つ情報とは

さてアプリは、あなたのスマートフォンに関するどのような情報を、広告ネットワークに伝えるのでしょう?まず、アプリがそのデバイスにインストールされていることを知らせます。多数のアプリから寄せられたこの情報から、広告ネットワークは、あなたが何に興味を持っているか、どの広告があなたの興味を引きそうかを知ることができます。たとえば、しょっちゅう自撮りをし、スマートフォンにInstagramとSnapchatをインストールしている人には、画像フィルターや各種効果を提供するアプリが喜ばれるでしょう。

広告ネットワークは、個々のアプリが実行されているデバイスを正確に判断するためにさまざまなIDを使用しています。Androidスマートフォンやタブレットの場合、このようなIDを1台につき数種類持っているのが普通です。そのほとんどは、広告主の支援を目的に作られたものではありませんが。

セルラーネットワーク上の携帯電話を識別するのに役立つのは、IMEIコード(国際移動体装置識別番号)です。たとえば、盗まれたデバイスをブロックする場合に、IMEIを使って識別が行われます。シリアル番号は、リコールが発生したとき同じロットのデバイスを探し出すのに役立ちます。同じく端末固有のIDであるMACアドレスは、ネットワーク接続の際に使われるもので、自宅Wi-Fiの共有を許可済みデバイスだけに制限する場合に便利です。そしてAndroid ID(SSAID)は、アプリの開発者が自社アプリのライセンスを管理するために使用します。

広告専用のIDは長い間存在せず、アプリは先ほど説明した各種IDをパートナーと共有していました。そのため、パーソナライズされた広告を回避する方法は基本的にありませんでした。というのも、IMEIやMACは端末固有のコードなので、このコードが分かればデバイスを簡単に識別できるのです。広告ネットワークはこのコードを受け取るたびに、あなたが持っているその電話にアプリがインストールされていることを把握します。

理論上、これらのコードは変更できます(そのためのアプリもあります)。しかし、変更はそれほど簡単ではなく、困ったことに電話を危険にさらすことになりかねません。どういうことかというと、変更するにはroot権限が必要で、デバイスをroot化すると攻撃を受けやすくなるのです。さらに、IMEI変更などの操作を違法とする国もあります。

それよりも、Android IDを変更する方が簡単です。スマートフォンまたはタブレットを工場出荷時の設定にリセットする、これで終わりです。しかし、一度リセットしてしまったら、すべてを一からセットアップし直さなければなりません。つまり、アプリを全部再インストールし、1つずつログインする必要があるのです。一言で言って、面倒です。たびたびリセットしてもいいと考える人がそれほど多くないのはこのためです。

広告ID — 理論

2013年、Android利用者と広告業界の両方に対する妥協策として、Googleは専用の広告IDを導入しました。このIDはGoogle Playサービスによって割り当てられますが、利用者は必要に応じてIDをリセットし、新しいIDを作ることができます([設定]-[Google]-[広告]-[広告IDをリセット])。広告ネットワークの側では、このIDを使って、デバイスの持ち主の習慣や趣味を追跡できます。一方の利用者側では、広告主に追跡されるのが気に入らなければ、いつでも簡単にIDをリセットすることが可能です。

Google Playストアの規則では、広告主は専用の広告IDを広告目的に限り使用できるとしています。このIDとほかのIDとの関連付けは禁じられていませんが、アプリは関連付けに際して利用者の同意を得る必要があります。

ここから透けて見えるのは、パーソナライズされた広告を気にしない人なら広告IDをそのままにしておいてくれるのではないか、さらにはアプリがこのIDと何かを好きなように関連付けるのを許可してくれるのではないか、という期待です。どうしても広告が気になるならば、このIDとほかのIDとの関連付けを禁止し、ときどきIDをリセットすれば、それまでに収集された情報とデバイスの関係を断つことができます。しかし、現実はそうはいきません。

広告ID — 現実

サージ・エジェルマン(Serge Egelman)氏の調査によると、70%を超えるGoogle Playアプリが、利用者に知らせることなく、少なくとも1つのIDを追加で使用しています(英語)。そのようなアプリの中には、3D BowlingClean MasterCamScannerなど、数百万人にダウンロードされたものもあります(リンク先はいずれも英語)。

使われているのはもっぱらAndroid IDですが、IMEI、MACアドレス、シリアル番号も使われています。中には一度に3種類以上のIDをパートナーネットワークに送信するアプリもあり、たとえば、ゲームアプリの3D Bowlingは広告ID、IMEI、Android IDを使用しています。

このような使い方は、広告IDという考えそのものを無意味なものにしています。追跡されるのを不快に思って広告IDのリセットを繰り返したところで、広告ネットワークが、別の、より持続性の高いIDを使って、既存のプロファイルと新しい広告IDを関連付けるのですから。

悪意あるアプリに変貌したスキャナーアプリ

このような行為がGoogle Playのルールに違反しているにしても、IDを悪用するアプリの追跡は簡単ではありません。Googleは、リリースの前にすべてのアプリをチェックしますが、少なからぬ不誠実な開発者が抜け道を発見しています。隠れマイナーでさえストアに入り込む道を見つけていますから、悪意ある機能が表だって分からないアプリが気付かれないのも無理はありません。

Googleとしては、このようなアプリによる端末IDへのアクセスを単純に拒否することはできません。端末IDの用途は広告だけではないからです。たとえば、GoogleがモバイルアプリによるAndroid IDへのアクセスを拒否すると、アプリの開発者は違法コピーから製品を保護できなくなります。要は開発側の権利が侵害されてしまうのです。

煩わしい広告との闘い

当然ながら、GoogleはIDの悪用を制限するための対策を講じています。たとえば、Android Oreo以降、アプリはそれぞれ独自のAndroid IDを取得することになりました。このため、広告IDではなくAndroid IDに頼っている広告ネットワークでは、ある人が1つのデバイスにインストールしているInstagramとSnapchatはそれぞれ別のデバイスにインストールされているように見えるため、Android IDを使って正確なターゲティングをすることはできません。

しかし、IMEI、シリアル番号、MACアドレスは、このような保護を受けられません。また、市場には、古いバージョンのAndroidが稼働する、Android Oreoへアップデートされることのないスマートフォンやタブレットがあふれています。そのためKasperskyでは、アプリの管理によってデータ収集を制限することをお勧めしています。

  • 不要なアプリは定期的に削除しましょう。インストールされているアプリの数が少なければ少ないほど、広告ネットワークが収集できるデータも少なくなります。
  • 取っておくと決めたアプリに、必要以上の許可は与えないようにしましょう。こうしても追跡行為を完全に排除することはできませんが、少なくとも、アプリがあなたのIMEIを見境なくばらまくのを防ぐことができます。アプリにIMEIへのアクセスを与えるのは「電話」の権限です。この権限を持つアプリは、電話番号の読み取り、通話履歴の参照、電話の発信(支払いはあなた持ち)など、さまざまなことができますから、この権限を与えることはお勧めしません。
ヒント