作者簡介
周楷翔(Allen Chou)
目前在學術單位擔任研究助理,研究領域為資訊安全, 並著重在網頁安全、瀏覽器安全、加密通訊。參與的瀏覽器安全研究曾發表於國際研討會。
前言
第一章 初探 Web Tracking
1-1 什麼是 Web Tracking
Web Tracking 與 Security 的關係
Web Tracking 與廣告投放
Web Tracking 的用途
1-2 背景知識
第二章 Stateful Tracking
2-1 Cookie
First-party & Third-party Cookie
Third-party Cookie 如何做到 Cross-site Tracking
SameSite Cookies
Third-party Cookie 的輓歌⋯⋯嗎?
Firefox 的防禦手段
Safari 的防禦機制:ITP
Storage Access API
Chrome 的防禦機制:CHIPS
Cookie Syncing
2-2 典型與意料之外的儲存位置
Local Storage
IndexedDB
Cache
HSTS SuperCookie
Favicon SuperCookie
2-3 達成 Cross-Site Tracking 的其他方法
CNAME Cloaking
Bounce Trackers
Link Decoration
2-4 Content Blocking
Content Blocker 的不同阻擋樣態
Content Blocker 如何阻擋請求
如何偵測廣告與 tracker
如何維持網站功能性
如何繞過基於 Filter List 的 Content Blocking
2-5 案例分析:Facebook 的 Web Tracking
FB Pixel 之前的追蹤
FB Pixel 是什麼
FBCLID 如何運作
防禦
第三章 Stateless Tracking
3-1 Browser Fingerprinting 是什麼
Browser Fingerprinting 範例
Browser Fingerprinting 如何用於追蹤
Browser Fingerprinting 特徵的理想性質
Browser Fingerprinting 的特性
Active 與 Passive Fingerprinting
Browser Fingerprinting 的防禦策略
3-2 Information Theory
Information
Surprisal
Entropy
Anonymity Sets
3-3 Passive Fingerprinting
IP Address
HTTP Request Header
TLS Fingerprinting
3-4 螢幕與視窗資訊
使用 JavaScript 獲得螢幕與視窗大小
使用 CSS 獲得視窗大小
解法
3-5 Fonts Fingerprinting
篩選待測字型
檢查字型是否存在
防禦
3-6 Canvas Fingerprinting
背景
為何 Canvas Fingerprinting 存在
如何產生 Canvas Fingerprint
防禦
3-7 WebGL Fingerprinting
背景:何謂 WebGL
WebGL Report Fingerprinting
WebGL Canvas Fingerprinting
防禦
3-8 WebRTC Fingerprinting 與 Media Device Fingerprinting
Fingerprinting
WebRTC Fingerprinting
Media Device Fingerprinting
3-9 Web Audio Fingerprinting
Web Audio API
Web Audio Fingerprinting
Fingerprinting Vectors
為何 Web Audio API 會產生不同結果
解法
3-10 Browser Extensions Fingerprinting
Browser Extension 簡介
如何偵測 Browser Extension 是否存在
防禦
3-11 Ad blocker Fingerprinting
如何檢測 Filter List 啟用狀態
優勢與限制
防禦
3-12 Battery Status Fingerprinting
Battery Status API
Battery Status Fingerprinting
防禦
3-13 JavaScript-less Fingerprinting
選擇性執行 CSS Rules
Fonts Fingerprinting by @font-face
HSTS SuperCookie with CSS
結語
3-14 Browser Fingerprinting 的防禦以及其如何失敗
為何 Anti-Fingerprinting 這麼難?
Browser Fingerprinting 的防禦手段
為何偽造數值很困難?
Privacy Paradox:失敗的 Anti-Fingerprinting
技術會使Fingerprinting 更容易
3-15 Privacy Budget
Privacy Budget 如何運作
Privacy Budget 的批評
結語
3-16 Fingerprint 的改變與連結
Fingerprint 的穩定度
Fingerprint 為何會更新?
如何串連不同 Fingerprint
第四章 Privacy-preserving Web Tracking
4-1 Web Tracking 可能兼顧隱私嗎?
何謂 Privacy-preserving
Privacy-preserving Web Tracking?
瀏覽器的隱私革命
4-2 FLoC
FLoC 是什麼?想解決什麼問題?
FLoC 的運作方式
FLoC 的批評
FLoC 的攻擊
結語
4-3 Topics API
Topics API 如何運作
隱私分析
攻擊
結語
4-4 Unified ID 2.0
Unified ID 2.0 如何運作?
安全分析
隱私分析
結語
4-5 Private Click Measurement
PCM 要解決什麼?
PCM 如何運作
安全性分析
PCM 的批評
結語
4-6 Interoperable Private Attribution
IPA 想解決什麼
IPA 如何運作
IPA 的優勢與限制
4-7 P3P、DNT、GPC
Platform for Privacy Preferences(P3P)
Do Not Track(DNT)
Global Privacy Control(GPC)
結語
參考資料