61
ウェブ上のプライバシー問題:デバイスのバッテリー寿命さえも追跡に利用される可能性がある

相手が本当にあなたを狙っていない場合、あなたは妄想に陥るでしょう。広告ネットワークが、それが良かれ悪かれ、あらゆるツールを使ってあなたを特定しようとしている現状を考えると、あなたの行動がすべて追跡されているのではないかと恐れるのは健全な反応と言えるでしょう。数週間前、プリンストン大学の2人の研究者が、独自に開発したツールを用いて、最もアクセス数の多い上位100万のウェブサイトにおける追跡行動を大規模に調査した論文を発表しました。その結果は、きっと驚くようなものではないでしょう!(クリックベイト対策で申し訳ありません。)

多くのトラッキングネットワークが、ユーザーの明示的な好みや暗黙の行動を回避し、提携サイトの監視下に置こうとしている方法について知りたい人にとって、この論文は興味深い内容です。しかし、本当に厄介なのは13ページ目からで、ブラウザの「フィンガープリント」を行う複数の手法が実際にどのように使用されているかが示されています。

フィンガープリンティングは、ブラウザーの描画能力や描画に使用できるフォントなど、一見恣意的な情報を、プライバシー保護にどれだけ力を入れたとしても、ある程度の信頼度の範囲内で一意に識別できるブラウザー情報の集合体の一部として扱うことに依存しています。

これにより、広告ネットワークやウェブサイトは、ブラウザのプライベート モード、Ghostery やその他のトラッキング ブロッカーの使用、または詳細をスクラブしてブロックする企業のファイアウォールの通過など、表面上は識別されていないブラウジング セッションを、そのブラウザ、または同じデバイスや他のデバイス上の他のブラウザでの以前に追跡された使用インスタンスと関連付けることができます。

privatei バッテリーモニターのデモ

一部のブラウザではバッテリーの状態に関する情報が公開されますが、以前ほど正確ではありません。

先週、ブラウザが、そのブラウザが動作しているデバイスのバッテリー残量情報にアクセスすることに関連するリスクの調査に携わっている研究者が、この論文に注目を促した。プリンストン大学の論文は、トラッカーが一見無意味に見えるバッテリー情報を利用していたという、初期の研究の懸念が正当であることを確認したからである。

プリンストン大学の論文が発表されて間もなく、Firefox ブラウザの開発元である Mozilla Foundation は、ユーザーを追跡するために使用され、また多数のブラウザクラッシュを引き起こす Flash の側面を取り締まる計画を発表した。

イメージがつかめましたか?

Webアプリの限界が押し上げられるにつれ、Webブラウザは時とともにますます複雑な存在へと変化しています。より優れたWebアプリを実現するには、より包括的なAPI(アプリケーション・プログラミング・インターフェース)が必要です。これにより、Web開発者はブラウザ、オペレーティングシステム、ハードウェアプラットフォームを問わず、基盤となるハードウェアやレンダリング機能に抽象化された一貫したアクセスが可能になります。

ウェブの発展を支える標準化団体W3Cは、様々なブラウザメーカーが段階的に採用してきた数十もの新しいAPIを採用しています。これほど多くのオプションが急速に追加されているため、それぞれのプライバシーとセキュリティの側面は十分に検討されていません。多くの場合、各ブラウザは独自のプログラミングコードで機能を実装しているため、ソフトウェアのバグを悪用することは困難です。しかし、根本的な問題はより微妙です。(Can I Useで機能とAPIのリストを確認し、クリックしてバージョンごとにどのブラウザがどの機能をサポートしているかを確認できます。)

プリンストン大学の研究者、スティーブン・エングルハート氏とアルヴィンド・ナラヤナン氏は、追跡調査した100万サイトのうち、ごく一部から数パーセントの範囲で、HTML5や新しい(あるいは比較的新しい)ブラウザAPIに関連する複数の種類のフィンガープリンティングが使用されていることを発見しました。特に人気が高いサイトでは、スクリプトによるフィンガープリンティングがより多く使用されていました。彼らは以下の6種類を挙げました。

Canvas。2つは、HTML5でブラウザにオブジェクトを描画するために使用されるcanvasタグに関連しており、SVGやビットマップレンダリング画像の代替として機能します。特定のブラウザで利用可能な特定のオプションにより、そのブラウザのフィンガープリント作成に役立ちます。2014年に発見されて以来、頻繁に使用されるトラッキングサービスでの導入は減少していますが、それでも2年前よりも多くのサイトで使用されています。論文の著者らは、ブラウザで利用可能なフォントを間接的に特定するという斬新な用途も発見しました。フォントはコンピュータ間で驚くほど大きく異なる場合があります。

