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

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

Upload: sonickun

Post on 16-Aug-2015

8.010 views

Category:

Science


4 download

TRANSCRIPT

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

2015/07 #ssmjp

sonickun

1

自己紹介

HN: そにっくん / sonickun

Twitter: @y_hag

Web: http://sonickun.xyz

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

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

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

2

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

3

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

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

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

4

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

楽天市場(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

これまでのユーザー追跡

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

9

これまでのユーザー追跡

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

Cookie .

10

これまでのユーザー追跡

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

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

プライベートブラウズ

11

これまでのユーザー追跡

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

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

プライベートブラウズ

12

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

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

進化したWebトラッキング

13

新しいユーザー追跡

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

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

14

新しいユーザー追跡

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

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/

17

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

24

Canvasを使用したJSコード

Rendering

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

<div class=“オフレコ”>

28

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

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

29

</div>

30

Webトラッキング対策

31

Webトラッキング対策

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

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

32

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とCookie Syncing

38

RTB

RTB (Real-time bidding)

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

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

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

– DSP (Demand-Side-Platform)

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

– SSP (Sell-Side-Platform)

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

39

オンライン広告の仕組み

40

広告

ユーザー訪問

SSP

DSP A

DSP B

DSP C

広告主

RTB

1. インプレッション

4. 広告配信

2. 入札リクエスト

3. 入札

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!

まとめ

46

まとめ

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

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

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

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

47

Reference

48

論文

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

Thank you.

52