Download - 進化するWebトラッキングの話 #ssmjp
自己紹介
HN: そにっくん / sonickun
Twitter: @y_hag
Web: http://sonickun.xyz
大学でセキュリティの研究やってます
2015/2の#ssmjpで「ダークネットのはなし」を発表しました.
– http://www.slideshare.net/sonickun/ss-44926963
2
ネットサーフィン中の出来事
楽天市場(rakuten.co.jp)でディスプレイのページを閲覧
価格ドットコム(kakaku.com)にディスプレイの広告が出現
ちっちゃく
「このリンクについて」
5
楽天の広告
6
http://xml.affiliate.rakuten.co.jp/personalize/
楽天市場の広告
7
http://xml.affiliate.rakuten.co.jp/personalize/
要約
お客様の楽天市場の利用履歴を元におすすめ商品の広告を表示しています.
利用履歴が他所のサイト管理者に知られることはないので安心してね.
Webトラッキングとは
特定ユーザーのサイト内での動きを追跡・分析すること
トラッキングの主な目的
– 特定ユーザーに向けたターゲティング広告
– 統計データに基づくマーケティング戦略の策定
– など
8access
clickpurchase
exitplay
これまでのユーザー追跡
ユーザーの操作で簡単に回避できる
ブラウザの設定からCookie削除orブロック
プライベートブラウズ
12
Same-Origin Policy(同一生成元ポリシー)により,
ドメインをまたいで同じCookieにアクセス(追跡)されることはない.
新しいユーザー追跡
サイト管理者はユーザーのブラウザから採取できる
Cookie以外の情報を組み合わせてユーザーを識別する
ユーザーを識別するための情報の総称
“Web Browser Fingerprint”
15
Web Browser Fingerprint
サイト管理者はFingerprint(指紋)によりユーザーを一意に特定する
Fingerprintとは,ユーザーのブラウザの種類,画像解像度,プラグインの名前,インストール済みフォントなどの特徴点を組み合わせたもの
FlashかJava仮想マシンのいずれかが有効になっているブラウザにおい
て,94.2%の確率でユーザーを特定可能
– “How Unique Is Your Web Browser?” (Peter Eckersley, 2010)
16
How Unique Is Your Browser?
https://panopticlick.eff.org/
18
「あなたのFingerprint
は 5,634,758のブラウザでユニークです.」
User-Agent,タイムゾーン,ブラウザのプラグイン,インストール済みフォントなどの情報
Fingerprintを用いたターゲティング広告
19
3. 広告要求 +Fingerprint A
1. アクセス
2. Webレスポンス
サッカー関連ページ(a.com)
を閲覧
4. サッカーの広告
Fingerprint cite
Fingerprint A a.com
データベースユーザー
広告サーバ
B社サイト
A社サイト A社サイトへのアクセス
Fingerprintを用いたターゲティング広告
20
3. 広告要求 +Fingerprint A’
1. アクセス
2. Webレスポンス
別のページ(b.com)を閲覧
4. サッカーの広告
Fingerprint cite
Fingerprint A a.com
データベース
ユーザー
広告サーバ
B社サイト
A社サイト
B社サイトへのアクセス
ユーザーの嗜好に合わせた広告を提供
トラッキングの”是非”
21
自分にとって興味がある広告が出た方がマシ
広告主にとってもターゲティングは超重要
N. Singer, “Do Not Track? Advertisers Say ‘Don’t Tread on Us’“
(今のところ)特に実害もないじゃん?
トラッキングを不快に感じる人にはそれをブロックする権利がある
米国で950万ドルの訴訟問題(http://goo.gl/8qye8c)
今後,Webトラッキングが悪用されるケースが出る可能性
同一人物が特定の複数サイトにアクセスした時に発動する攻撃
同一人物が特定のサイトに複数回アクセスした時に発動する攻撃
是
非
Fingerprintの例
22
グローバルIPアドレス
プライベートIPアドレ
ス
LAN内に属するホスト
のIPアドレス
Acceptヘッダ
Accept-Charset
Accept-Language
CONNECTION
Referer
インストール済みプラ
グイン
UserAgent
HTTPクッキーの利用可
否
Web Storageの利用可否
インストール済みフォ
ントのリスト
Canvas Fingerprinting
タイムゾーン
画面解像度・色深度
フレッシュレート
ハードディスク空き容
量
CPUコア数
SSE2
タッチ機能
画面の向き
デバイスピクセル比
カメラ・マイクの個数
ネットワーク特徴点 ソフトウェア特徴点 ハードウェア特徴点
Canvas Fingerprinting
HTML5において図形や文字の描画に用いるCanvas要素を利用
– K. Mowery and H. Shacham. “Pixel perfect: Fingerprinting canvas in HTML5.” In Web
2.0 Workshop on Security and Privacy (W2SP). IEEE, 2012.
描画結果をピクセル単位で見ると,OSやブラウザ,インストールされているフォント,GPUの組み合わせによって微妙に異なる
– “Canvas fingerprint Checker”
23https://securehomes.esat.kuleuven.be/~gacar/persistent/#press
Canvas Fingerprinting
Canvas Fingerprintの特徴
– Cookieと異なり,ドメインを跨いでも同じ値にアクセス可能
– User-Agentのように値を偽造することが不可能
– 通常利用とトラッキング目的での利用の区別が難しい
Alexa Rank上位10万サイトのうち,5.5%がCanvas Fingerprintingを行うスクリプトを含んでおり,その内の95%はAddThis(addthis.com)
のもの
– “The Web Never Forgets: Persistent Tracking Mechanisms in the Wild” (Gunes Acar,
ACM CCS, 2014)
– AddThisの場合,FingerprintはTargetingやPersonalizationのためではなく,内部での調査や開発に利用される
25
Evercookie
ブラウザの永続的なcookieを作るJavaScript API– Created by Samy Kamkar (https://github.com/samyk/evercookie)
ローカルストレージに保存するものなど,ブラウザでは削除困難なFingerprint(Supercookie)の寄せ集め– Standard HTTP Cookies
– Local Shared Objects (Flash Cookies)
– Silverlight Isolated Storage
– Storing cookies in RGB values of auto-generated, force-cached
– PNGs using HTML5 Canvas tag to read pixels (cookies) back out
– Storing cookies in Web History
– Storing cookies in HTTP ETags
– Storing cookies in Web cache
– window.name caching
– Internet Explorer userData storage
– HTML5 Session Storage
– HTML5 Local Storage
– HTML5 Global Storage
– HTML5 Database Storage via SQLite
– HTML5 IndexedDB
– Java JNLP PersistenceService
– Java CVE-2013-0422 exploit (applet sandbox escaping) 26
Evercookie
Respawning (再発生)
– EvercookieのいくつかのFingerprintが削除されたとしても,どれか一つさえ生き残っていれば他の全種類を復活させることができる
27
https://securehomes.esat.kuleuven.be/~gacar/persistent/#press
Webトラッキング対策 (1/5)
FireGlobes
– 利用者のFingerprintの値をWebサイトにアクセする度に変更するFirefox用拡張機能
– Webサイトの表示の体裁が崩れることがある
– 全てのFingerprintに対応しているわけではない
– http://fingerprint.pet-portal.eu/?menu=6
Tor Browser
– 通信経路を秘匿化するブラウザ
– ブラウザのプラグインやフォントなどのFingerprintが取得されない機能が備わっている
– Canvasの画像データにアクセスする際にダイアログを表示する
– https://www.torproject.org/projects/torbrowser.h
tml.en
33
Webトラッキング対策 (2/5)
Chameleon
– Fingerprintの検知,対策を行うChrome用拡張機能
– Torと同様Canvas Fingerprintingを検知可能
– 全てのFingerprintを検知できるわけではない
– https://github.com/ghostwords/chameleon
NoScript
– Javascript, Java, Flashなどの実行を無効にするFirefox
用拡張機能
– ユーザーは信頼できるWebサイトのホワイトリストを登録する必要がある
– ホワイトリストを元に利用者を識別する手法もある
– https://noscript.net/
34
Webトラッキング対策 (3/5)
Adblock Plus
– 広告の削除やTrackingをブロックすることができるChromeやFirefox用拡張機能
– (ターゲティング)広告を行うURIをブラックリスト方式でブロックする
– Cookieをセットしようとするスクリプトをブロックすることができる
– Adblock Plus開発者のCanvas Fingerprintingに対するコメント→ https://goo.gl/Rf2wPF
– https://adblockplus.org/
35
Webトラッキング対策 (4/5)
DNT(Do Not Track)
– HTTPリクエストヘッダに”dnt:1”を追加することでWebサイト側にトラッキング拒否の意思を伝えることができる
– DNTには強制力はなく,効果も低いという調査結果が出ている(https://goo.gl/Eovgtg)
プライベートブラウズ
– Cookieや履歴を残さずWebサイトの閲覧を可能にするブラウザの機能
– Webサイト側はプライベートブラウジングを行っていることが判別可能
– 一部のFingerprintingはブロックできるが,ほとんどのFingerprintingに対しては効果が無い
36
Chromeの設定画面
Web Tracking 対策 (5/5)
その他対策ツール
– Panopticlick (https://panopticlick.eff.org/)
– CanvasBlocker (https://addons.mozilla.org/en-
us/firefox/addon/canvasblocker/)
– Ghostery (https://www.ghostery.com/en/)
37
RTB
RTB (Real-time bidding)
– オンライン広告の入札システム
– 広告が表示される瞬間に複数の広告主で入札を行い,最高額を掲示した広告主の広告を掲載する
– 広告主は媒体・掲載面・ターゲットのユーザ属性・入札価格などの条件をあらかじめ設定し,ミリ秒単位で,リアルタイムに入札を行う
– DSP (Demand-Side-Platform)
• オンライン広告において、広告主(購入者)側の広告効果の最大化を支援するツール
– SSP (Sell-Side-Platform)
• オンライン広告において、媒体社(メディア)の広告枠の販売や広告収益の最大化などを支援するツール
39
Cookie Syncing
SSPはDSPに入札リクエスト行う際にはユーザーID (Cookie ID)を送信する
ユーザー属性を管理しているのはSSPであり,DSPはCookie IDを受け取ったところでユーザーがどのような嗜好を持った人なのかわからない
– ドメインを跨いでCookieにアクセスすることはできない
DSPはSSPから受け取ったCookie IDと自身の保持するCookie IDを紐付ける(Syncさせる)ことでユーザーを識別できる
41
Cookie Syncingの例
想定するシナリオ
事業者Aはショッピングサイトを運営しており,またDSPを利用している
ユーザー(user123)はAのショッピングサイトでバッグのページを閲覧するも離脱
その後ユーザーは別のサイトBを訪れる(BはSSPを利用している)
AはサイトBへ行ったユーザーをターゲティングし,「戻ってきてバッグを買って!」という広告を出す
42
Cookie Syncingの例
43
1. バッグのページを閲覧
Aのショッピングサイト
1pix img
2. DSPに対し1pixelの画像のロードを行う
3. user123に対応するDSPのCookie=DSPcookie456を発行
user123
DSP
Cookie Syncingの例
44
Aのショッピングサイト
1pix img
user123
ad
5. インプレッション発生
DSP SSP
6. Aが競売に勝利
サイトB
4. 別のサイトを閲覧7. SSPのCookie=SSPcookie789を付加し,DSPにリダイレクトさせる
Cookie Syncingの例
45
Aのショッピングサイト
1pix img
user123
ad
DSP SSP
サイトB
DSPcookie456とSSPcookie789
を持っているのは同一人物(user123)であることが分かり,その情報はDSPのDBに保存される
次にSSPcookie789の入札リクエストが来たら,user123からのリクエストであることが分かる
Sync!
まとめ
Cookie以外のBrowser Fingerprintを用いたユーザー追跡が流行っている
Webトラッキングはターゲット広告以外にも,悪用に使われる可能性もある
あらゆるトラッキングを網羅的にブロックするのは困難
普段何気なく使っているサイトで,“自分の行動がこっそりトラッキングされているかもしれない”ということを意識してみては?
47
論文
Fingerprinting Mechanism– P. Eckersley, “How unique is your web browser? In Privacy
Enhancing Technologies (PETs),” pages 1–18. Springer, 2010
Measurement Study
– Gunes Acar, Christian Eubank, Steven Englehardt, Marc Juarez, ArvindNarayanan, Claudia Diaz, “The Web Never Forgets: Persistent Tracking Mechanisms in the Wild,” ACM CCS, 2014
Defense
– N. Nikiforakis, W. Joosen, and B. Livshits. “PriVaricator: Deceiving Fingerprinters with Little White Lies,” Microsoft Research, 2014
Behavioral targeting without tracking
– S. Guha, B. Cheng, and P. Francis, “Privad: Practical Privacy in Online Advertising,“ USENIX, 2011
49
論文
Canvas fingerprinting
– K. Mowery and H. Shacham. “Pixel perfect: Fingerprinting canvas in
HTML5.” In Web 2.0 Workshop on Security and Privacy (W2SP). IEEE,
2012.
Detect session hijacking
– T. Unger, M. Mulazzani, D. Fruhwirt, M. Huber, S. Schrittwieser, and E.
Weippl. “SHPF: Enhancing HTTP(S) Session Security with Browser
Fingerprinting.” In Availability, Reliability and Security (ARES), pages
255–261. IEEE, 2013.
50
Web
英BBC "Browser 'fingerprints' help track users“
米NBC News "New Tracking Tool Is Like a Cookie That Can't be Blocked“
米Wired “Bill to Restrict Online Tracking Introduced in Congress”
米ProPublica “Meet the Online Tracking Device That is Virtually Impossible to
Block”
米Business Wire “comScore Ranks AddThis #1 in Distributed Content in the
United States”
米Ars Technica ” Zombie cookie wars: evil tracking API meant to “raise
awareness””
The Chromium Projects “Technical analysis of client identification mechanisms”
明治大 齋藤孝道研究室 “Web Browser Fingerprint解説ページ”
51