WebRTC。ウェブサイトがJavaScriptを使ってピアツーピア通信を行い、すべてのローカルネットワークアドレスを発見できることをご存知ですか? 少数のサイト(100万サイト中715サイト)が、ローカルIPアドレスを抽出する57種類のスクリプトのいずれかを使用しています。この文脈では、これは攻撃ではありませんが、各ネットワークのローカルアドレスセットの独自性はブラウザの識別に役立ちます。

AudioContext。もう一つの「ご存知ですか?」:一部のブラウザは、主にゲームでの使用を目的として、JavaScriptコマンドで音声合成(サウンド生成)をサポートしています。この機能セットの一部であるWeb Audio APIの一部であるAutoContextインターフェースは、音声を再生せずに生成し、その結果を分析できます。オーディオハードウェアは多種多様であるため、フィンガープリンティングに役立ちます。

バッテリーステータスAPI。バッテリーステータスAPIは、デバイスの電力残量が少なくなっていることをサイトが認識し、電力消費量に合わせて最適化されたサイトへ切り替えたり、デバイスがスリープ状態になったり電源が切れたりする前にウェブアプリの変更を保存したりするために開発されました。バッテリーステータスの報告精度は非常に高く、小数点以下も多数含まれるため、別のシグナルとして利用できます。このAPIは2つのスクリプトでのみ使用されています。

これらを総合すると、フィンガープリンティングは、あなたが用いているあらゆる難読化のベールを突き破り、同じブラウザ上のセッション、そして時にはブラウザに関係なく同じコンピュータ上のセッションを結び付けることができます。普段、VPNを使用してローカルネットワーク経由での接続を避けている場合や、匿名性を確保するためにTorネットワークを使用している場合、ローカルセッションで同じブラウザやコンピュータを使用すると、一部のフィンガープリンティング機能によってリモートセッションでユーザーを特定される可能性があります。

ブラウザメーカーが躍進

残念ながら、これらの要素はどれもユーザーが簡単に制御できるものではありません。これらの機能を採用している、あるいは追加を計画しているブラウザメーカーは、サイトがユーザーの位置情報を要求する際に使用されるのと同様に、よりきめ細かな制御機能を追加する必要があるかもしれません。プリンストン大学の論文の著者らは、GhosteryとEasyList/EasyPrivacyがこれらのフィンガープリンティングスクリプトをどのようにブロックするかをテストしました。結果は芳しくなく、より確立されたキャンバス技術でさえ、スクリプトでそれらを使用しているサイトのうち、80~90%しかブロックしませんでした。

しかし、変更は必ず行われます。Łukasz Olejnik氏と3人の共同開発者が2015年にBattery Status APIのリスクを指摘した後、Mozillaは残量を報告する方法を変更し、切り上げ値で報告するようにしました。W3Cも仕様を更新し、報告値の精度を下げ、残量を表示する前にユーザーに確認や警告を行う方法を強く推奨しました。(このページでブラウザをテストできます。)

Battery Status APIは、Firefox、Opera、Chrome(モバイル版とデスクトップ版)、Androidブラウザでクエリできますが、Safari(Internet ExplorerとEdgeも)ではクエリできません。Appleもプライバシーへの懸念を抱いているのかもしれませんが、ネイティブアプリのパフォーマンスを向上させる可能性のあるものに非ネイティブWebアプリがアクセスできるようにする意図はほとんどないようです。AppleはCanvasとWeb Audioのサポートは提供していますが、当然ながら、ピアツーピア通信のためのWebRTCは組み込んでいません。

一方、MozillaはFirefoxにおけるFlashへの依存を減らすロードマップも発表しました。これはバッテリー消費、パフォーマンス、信頼性に一部関連していますが、Mozillaは現在、ユーザーを追跡したり「エバークッキー」を保存したりする目に見えないFlashの使用をブロックしています。エバークッキーとは、一部のトラッキングスクリプトがブラウザ内のあらゆる場所にキャッシュする、削除不可能なトラッキングコードです。ブラウザのプライバシーモードはセッション中のこのキャッシュを防止できますが、通常の使用ではエバークッキーを削除することは依然として困難です。

ウェブ機能のすべてに、サイトごとに許可を求められたくはないですよね。通常のウェブサイトやカスタマイズされたウェブアプリでできることの複雑さを考えると、ほとんど不要なプロンプトに悩まされることになるかもしれません。しかし、プライバシー漏洩が相次いで発見されていることを考えると、フィンガープリンティングとトラッキングにはもっと注意を払う必要があるように思えます。

プリンストン大学のウェブ透明性研究グループは、少なくとも、論文のデータ収集に使用されたOpenWPMツールを通じて、新たなプライバシー漏洩手法について事前に警告を発することができます。このツールは他の研究者や企業にも利用可能であり、本稿で引用されている論文では、5つのグループがOpenWPMツールを利用した7つの研究を発表していることが示されています。