Top Banner
進化するWebトラッキングの話 2015/07 #ssmjp sonickun 1
52

進化するWebトラッキングの話 #ssmjp

Aug 16, 2015

Download

Science

sonickun
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 進化するWebトラッキングの話 #ssmjp

進化するWebトラッキングの話

2015/07 #ssmjp

sonickun

1

Page 2: 進化するWebトラッキングの話 #ssmjp

自己紹介

HN: そにっくん / sonickun

Twitter: @y_hag

Web: http://sonickun.xyz

大学でセキュリティの研究やってます

2015/2の#ssmjpで「ダークネットのはなし」を発表しました.

– http://www.slideshare.net/sonickun/ss-44926963

2

Page 3: 進化するWebトラッキングの話 #ssmjp

“こんな経験ありませんか?”

3

Page 4: 進化するWebトラッキングの話 #ssmjp

ネットサーフィン中の出来事

楽天市場(rakuten.co.jp)でディスプレイのページを閲覧

価格ドットコム(kakaku.com)にディスプレイの広告が出現

4

Page 5: 進化するWebトラッキングの話 #ssmjp

ネットサーフィン中の出来事

楽天市場(rakuten.co.jp)でディスプレイのページを閲覧

価格ドットコム(kakaku.com)にディスプレイの広告が出現

ちっちゃく

「このリンクについて」

5

Page 6: 進化するWebトラッキングの話 #ssmjp

楽天の広告

6

http://xml.affiliate.rakuten.co.jp/personalize/

Page 7: 進化するWebトラッキングの話 #ssmjp

楽天市場の広告

7

http://xml.affiliate.rakuten.co.jp/personalize/

要約

お客様の楽天市場の利用履歴を元におすすめ商品の広告を表示しています.

利用履歴が他所のサイト管理者に知られることはないので安心してね.

Page 8: 進化するWebトラッキングの話 #ssmjp

Webトラッキングとは

特定ユーザーのサイト内での動きを追跡・分析すること

トラッキングの主な目的

– 特定ユーザーに向けたターゲティング広告

– 統計データに基づくマーケティング戦略の策定

– など

8access

clickpurchase

exitplay

Page 9: 進化するWebトラッキングの話 #ssmjp

これまでのユーザー追跡

ユーザー(ブラウザ)を一意に識別するもの

9

Page 10: 進化するWebトラッキングの話 #ssmjp

これまでのユーザー追跡

ユーザー(ブラウザ)を一意に識別するもの

Cookie .

10

Page 11: 進化するWebトラッキングの話 #ssmjp

これまでのユーザー追跡

ユーザーの操作で簡単に回避できる

ブラウザの設定からCookie削除orブロック

プライベートブラウズ

11

Page 12: 進化するWebトラッキングの話 #ssmjp

これまでのユーザー追跡

ユーザーの操作で簡単に回避できる

ブラウザの設定からCookie削除orブロック

プライベートブラウズ

12

Same-Origin Policy(同一生成元ポリシー)により,

ドメインをまたいで同じCookieにアクセス(追跡)されることはない.

Page 13: 進化するWebトラッキングの話 #ssmjp

進化したWebトラッキング

13

Page 14: 進化するWebトラッキングの話 #ssmjp

新しいユーザー追跡

サイト管理者はユーザーのブラウザから採取できる

Cookie以外の情報を組み合わせてユーザーを識別する

14

Page 15: 進化するWebトラッキングの話 #ssmjp

新しいユーザー追跡

サイト管理者はユーザーのブラウザから採取できる

Cookie以外の情報を組み合わせてユーザーを識別する

ユーザーを識別するための情報の総称

“Web Browser Fingerprint”

15

Page 16: 進化するWebトラッキングの話 #ssmjp

Web Browser Fingerprint

サイト管理者はFingerprint(指紋)によりユーザーを一意に特定する

Fingerprintとは,ユーザーのブラウザの種類,画像解像度,プラグインの名前,インストール済みフォントなどの特徴点を組み合わせたもの

FlashかJava仮想マシンのいずれかが有効になっているブラウザにおい

て,94.2%の確率でユーザーを特定可能

– “How Unique Is Your Web Browser?” (Peter Eckersley, 2010)

16

Page 17: 進化するWebトラッキングの話 #ssmjp

How Unique Is Your Browser?

https://panopticlick.eff.org/

17

Page 18: 進化するWebトラッキングの話 #ssmjp

How Unique Is Your Browser?

https://panopticlick.eff.org/

18

「あなたのFingerprint

は 5,634,758のブラウザでユニークです.」

User-Agent,タイムゾーン,ブラウザのプラグイン,インストール済みフォントなどの情報

