[PowerPoint presentation]
Download
Report
Transcript [PowerPoint presentation]
Statistical Identification of
Encrypted Web-Browsing Traffic
Qixiang Sun
Stanford University
Daniel R. Simon, Yi-Min Wang, Wilf Russell,
Venkata N. Padmanabhan, Lili Qiu
Microsoft Research
Outline
•
•
•
•
•
•
Motivation & Problem
Intuition
Hypothetical Attacker
Attacker’s Success Rate
Countermeasures
Conclusion
Anonymous Web Browsing
• Protect personal information from
Attacker’s Inference
– Medical (Online support group)
– Questionable Activities
R1
R2
R3
R4
• Question: Is this REALLY anonymous?
What’s Different?
In anonymous Web browsing
– The chain of routers are used for both
sending and receiving data
Can link HTTP requests and responses!
– The target Web pages are publicly
accessible
Responses are known!
Implication:
The first link/router is an exploitable weakness.
What Information is Available?
• Number of objects
Response
HTTP Get
Response
R1
1st Router
Browser
HTTP Get
• Object sizes
• Ordering of the objects
• Delay between packets
R2
R3
R4
Intuition
• Number of objects and object sizes are
sufficient to identify a Web page!
– On average, a Web page has 11 objects with
each object yielding 8.4 bits of information
8.4*11 – log2(11!) 67 bits 1020 possibilities!!
– Currently, there are about 109 Web pages
An Hypothetical Attacker
List of target
Sensitive sites URLs
Programmatic
Access to URL
& Traffic recording
Traffic
Pattern
Traffic recording
& Pattern construction
Traffic pattern
Construction &
Database update
Traffic
Pattern
Database
Similarity scores
Calculation
R1
Browser
History
Decision
module
Negative
Positive
Guts of the Pattern Matching
• Given two multisets of object sizes S1 and S2
Sim(S1, S2) = S1 S2 / S1 S2
• Decision module uses an absolute threshold.
Traffic
Pattern
Traffic
Pattern
Database
Similarity scores
Calculation
Decision
module
For example:
S1 = {3KB, 3KB, 5KB}
S2 = {3KB, 5KB, 5KB}
Sim(S1, S2) =
| {3KB, 5KB} |
| {3KB, 3KB, 5KB, 5KB} |
= 0.5
Experiment Setup
• Approximately 100,000 Web pages in total
(URLs obtained from the Open Directory
Project).
• The hypothetical attacker chooses about
2200 pages as target pages.
• Goal: Can these 2200 pages be identified
without causing many false positives?
What is a Success and Failure?
• Successful Identification:
– A target page passes the similarity threshold and is
not confused with other pages in the target set.
• False Positive:
– A non-target page is incorrectly identified as one of
the target pages.
• Potential False Positive:
– A page passes the similarity threshold when
compared with a single selected target page.
Attacker’s Success Rate
• A threshold of 0.5 is sufficient.
90
80
% of Pages
70
80.4%
60
Identification rate
(2191 target
pages)
50
40
Is this small enough?
30
20
10
2.1%
0
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Absolute Threshold
Actual falsepositives rate
(98496 nontarget
pages)
A Detailed Look Inside
% of Target Pages
• False-positives are NOT generated uniformly!
100
95
90
85
Common-looking pages
80
75
70
HTTP 404s
0-identifiable pages
0
200
400
600
800
# of Potential False Positives
1000
1200
Dynamism in Web Pages
• Most pages are relatively static
% of Target Pages
One-day-old pattern database is sufficient
100
80
60
40
20
0
0
0.2
0.4
0.6
Self Similarity Score
0.8
1
Countermeasures
• Padding
– Individual objects
– Add random-sized objects
• Morphing
– Pipelining the HTTP GET requests
– Pre-fetching
• Mimicking
– Common templates or Web-hosting services
Padding Object Size
% of 0-identifiable
pages
• Linear – Nearest multiple of padding size
• Exponential – Nearest power of 2
60
Linear Padding
50
Exponential Padding
40
30
20
10
0
128
256
512
1024
2048
4096
Minimum Object Size
8192
16384
% of 0-Identifiable Pages
Padding Random Objects
45
40
35
30
25
20
15
10
5
0
Multiple of 10
0.3
0.4
0.5
0.6
Absolute Threshold
0.7
Two-chunk Pipelining
• Approximately 36% of the target pages are
0-identifiable.
– Very close to the theoretical limit of 1/e
(assuming traffic patterns are random)
• Implication: Can harness the total entropy
in the Web page traffic patterns.
% of K -identifiable Pages
One-chunk Pipelining
12
10
8
6
4
2
0
0
2
4
6
8
10
K (Number of Potential False Positives)
12
Conclusion
• Encrypted Web browsing can be identified by
the target page’s “unique” traffic pattern.
Linear Padding
Padding Bucket Size
4
36
16
81
96
40
48
20
24
10
2
51
6
25
8
92
0-identifiable
1-identifiable
2-identifiable
60
50
40
30
20
10
0
12
% of Identifiable Sites
70
Exponential Padding
0-identifiable
35
1-identifiable
30
2-identifiable
25
20
15
10
5
Minimum Padding Size
16
38
4
81
92
40
96
20
48
10
24
51
2
25
6
0
12
8
% of Identifiable Sites
40
% of Identifiable Sites
Pad Random Objects
45
40
35
30
25
20
15
10
5
0
Multiple of 10
Multiple of 15
Multiple of 20
0.3
0.4
0.5
0.6
Absolute Threshold
0.7