Webトラッキング対策技術の紹介サイト
はじめに
本サイトでは,Webトラッキングと呼ばれるインターネット追跡技術への対抗技術であるWebトラッキング対策技術を紹介します.
Webトラッキングを望まないWeb閲覧者(以降,利用者と呼びます)の中には,クッキーを削除することでWebトラッキングの回避を試みる方もいるかと思います.しかし,単純なクッキー削除のみではWebトラッキングを回避できないことがあります.そこで, 本サイトでは,高度化するWebトラッキングの実情の一部と,その対抗策としてのWebトラッキング対策技術を紹介します.
本サイトの作成に先立ち我々の研究グループでは,「Webトラッキング技術に関する対策技術の検証及び考察」と題した論文をCSS2018で発表しました(2018年10月23日).本サイトで解説している調査の詳細は論文に記載してありますのでよろしければご参照ください.
Webトラッキングの実践
Webトラッキングとは
ここで,Webトラッキングについて,簡単に紹介します.
例えば,皆さんがWebサイトを閲覧していると,以前訪れたWebサイトAに関連した広告が別のWebサイトBで表示されることはありませんか?「あれ?」っという思いをしたこともあるかと思います(図1参照:リタゲーティング広告の例).この現象は錯覚ではありません.これは,クッキーという技術を用いて,Webサイト運営者やネット広告事業者などにより意図的に行われています.このような技術をWebトラッキングと呼びます.
利用者が,特定のWebサイト内・サイト間にて,どのようなURLにアクセスしたのか・どのような検索をしたのか・どれくらいの時間Webサイトを閲覧していたのかなどを,サイト運営者や広告事業者が調査するためにWebトラッキングを行います.
図1の例ですと,広告事業者は利用者に関心がありそうな広告を出すことにより,余計な広告を表示せずに済み,広告効果が高い広告を表示させることができます.また,利用者は自分に関心のない広告を見る機会が減ります.
図1 リターゲティング広告の概略図
Webトラッキングの実現手法
本サイトでは詳細は省きますが,現在,図1のようなWebトラッキングのほとんどはクッキーを使って行われています.
しかしながら,クッキー利用率は下がり,サードパーティクッキーはブラウザで禁止されるなど,その有効性は疑問視されており,クッキーの代わりとなる技術が実際に使われるようになってきました.ここでは,クッキーでない,いわゆる,非クッキー技術を2つ紹介します:
スーパークッキーとは
スーパークッキー(区別されることもあるが,ゾンビクッキーやエバークッキーとも呼ばれた)とは,2012年頃に登場したクッキーとは異なるブラウザ内部の保存領域にデータを保存及び読み出しを行う仕組みです.クッキーとは異なる保存領域にデータが保存されるので,「ブラウザが提供する履歴の削除機能」を用いただけでは削除されない場合があり,一つでも残っていればブラウザの識別情報を復活させ,Webトラッキングを行います.
Samy Kamkar氏のWebサイトを参考に,我々の研究グループでも「スーパークッキーを採取するためのWebサイト(廃止しました)」(以降,スーパークッキー採取サイトという)を構築してみました.よろしければアクセスしてみてください.
「スーパークッキー採取サイト」は,以下の15個のスーパークッキーを採取しています.
- HTTP クッキー(クッキー)
- Local Shared Objects(別名:Flashクッキー)(Flash)
- Microsoft Silverlight(Silverlight)
- HTTP ETags(ETags)
- Web cache(キャッシュ)
- Indexed Database API(IndexedDB)
- HTML5 Local Storage(Local)
- HTML5 Session Storage(Session)
- HTML5 Global Storage(Global)
- HTML5 Web SQL Database(SQLDB)
- HTML5 Canvas(Canvas)
- HSTS スーパークッキー(HSTS)
- window.name.caching(Window)
- Internet Explorer userData Storage(UserData)
- CSS History Knocking(History)
*以降各スーパークッキーの名称は括弧内に記載されている略記で扱います.
利用者がクッキーを削除する,ブラウザを閉じるという作業が,Webトラッキング対策として一般的に考えられます.しかし,これらの作業を行った場合においても,上の8種類のスーパークッキー(ETags,キャッシュ,IndexedDB,Local,Session,SQLDB,Canvas,HSTS)に関してはブラウザ内に残ることがあります.以降ではこれら8種類のスーパークッキーを対象に説明します.なお,SessionとWindowはブラウザを閉じた後にブラウザに残らず,その他のものは既に現在のブラウザではサポートが終了し機能していないので除外しました.
ブラウザフィンガープリンティングとは
ブラウザフィンガープリンティングとは,利用者がサイトの閲覧時に,Webサーバがブラウザの特徴であるフィンガープリント(指紋)を用いてブラウザ(≒端末)を識別するための技術です.クッキーの代替技術として普及してきていることが知られています.
我々の研究室内サイトにてブラウザフィンガープリンティングの詳しい解説をしております.よろしければそちらをご参照ください.
Webトラッキング対策技術の現状
ここでは,各種存在するWebトラッキング対策技術がどのような効果があるのかについて紹介したいと思います.
ブラウザの履歴削除について
ブラウザが標準装備している機能で設定画面から利用できます.ブラウザ毎に違いはありますが,閲覧履歴やファイルのダウンロード履歴,クッキーやキャッシュなど様々な情報をこの機能で削除できます.図2はmacOS版Firefoxにおける履歴削除画面を示しています.
図2 macOS版Firefoxの履歴削除画面
スーパークッキーへの対策状況
利用者がブラウザの履歴削除機能を用いてブラウザの履歴を削除するときに想定されるパターンを3つに分類しました.分類された3つの対策による有効性の違いは以下のようになりました.
- クッキーのみを選択して削除した場合
多くのブラウザにおいてスーパークッキーが残ってしまうのでクッキーのみの削除では対策としての効果が薄いです. - ブラウザのデフォルトの設定のまま削除した場合
上記の場合に比べて多くのスーパークッキーを削除することができますが,Firefox,Operaについて一部のOSではスーパークッキーが残ってしまいます. - 全ての設定項目を選択して削除した場合
上記の場合に比べて多くのスーパークッキーを削除できますが,Android版のFirefoxとOperaではスーパークッキーが残ってしまいます.
つまり,Webトラッキングを回避するためには全ての項目を選択する必要があり,Webトラッキング対策として履歴削除をする際には注意する必要があります.
ブラウザフィンガープリンティングへの対策状況
ブラウザの履歴削除だけでは,Webトラッキング対策としての有効性は期待できません.
プライベートブラウジング
プライベートブラウジングは,本来,複数の利用者で一つのブラウザを使い回す際に,他の人に自分の履歴等が知られないようにするために作られた機能です.ブラウザごとに機能に微細な違いはありますが,主に以下の2つの機能があります:
- Webページの閲覧履歴,フォームへの入力情報をブラウザに保存しない
- クッキーやWebサイトのデータをブラウザ使用中のみ保存し,ブラウザが閉じられた時には削除する
図3はmacOS版Firefoxのプライベートブラウジング利用時の画面を表しています.
図3 macOS版Firefoxのプライベートブラウジング利用時の画面
スーパークッキーへの対策状況
ブラウザを閉じればスーパークッキーは残らないので,Webトラッキングの心配はありません.
ブラウザフィンガープリンティングへの対策状況
多くのフィンガープリントは通常通り採取可能なため,Webトラッキング対策としての有効性は低いです.
これに関して,我々の研究グループでは「プライベートブラウジングにおけるBrowser Fingerprintingを用いたWeb行動追跡」(CSS2016参照)と題し論文を発表しました.よろしければそちらもご参照ください.
Torブラウザ
Torブラウザとは,Torネットワークと呼ばれるTCP/IPの通信経路の匿名化を行うネットワークを使用するように設計されたFirefoxベースのブラウザです.
利用者の送信元IPアドレスの匿名化だけでなく,フォントリストやUserAgent文字列,CanvasFingerprintを固定化し,利用者のプライバシーを強固に守ることができます.図4はTorブラウザ利用時の画面を表しています.
図4 Torブラウザ利用時の画面
スーパークッキーへの対策状況
プライベートブラウジングと同様,ブラウザを閉じることでスーパークッキーは残留しないので,Webトラッキングの心配はありません.
ブラウザフィンガープリンティングへの対策状況
Firefox利用時のフィンガープリントと比較した結果,多くのフィンガープリントが(固定値などに)変化しました.変化したフィンガープリントの中には利用者の意図を介さずに変化するものもあるものの,現状ではWebトラッキングの心配はありません.
ブラウザ拡張機能を用いた対策
ブラウザ拡張機能とは,ブラウザの基本機能を拡張するための仕組みです.拡張機能を追加することによってブラウザを自分好みのものにカスタマイズしたり,利便性を高められます.
図5はmacOSのFirefoxにおける拡張機能追加時の画面を表しており,検索窓に「tracking」と入力した場合のインストール数が多い拡張機能をいくつか表示したものです.
図5 macOS版firefoxの拡張機能検索時の画面
今回は,プライバシー対策を行う拡張機能について調査するために,検索窓に「tracking」,「Fingerprint」と2つの用語を入力し,表示されたものの中から関連性があると言える拡張機能を紹介します.対象OSは,macOSでブラウザはFirefox,Safari,Chromeです.
スーパークッキーへの対策状況
スーパークッキーに特化した拡張機能に該当するものがありませんでした.Webトラッキング対策としての有効性は不明です.
ブラウザフィンガープリンティングへの対策状況
ブラウザフィンガープリンティング対策として関連性が高いと判断できた拡張機能を一部紹介します.
- Canvas Blocker,Canvas Defender
Canvas Fingerprintのブロック,WebGLのフィンガープリントの変化 - Blend In,Random UserAgent,UserAgent Switcher(おすすめ!)
UserAgent文字列の変化 - Touch VPN,SaferVPN,Privatix
IPアドレスの変化 - Privacy Badger
Do Not Trackを送信する
調査の結果から,アドブロックやプライバシー保護に関する拡張機能はフィンガープリント対策としての効果には疑問があるケースがあることがわかりました.
例えば,拡張機能の中にはJavaScriptの動作そのものを止めるものもあります.しかし,JavaScriptを使用せずに採取可能なフィンガープリントによるWebトラッキングの可能性は残ります.
まとめ
Webトラッキングへの各種対策技術の有効性について紹介しました.
表1は,本サイトで紹介した対策技術の有効性についてまとめたものです.
ブラウザの履歴削除 | プライベートブラウジング | Tor ブラウザ | ブラウザ拡張機能 | |
スーパークッキー | △(選択状況により変化) | ◯ | ◯ | 不明 |
ブラウザフィンガープリンティング | × | × | ◯ | △(拡張機能次第) |
◯:有効性が高い △:状況によって変化 ×:有効性が低い
2018年10月現在までに,スーパークッキー対策はかなり進んでおり,履歴を適切に削除すること,もしくは,プライベートブラウジングモードを用いること,Torブラウザを用いることにより,スーパークッキーは回避できると言えます.
しかしながら,現在,アドブロックやプライバシー保護に関する拡張機能はフィンガープリンティング対策としての効果には疑問があるケースがあり,Torブラウザ以外では,フィンガープリンティングによるWebトラッキングを確実に回避できるとは言えません.
本サイトが皆様のインターネットライフに何かしらのお役に立てば幸いです.
参考文献
Samy Kamkar氏のスーパークッキー採取サイト
Web Browser Fingerprint解説ページ
制作 2018 明治大学情報セキュリティ研究室「Webトラッキング対策技術調査委員会」 Ver1.1.1
更新日時 2018/10/10