Page 19: 進化するWebトラッキングの話 #ssmjp

Fingerprintを用いたターゲティング広告

19

3. 広告要求 +Fingerprint A

1. アクセス

2. Webレスポンス

サッカー関連ページ(a.com)

を閲覧

4. サッカーの広告

Fingerprint cite

Fingerprint A a.com

データベースユーザー

広告サーバ

B社サイト

A社サイト A社サイトへのアクセス

Page 20: 進化するWebトラッキングの話 #ssmjp

Fingerprintを用いたターゲティング広告

20

3. 広告要求 +Fingerprint A’

1. アクセス

2. Webレスポンス

別のページ(b.com)を閲覧

4. サッカーの広告

Fingerprint cite

Fingerprint A a.com

データベース

ユーザー

広告サーバ

B社サイト

A社サイト

B社サイトへのアクセス

ユーザーの嗜好に合わせた広告を提供

Page 21: 進化するWebトラッキングの話 #ssmjp

トラッキングの”是非”

21

自分にとって興味がある広告が出た方がマシ

広告主にとってもターゲティングは超重要

N. Singer, “Do Not Track? Advertisers Say ‘Don’t Tread on Us’“

(今のところ)特に実害もないじゃん?

トラッキングを不快に感じる人にはそれをブロックする権利がある

