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

15,716 views

Published on

2015/07/31の #ssmjp で発表した資料です.

Published in: Science

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

  1. 1. 進化するWebトラッキングの話 2015/07 #ssmjp sonickun 1
  2. 2. 自己紹介  HN: そにっくん / sonickun  Twitter: @y_hag  Web: http://sonickun.xyz  大学でセキュリティの研究やってます  2015/2の#ssmjpで「ダークネットのはなし」を発表しました. – http://www.slideshare.net/sonickun/ss-44926963 2
  3. 3. “こんな経験ありませんか?” 3
  4. 4. ネットサーフィン中の出来事  楽天市場(rakuten.co.jp)で ディスプレイのページを閲覧  価格ドットコム(kakaku.com)に ディスプレイの広告が出現 4
  5. 5. ネットサーフィン中の出来事  楽天市場(rakuten.co.jp)で ディスプレイのページを閲覧  価格ドットコム(kakaku.com)に ディスプレイの広告が出現 ちっちゃく 「このリンクについて」 5
  6. 6. 楽天の広告 6 http://xml.affiliate.rakuten.co.jp/personalize/
  7. 7. 楽天市場の広告 7 http://xml.affiliate.rakuten.co.jp/personalize/ 要約 お客様の楽天市場の利用履歴を元におすすめ商品の広告を表示しています. 利用履歴が他所のサイト管理者に知られることはないので安心してね.
  8. 8. Webトラッキングとは  特定ユーザーのサイト内での動きを追跡・分析すること  トラッキングの主な目的 – 特定ユーザーに向けたターゲティング広告 – 統計データに基づくマーケティング戦略の策定 – など 8access clickpurchase exit play
  9. 9. これまでのユーザー追跡 ユーザー(ブラウザ)を一意に識別するもの 9
  10. 10. これまでのユーザー追跡 ユーザー(ブラウザ)を一意に識別するもの Cookie . 10
  11. 11. これまでのユーザー追跡 ユーザーの操作で簡単に回避できる ブラウザの設定から Cookie削除orブロック プライベートブラウズ 11
  12. 12. これまでのユーザー追跡 ユーザーの操作で簡単に回避できる ブラウザの設定から Cookie削除orブロック プライベートブラウズ 12 Same-Origin Policy(同一生成元ポリシー)により, ドメインをまたいで同じCookieにアクセス(追跡)されることはない.
  13. 13. 進化したWebトラッキング 13
  14. 14. 新しいユーザー追跡 サイト管理者はユーザーのブラウザから採取できる Cookie以外の情報を組み合わせてユーザーを識別する 14
  15. 15. 新しいユーザー追跡 サイト管理者はユーザーのブラウザから採取できる Cookie以外の情報を組み合わせてユーザーを識別する ユーザーを識別するための情報の総称 “Web Browser Fingerprint” 15
  16. 16. Web Browser Fingerprint  サイト管理者はFingerprint(指紋)によりユーザーを一意に特定する  Fingerprintとは,ユーザーのブラウザの種類,画像解像度,プラグ インの名前,インストール済みフォントなどの特徴点を組み合わせた もの  FlashかJava仮想マシンのいずれかが有効になっているブラウザにおい て,94.2%の確率でユーザーを特定可能 – “How Unique Is Your Web Browser?” (Peter Eckersley, 2010) 16
  17. 17. How Unique Is Your Browser? https://panopticlick.eff.org/ 17
  18. 18. How Unique Is Your Browser? https://panopticlick.eff.org/ 18 「あなたのFingerprint は 5,634,758のブラウザ でユニークです.」 User-Agent,タイムゾー ン,ブラウザのプラグイ ン,インストール済み フォントなどの情報
  19. 19. Fingerprintを用いたターゲティング広告 19 3. 広告要求 +Fingerprint A 1. アクセス 2. Webレスポンス サッカー関連 ページ(a.com) を閲覧 4. サッカーの広告 Fingerprint cite Fingerprint A a.com データベース ユーザー 広告サーバ B社サイト A社サイト  A社サイトへのアクセス
  20. 20. Fingerprintを用いたターゲティング広告 20 3. 広告要求 +Fingerprint A’ 1. アクセス 2. Webレスポンス 別のページ (b.com)を閲覧 4. サッカーの広告 Fingerprint cite Fingerprint A a.com データベース ユーザー 広告サーバ B社サイト A社サイト  B社サイトへのアクセス ユーザーの嗜好に合わせた 広告を提供
  21. 21. トラッキングの”是非” 21  自分にとって興味がある広告が出た方がマシ  広告主にとってもターゲティングは超重要  N. Singer, “Do Not Track? Advertisers Say ‘Don’t Tread on Us’“  (今のところ)特に実害もないじゃん?  トラッキングを不快に感じる人にはそれをブロックする権利がある  米国で950万ドルの訴訟問題(http://goo.gl/8qye8c)  今後,Webトラッキングが悪用されるケースが出る可能性  同一人物が特定の複数サイトにアクセスした時に発動する攻撃  同一人物が特定のサイトに複数回アクセスした時に発動する攻撃 是 非
  22. 22. Fingerprintの例 22  グローバルIPアドレス  プライベートIPアドレ ス  LAN内に属するホスト のIPアドレス  Acceptヘッダ  Accept-Charset  Accept-Language  CONNECTION  Referer  インストール済みプラ グイン  UserAgent  HTTPクッキーの利用可 否  Web Storageの利用可否  インストール済みフォ ントのリスト  Canvas Fingerprinting  タイムゾーン  画面解像度・色深度  フレッシュレート  ハードディスク空き容 量  CPUコア数  SSE2  タッチ機能  画面の向き  デバイスピクセル比  カメラ・マイクの個数 ネットワーク特徴点 ソフトウェア特徴点 ハードウェア特徴点
  23. 23. 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” 23 https://securehomes.esat.kuleuven.be/~gacar/persistent/#press
  24. 24. Canvas Fingerprinting 24 Canvasを使用したJSコード Rendering
  25. 25. 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
  26. 26. 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
  27. 27. Evercookie  Respawning (再発生) – EvercookieのいくつかのFingerprintが削除されたとしても,どれか一つ さえ生き残っていれば他の全種類を復活させることができる 27 https://securehomes.esat.kuleuven.be/~gacar/persistent/#press
  28. 28. <div class=“オフレコ”> 28
  29. 29. 現在開発中のWebサービスについて少し紹介しました 2015年内に公開する予定です 29
  30. 30. </div> 30
  31. 31. Webトラッキング対策 31
  32. 32. Webトラッキング対策  トラッキング手法は多岐にわたり,その全てを網羅的にブロック するのは困難  既存の対策手法にはそれぞれ一長一短があり,ユーザビリティと トレードオフなケースも有る 32
  33. 33. 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
  34. 34. 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
  35. 35. Webトラッキング対策 (3/5)  Adblock Plus – 広告の削除やTrackingをブロックすることができる ChromeやFirefox用拡張機能 – (ターゲティング)広告を行うURIをブラックリスト方式 でブロックする – Cookieをセットしようとするスクリプトをブロックす ることができる – Adblock Plus開発者のCanvas Fingerprintingに対するコ メント→ https://goo.gl/Rf2wPF – https://adblockplus.org/ 35
  36. 36. Webトラッキング対策 (4/5)  DNT(Do Not Track) – HTTPリクエストヘッダに”dnt:1”を追加する ことでWebサイト側にトラッキング拒否の 意思を伝えることができる – DNTには強制力はなく,効果も低いという 調査結果が出ている(https://goo.gl/Eovgtg)  プライベートブラウズ – Cookieや履歴を残さずWebサイトの閲覧を 可能にするブラウザの機能 – Webサイト側はプライベートブラウジング を行っていることが判別可能 – 一部のFingerprintingはブロックできるが, ほとんどのFingerprintingに対しては効果が 無い 36 Chromeの設定画面
  37. 37. 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
  38. 38. RTBとCookie Syncing 38
  39. 39. RTB  RTB (Real-time bidding) – オンライン広告の入札システム – 広告が表示される瞬間に複数の広告主で入札を行い,最高額を掲示し た広告主の広告を掲載する – 広告主は媒体・掲載面・ターゲットのユーザ属性・入札価格などの条 件をあらかじめ設定し,ミリ秒単位で,リアルタイムに入札を行う – DSP (Demand-Side-Platform) • オンライン広告において、広告主(購入者)側の広告効果の最大化を支援 するツール – SSP (Sell-Side-Platform) • オンライン広告において、媒体社(メディア)の広告枠の販売や広告収益 の最大化などを支援するツール 39
  40. 40. オンライン広告の仕組み 40 広 告 ユーザー訪問 SSP DSP A DSP B DSP C 広告主 RTB 1. インプレッション 4. 広告配信 2. 入札リクエスト 3. 入札
  41. 41. Cookie Syncing  SSPはDSPに入札リクエスト行う際にはユーザーID (Cookie ID)を送 信する  ユーザー属性を管理しているのはSSPであり,DSPはCookie IDを受 け取ったところでユーザーがどのような嗜好を持った人なのかわか らない – ドメインを跨いでCookieにアクセスすることはできない  DSPはSSPから受け取ったCookie IDと自身の保持するCookie IDを紐 付ける(Syncさせる)ことでユーザーを識別できる 41
  42. 42. Cookie Syncingの例 想定するシナリオ  事業者Aはショッピングサイトを運営しており,またDSPを利用 している  ユーザー(user123)はAのショッピングサイトでバッグのページを閲 覧するも離脱  その後ユーザーは別のサイトBを訪れる(BはSSPを利用している)  AはサイトBへ行ったユーザーをターゲティングし,「戻ってきて バッグを買って!」という広告を出す 42
  43. 43. Cookie Syncingの例 43 1. バッグのページを閲覧 Aのショッピングサイト 1pix img 2. DSPに対し1pixelの 画像のロードを行う 3. user123に対応するDSPの Cookie=DSPcookie456を発行 user123 DSP
  44. 44. Cookie Syncingの例 44 Aのショッピングサイト 1pix img user123 ad 5. インプ レッション 発生 DSP SSP 6. Aが競売 に勝利 サイトB 4. 別のサイトを閲覧7. SSPのCookie=SSPcookie789を 付加し,DSPにリダイレクトさせる
  45. 45. Cookie Syncingの例 45 Aのショッピングサイト 1pix img user123 ad DSP SSP サイトB DSPcookie456とSSPcookie789 を持っているのは同一人物(user123)であることが分かり, その情報はDSPのDBに保存される 次にSSPcookie789の入札リクエスト が来たら,user123からのリクエスト であることが分かる Sync!
  46. 46. まとめ 46
  47. 47. まとめ  Cookie以外のBrowser Fingerprintを用いたユーザー追跡が流行って いる  Webトラッキングはターゲット広告以外にも,悪用に使われる可能 性もある  あらゆるトラッキングを網羅的にブロックするのは困難  普段何気なく使っているサイトで,“自分の行動がこっそりトラッ キングされているかもしれない”ということを意識してみては? 47
  48. 48. Reference 48
  49. 49. 論文  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, Arvind Narayanan, 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
  50. 50. 論文  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
  51. 51. 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
  52. 52. Thank you. 52

×