I Do Not Know What You Visited Last Summer: Protecting users from stateful third-party web tracking with TrackingFree browser Xiang Pan§, Yinzhi Cao†, Yan Chen§ § Northwestern Universit
Trang 1I Do Not Know What You Visited
Last Summer: Protecting users from stateful third-party web tracking
with TrackingFree browser
Xiang Pan§, Yinzhi Cao†, Yan Chen§
§ Northwestern University
† Columbia University
Trang 3Referer : http://online.wsj.com/
Cookie : id = 12345
User
Tracker (doubleclick)
visit visit
Referer : http://www.cnn.com/
Cookie : id = 12345
Trang 4• A web page usually has multiple tracking elements
• “There is no such thing as anonymous online tracking”
Trang 5No effective defense
approach
• Disable third-party cookie
• Can be easily bypassed
• Blacklist-based anti-tracking tools
• Priori knowledge of tracking server
• Do-not-track header
• No enforcement
Trang 6Core Idea : TrackingFree partitions
client-side states into multiple
isolation units so that the identifiers still exists but not unique any more!
Referer : http://online.wsj.com/ Cookie : id = 12345
Referer : http://www.cnn.com/ Cookie : id = 24578
Trang 9Message Policy Enforcer
Public History Manager
useractivated flag non-user-activated flag
navigation cross-principal message history update
message
iframe:
tracking.com
iframe: tracking.com
iframe:
trackiing.com
Domain Data Manager
session data
Preference Configure
user preference
Trang 10Contents Allocation
Mechanism
• Initial Contents Allocation
• Handles those top frames that are navigated
by users directly
• Derivative Contents Allocation
• Handles those frames that are generated due
to the contents on other frames, which we call child frame
Trang 11Initial Contents
Allocation
Trang 13Principal Switch
• The deficiencies of two intuitive yet extreme
policies :
• Not privacy-preserving (no switch)
• Unnecessary overhead (too much switch)
• Our solution: switch principal only if the following two conditions are met:
• Cross-site
• User-triggered
Trang 14Principal Selection
• The deficiency of two intuitive yet extreme policies
• Break compatibility (always create new principal)
• Break anti-tracking capacity (create at most one
principal for each domain)
Trang 15Principal Communication
• Explicit communication is widely used, but break the isolation mechanism
• Our solution: we restrict the use of explicit
Trang 16Principal Communication
• Implicit Communication
• History Sharing
• UI history manager
• Accepts information from other managers
• Only UI manager gets associated with browser UI
• Communication through navigation URL
Trang 17Preference Configure
• User preference can be abused to store
tracking identifier (e.g strict transport security)
• Completely isolating user preference affects
user preference.
• Our solution:
• Isolate user preference.
• Apply user-initiated changes to all of the principals.
• Monitor GUI message to determine user-initiated preference change.
Trang 20Non-tracking servers will not set tracking
identifiers for third-party trackers
On non-tracking host web sites, first-party
elements will not send third-party tracking
identifiers to other principals
Formal Proof
• Use Alloy to formally analyze TrackingFree ’s
anti-tracking ability
• Alloy is the most popular formal proof system
• Describe TrackingFree’s behaviors on an existing Alloy Web model [Akhawe et al CSF 2010]
• Formally verified trackers can correlate
TrackingFree user’s activities up to three principals without site collaboration
Trang 21• Gathered tracking tokens on Alexa Top web sites
by following the tracker detection of [Roesner et
al NSDI 2012]
• Detection based on the observation that each
tracking request must contain the user’s globally unique identifier
• Some false negative, no false positive
Anti-tracking
Capability with Real World Web
Sites
Trang 22• Visit 2,032 valid URLs from Alexa Top 500 web sites
• Gathered 647 tracking tokens
• TrackingFree eliminated all of them
Anti-tracking
Capability with Real World Web
Sites
Tracking Host Prevalence
(# Domains) Tracking Token(s)
Trang 24Disk Overhead on 12 Web Pages (~0.6MB/Principal)
Memory Overhead on 12 Web Pages (~25MB/Principal)
Trang 25• Manually tested TrackingFree’s compatibility
on Alexa Top 50 websites
• Compatibility on first-party websites
• Results: 50/50
• Compatibility on third-party services
• Cross-site online payments (1/1)
• Cross-site content sharing (31/31)
• Single sign-on (35/36)
• Overall results: 67/68
Trang 26Local Storage
Principal Yahoo
Local Storage
Principal Facebook Client-side
Trang 28• We designed and implemented TrackingFree browser that completely protect users from third-party web tracking by isolating
resources in different principals
• We theoretically and experimentally proved TrackingFree’s anti-tracking capability
• TrackingFree incurs affordable overhead and compatibility cost
Trang 29Thanks & Questions?
http://list.cs.northwestern.edu/WebSecu
rity
Trang 30Domain Data Manager
• Backup slides…
Trang 31Related Work
• Existing Anti-tracking Mechanisms
• Do Not Track(DNT) : almost useless
• Blacklist-based Tool: require priori knowledge
• Disabling Third-party Cookie: easy to bypass
• Existing Multi-principal Browsers
• No anti-tracking capability
Trang 32Related Work
echanism
Anti-tracking Capa bility
IE8 In-memory Isolation Tab based No
Chromium In-memory Isolation Top-frame based No
Gazelle In-memory Isolation SOP based No
OP In-memory Isolation Web Page based No
AppIsolation Technique-specific Stor
age User Configuration based Not completeTahoma Virtual Machine User Configuration base
Stainless Technique-specific Stor
age User Configuration based Not completeFluid, MultiFiref
ox
Profile User Configuration base
d
Not complete
TrackingFree Profile Indegree-bounded Princi
pal Graph based
Complete