米国で950万ドルの訴訟問題(http://goo.gl/8qye8c)

今後,Webトラッキングが悪用されるケースが出る可能性

同一人物が特定の複数サイトにアクセスした時に発動する攻撃

同一人物が特定のサイトに複数回アクセスした時に発動する攻撃

Page 22: 進化するWebトラッキングの話 #ssmjp

Fingerprintの例

22

グローバルIPアドレス

プライベートIPアドレ

LAN内に属するホスト

のIPアドレス

Acceptヘッダ

Accept-Charset

Accept-Language

CONNECTION

Referer

インストール済みプラ

グイン

UserAgent

HTTPクッキーの利用可

Web Storageの利用可否

インストール済みフォ

ントのリスト

Canvas Fingerprinting

タイムゾーン

画面解像度・色深度

フレッシュレート

ハードディスク空き容

CPUコア数

SSE2

タッチ機能

画面の向き

デバイスピクセル比

カメラ・マイクの個数

ネットワーク特徴点 ソフトウェア特徴点 ハードウェア特徴点

Page 23: 進化するWebトラッキングの話 #ssmjp

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

Page 24: 進化するWebトラッキングの話 #ssmjp

Canvas Fingerprinting

24

Canvasを使用したJSコード

Rendering

Page 25: 進化するWebトラッキングの話 #ssmjp

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

Page 26: 進化するWebトラッキングの話 #ssmjp

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

Page 27: 進化するWebトラッキングの話 #ssmjp

Evercookie

Respawning (再発生)

– EvercookieのいくつかのFingerprintが削除されたとしても,どれか一つさえ生き残っていれば他の全種類を復活させることができる

27

https://securehomes.esat.kuleuven.be/~gacar/persistent/#press

Page 28: 進化するWebトラッキングの話 #ssmjp

<div class=“オフレコ”>

28

Page 29: 進化するWebトラッキングの話 #ssmjp

現在開発中のWebサービスについて少し紹介しました

2015年内に公開する予定です

29

Page 30: 進化するWebトラッキングの話 #ssmjp

</div>

30

Page 31: 進化するWebトラッキングの話 #ssmjp

Webトラッキング対策

31

Page 32: 進化するWebトラッキングの話 #ssmjp

Webトラッキング対策

トラッキング手法は多岐にわたり,その全てを網羅的にブロックするのは困難

既存の対策手法にはそれぞれ一長一短があり,ユーザビリティとトレードオフなケースも有る

32

Page 33: 進化するWebトラッキングの話 #ssmjp

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

Page 34: 進化するWebトラッキングの話 #ssmjp

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

Page 35: 進化するWebトラッキングの話 #ssmjp

Webトラッキング対策 (3/5)

Adblock Plus

– 広告の削除やTrackingをブロックすることができるChromeやFirefox用拡張機能

– (ターゲティング)広告を行うURIをブラックリスト方式でブロックする

– Cookieをセットしようとするスクリプトをブロックすることができる

– Adblock Plus開発者のCanvas Fingerprintingに対するコメント→ https://goo.gl/Rf2wPF

– https://adblockplus.org/

35

Page 36: 進化するWebトラッキングの話 #ssmjp

Webトラッキング対策 (4/5)

DNT(Do Not Track)

– HTTPリクエストヘッダに”dnt:1”を追加することでWebサイト側にトラッキング拒否の意思を伝えることができる

– DNTには強制力はなく,効果も低いという調査結果が出ている(https://goo.gl/Eovgtg)

プライベートブラウズ

– Cookieや履歴を残さずWebサイトの閲覧を可能にするブラウザの機能

– Webサイト側はプライベートブラウジングを行っていることが判別可能

– 一部のFingerprintingはブロックできるが,ほとんどのFingerprintingに対しては効果が無い

36

Chromeの設定画面

Page 37: 進化するWebトラッキングの話 #ssmjp

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

Page 38: 進化するWebトラッキングの話 #ssmjp

RTBとCookie Syncing

38

Page 39: 進化するWebトラッキングの話 #ssmjp

RTB

RTB (Real-time bidding)

– オンライン広告の入札システム

– 広告が表示される瞬間に複数の広告主で入札を行い,最高額を掲示した広告主の広告を掲載する

– 広告主は媒体・掲載面・ターゲットのユーザ属性・入札価格などの条件をあらかじめ設定し,ミリ秒単位で,リアルタイムに入札を行う

– DSP (Demand-Side-Platform)

• オンライン広告において、広告主(購入者)側の広告効果の最大化を支援するツール

– SSP (Sell-Side-Platform)

• オンライン広告において、媒体社(メディア)の広告枠の販売や広告収益の最大化などを支援するツール

39

Page 40: 進化するWebトラッキングの話 #ssmjp

オンライン広告の仕組み

40

広告

ユーザー訪問

SSP

DSP A

DSP B

DSP C

広告主

RTB

1. インプレッション

4. 広告配信

2. 入札リクエスト

3. 入札

Page 41: 進化するWebトラッキングの話 #ssmjp

Cookie Syncing

SSPはDSPに入札リクエスト行う際にはユーザーID (Cookie ID)を送信する

ユーザー属性を管理しているのはSSPであり,DSPはCookie IDを受け取ったところでユーザーがどのような嗜好を持った人なのかわからない

– ドメインを跨いでCookieにアクセスすることはできない

DSPはSSPから受け取ったCookie IDと自身の保持するCookie IDを紐付ける(Syncさせる)ことでユーザーを識別できる

41

Page 42: 進化するWebトラッキングの話 #ssmjp

Cookie Syncingの例

想定するシナリオ

事業者Aはショッピングサイトを運営しており,またDSPを利用している

ユーザー(user123)はAのショッピングサイトでバッグのページを閲覧するも離脱

その後ユーザーは別のサイトBを訪れる(BはSSPを利用している)

AはサイトBへ行ったユーザーをターゲティングし,「戻ってきてバッグを買って!」という広告を出す

42

Page 43: 進化するWebトラッキングの話 #ssmjp

Cookie Syncingの例

43

1. バッグのページを閲覧

Aのショッピングサイト

1pix img

2. DSPに対し1pixelの画像のロードを行う

3. user123に対応するDSPのCookie=DSPcookie456を発行

user123

DSP

Page 44: 進化するWebトラッキングの話 #ssmjp

Cookie Syncingの例

44

Aのショッピングサイト

1pix img

user123

ad

5. インプレッション発生

DSP SSP

6. Aが競売に勝利

サイトB

4. 別のサイトを閲覧7. SSPのCookie=SSPcookie789を付加し,DSPにリダイレクトさせる

Page 45: 進化するWebトラッキングの話 #ssmjp

Cookie Syncingの例

45

Aのショッピングサイト

1pix img

user123

ad

DSP SSP

サイトB

DSPcookie456とSSPcookie789

を持っているのは同一人物(user123)であることが分かり,その情報はDSPのDBに保存される

次にSSPcookie789の入札リクエストが来たら,user123からのリクエストであることが分かる

Sync!

Page 46: 進化するWebトラッキングの話 #ssmjp

まとめ

46

Page 47: 進化するWebトラッキングの話 #ssmjp

まとめ

Cookie以外のBrowser Fingerprintを用いたユーザー追跡が流行っている

Webトラッキングはターゲット広告以外にも,悪用に使われる可能性もある

あらゆるトラッキングを網羅的にブロックするのは困難

普段何気なく使っているサイトで,“自分の行動がこっそりトラッキングされているかもしれない”ということを意識してみては?

47

Page 48: 進化するWebトラッキングの話 #ssmjp

Reference

48

Page 49: 進化するWebトラッキングの話 #ssmjp

論文

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

Page 50: 進化するWebトラッキングの話 #ssmjp

論文

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

Page 51: 進化するWebトラッキングの話 #ssmjp

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

Page 52: 進化するWebトラッキングの話 #ssmjp

Thank you.

52