広告から漏れる個人情報

誰もが使っている有名なアプリであっても、サードパーティ製のコードを使って広告を表示します。このコードが個人情報を暗号化せずに送信している可能性があります。

出所のしれないプログラムがもたらす危険については、これまでも何度か取り上げてきました。しかし、開発元や提供元が信頼できるアプリについては、ほとんどの人が、何の不安も持たずに信頼しているようです。評価が好意的だ、ダウンロード数が数百万回を超えている、Google  Playのような公式ストア経由で配布されているなどは、安全な証拠と考えられています。しかし、それは安全の保証になりません。

 

この記事では、トロイの木馬の話ではなく、データをインターネットに漏洩させる可能性のある正規品のアプリについて取り上げます。当社のエキスパートチームは、合計1,300万種類のAPK(Androidアプリケーションパッケージ)を調査し(英語記事)、その約4分の1がデータを暗号化せずにインターネット上に流していたことを発見しました。中にはダウンロード数が億単位のアプリもあり、5億を超えるものもありました。これは見逃せない問題です。

開発元のミスで情報がインターネットに漏れることもありますが、ほかに原因がある場合がほとんどです。利用者のデータをサーバーに送るよう求められた場合、大半のアプリは安全なHTTPSプロトコルを使用し、部外者がデータを傍受できないようにします。問題は、開発元が素性を確認せずに組み込んだサードパーティ製サービスにあります。たとえば、分析サービスや広告サービスの中には、セキュリティの確保されていないHTTPプロトコルを使ってインターネット経由で情報を送信するものがあります。

影響を受ける可能性のある情報

当社が検知したデータ漏洩の大半は、デバイスのモデル、技術仕様、ネットワークやISPに関連するデータ、APK名(システムはこの名前でパッケージを認識します)に関係するものでした。また、スマートフォンやタブレットの位置情報もリークするサービスが多数ありました。

さらに、組み込まれたサードパーティ製サービスが、アプリの使用状況に関する情報をHTTP経由で送信していたケースもありました。このような情報には「いいね!」、投稿、アクセスしたページのほか、デバイス所有者の個人情報(名前、電話番号、生年月日)も含まれていました。認証リクエストごとに作成される一意のキーが安全ではない方法で送信されていたことも、珍しくありません。幸い、ログインIDやパスワードを暗号化せずに送っているサービスはほとんどありませんでしたが、一部、そのようなサービスがあったのも事実です。

何が危ないのか

HTTP経由で送られる情報は平文である(暗号化されていない)ため、ほぼ誰でも読み取ることができます。たとえば、あなたが契約しているインターネットサービスプロバイダー(ISP)も、情報を読めるのです。それだけではありません。一般的にアプリからサードパーティのサーバーまでの通信経路には、「中継地点」の役目を持つデバイスが数か所にあり、こういったデバイスは情報を受け取って一定期間保管しています。

家庭用ルーターを含め、どのようなネットワークデバイスでも、脆弱性がないとは言い切れません。こうしたデバイスのハッキングに成功すれば、攻撃者は利用者情報にアクセスできるようになります(一方ISPは、ハッキングしなくても情報を見ることができます)。また、デバイスに関する情報(具体的にはIMEI番号とIMSI番号)を手に入れれば、利用者の行動をさらに監視できるようになります。情報がそろうほど、外部の人間があなたについて分かることが増えていきます。それこそ、広告主から、悪意あるファイルのダウンロードを持ちかけてくる偽の友人に至るまで。

しかし、デバイスや利用者に関するデータの漏洩は、問題の一部にすぎません。暗号化されていない情報が置き換えられる可能性もあるのです。たとえば、アプリからのHTTP要求に応えてサーバーが動画広告を送り返す場合、サイバー犯罪者がこれを傍受して有害な動画とすり替える可能性があります。あるいは、単に広告内のリンクを変更するだけかもしれません。その結果、自分がダウンロードするつもりだったアプリの代わりに、極悪なアプリをダウンロードしてしまう危険性があります。

できること

こうした状況への対策は、アプリの開発元が取り組むべき問題です。しかし、ただじっと待っているわけにもいかないので、利用者としてできることをいくつかご紹介します。

  • アプリが求めるアクセス権限を確認しましょう。そのアプリが何百万ダウンロードもされているようなアプリだったとしても。時間はかかるかもしれませんが、ムダにはなりません。たとえば、メッセンジャーアプリがあなたの位置情報を要求してきても、無理に教える必要はないのです。Androidのアクセス権限については、こちらの記事をご覧ください
  • できれば、有料版のアプリを購入しましょう。有料版には広告が表示されないので、データ漏洩のリスクが低くなります。しかし、それでもサードパーティの分析モジュールが使用されていて情報漏洩に関わってしまう可能性は否定できません。
  • VPNを使用しましょう。アプリ側でデータを守れなくても、保護された接続が守ってくれます。たとえば、カスペルスキー セキュアコネクションはまさにおあつらえ向きのツールです。
ヒント