liberate, (n):
A library for exposing (traffic-classification) rules and avoiding them efficiently
1
Fangfan Li, Abbas Razaghpanah, Arash Molavi Kakhki, Arian Akhavan Niaki, David Choffnes, Phillipa Gill, Alan Mislove
liberate, (n): A library for exposing (tra ffi c-classification) - - PowerPoint PPT Presentation
liberate, (n): A library for exposing (tra ffi c-classification) rules and avoiding them e ffi ciently Fangfan Li , Abbas Razaghpanah, Arash Molavi Kakhki, Arian Akhavan Niaki, David Cho ff nes, Phillipa Gill, Alan Mislove 1 Traffic management 2
A library for exposing (traffic-classification) rules and avoiding them efficiently
1
Fangfan Li, Abbas Razaghpanah, Arash Molavi Kakhki, Arian Akhavan Niaki, David Choffnes, Phillipa Gill, Alan Mislove
2
2
Throttling Internet Service Provider
2
Blocking Throttling Internet Service Provider
2
Blocking Throttling Internet Service Provider
2
Blocking Zero rating Throttling Internet Service Provider
2
Blocking Zero rating Throttling Internet Service Provider
3
3
3
3
4
Throttling
4
Throttling
4
Throttling
Youtube
4
Throttling
Youtube
4
Throttling
Youtube
6
Evade throttling
liberate
6
Evade throttling
liberate
6
Evade throttling
liberate
6
Evade throttling
liberate
6
Evade throttling
liberate
6
Evade throttling
liberate
6
Evade throttling
liberate
6
Evade throttling
Unknown
liberate
7
8
8
8
8
8
8
9
Traffic-classification rules detection
10
Traffic-classification rules detection
10
VPN Channel
VPN server Client
Recorded traffic
Traffic-classification rules detection
10 Replay Client
Replay server
VPN Channel VPN server Client Recorded trafficRecorded traffic Recorded traffic
Traffic-classification rules detection
10 Replay Client
Replay server
VPN Channel VPN server Client Recorded trafficRecorded traffic Recorded traffic
Traffic-classification rules detection
10 Replay Client
Replay server
VPN Channel VPN server Client Recorded trafficRecorded traffic Recorded traffic
Traffic-classification rules detection
10 Replay Client
Replay server
VPN Channel VPN server Client Recorded trafficRecorded traffic Recorded traffic
Traffic-classification rules detection
10 Replay Client
Replay server
VPN Channel VPN server Client Recorded trafficRecorded traffic Recorded traffic
GET /url Host: www.googlevideo.com …
Traffic-classification rules detection
10 Replay Client
Replay server
VPN Channel VPN server Client Recorded trafficRecorded traffic Recorded traffic
GET /url Host: www.googlevideo.com …
Header Example matching content URI site.js{…}-nbcsports-com Host Host: www.spotify.com User-Agent User-Agent: Pandora 5.0{…} Content-Type Content-Type: video SNI googlevideo.com
11
Example classification
12
How does classifier classify application B?
Example classification
12
How does classifier classify application B?
Example classification
12
How does classifier classify application B?
Example classification
12
How does classifier classify application B?
Example classification
12
How does classifier classify application B?
Example classification
12
How does classifier classify application B?
Example classification
12
How does classifier classify application B?
Matching contents : ‘GET /B’
Evasion techniques
13
* Christian Kreibich et al. 2001. Network intrusion detection: Evasion, traffic normalization, and end-to-end protocol semantics.
Using a small TTL value
Evasion techniques
13
* Christian Kreibich et al. 2001. Network intrusion detection: Evasion, traffic normalization, and end-to-end protocol semantics.
Using a small TTL value
Evasion techniques
13
* Christian Kreibich et al. 2001. Network intrusion detection: Evasion, traffic normalization, and end-to-end protocol semantics.
Using a small TTL value
Evasion techniques
13
* Christian Kreibich et al. 2001. Network intrusion detection: Evasion, traffic normalization, and end-to-end protocol semantics.
Using a small TTL value
Evasion techniques
13
* Christian Kreibich et al. 2001. Network intrusion detection: Evasion, traffic normalization, and end-to-end protocol semantics.
Using a small TTL value
Evasion techniques
13
* Christian Kreibich et al. 2001. Network intrusion detection: Evasion, traffic normalization, and end-to-end protocol semantics.
Using a small TTL value
Evasion techniques
13
* Christian Kreibich et al. 2001. Network intrusion detection: Evasion, traffic normalization, and end-to-end protocol semantics.
Using a small TTL value
App B is classified as App A
Evasion techniques
14
Fragmenting the IP packet
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 IPID 1 OFF 0 GE IPID 1 OFF 2 T IPID 1 OFF 4 /A IPID 1 OFF 6 \r\n TCP 80 TCP 80 TCP 80 TCP 80
Evasion techniques
14
Fragmenting the IP packet
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 IPID 1 OFF 0 GE IPID 1 OFF 2 T IPID 1 OFF 4 /A IPID 1 OFF 6 \r\n TCP 80 TCP 80 TCP 80 TCP 80
Evasion techniques
14
Fragmenting the IP packet
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 IPID 1 OFF 0 GE IPID 1 OFF 2 T IPID 1 OFF 4 /A IPID 1 OFF 6 \r\n TCP 80 TCP 80 TCP 80 TCP 80
Evasion techniques
14
Fragmenting the IP packet
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 IPID 1 OFF 0 GE IPID 1 OFF 2 T IPID 1 OFF 4 /A IPID 1 OFF 6 \r\n TCP 80 TCP 80 TCP 80 TCP 80
Evasion techniques
14
Fragmenting the IP packet
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 IPID 1 OFF 0 GE IPID 1 OFF 2 T IPID 1 OFF 4 /A IPID 1 OFF 6 \r\n TCP 80 TCP 80 TCP 80 TCP 80
App A is unclassified
Evasion techniques
15
Inserting large delays
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 TCP 80 SEQ 1 GET /B
Evasion techniques
15
Inserting large delays
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 TCP 80 SEQ 1 GET /B
Evasion techniques
15
Inserting large delays
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 TCP 80 SEQ 1 GET /B
Evasion techniques
15
Inserting large delays
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 TCP 80 SEQ 1 GET /B
Evasion techniques
15
Inserting large delays
ACK SYN, ACK SYN TCP 80 TCP 80 TCP 80 TCP 80 SEQ 1 GET /B
App B is unclassified
16
17
liberate Proxy
Replay Server Server
App
17
liberate Proxy
Replay Server Server
App Phase 1
17
liberate Proxy
Replay Server Server
App Phase 1
Phase 1
17
liberate Proxy
Replay Server Server
App Phase 1 Phase 2 Phase 2 liberate Proxy
Replay Server Server
App Phase 1 Phase 2 Phase 2
17
liberate Proxy
Replay Server Server
App Phase 1 Phase 2 Phase 2
liberate Proxy
Replay Server Server
App Phase 1 Phase 2 Phase 2
Phase 2
Phase 1
18
Testbed and in the wild
19
liberate
Client Server
Testbed and in the wild
19
liberate
Client Server
Testbed and in the wild
19
liberate
Client Server
liberate
Client Server
Testbed and in the wild
19
liberate
Client Server
liberate
Client Server
Testbed and in the wild
19
liberate
Client Server
liberate
Client Server
Results
20
Example result table
21
Technique Test case 1 Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Payload Reordering Reverse the transmission of first two fragments Classification flushing
Example result table
21
Technique Test case 1 Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Payload Reordering Reverse the transmission of first two fragments Classification flushing
Example result table
21
Technique Test case 1 Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Payload Reordering Reverse the transmission of first two fragments Classification flushing
Example result table
21
Technique Test case 1 Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Payload Reordering Reverse the transmission of first two fragments Classification flushing
Testbed results
22
Technique Testbed Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Break packet into two IP fragments Payload Reordering Reverse the transmission of first two fragments Classification flushing TTL-limited RST packet before classification
Testbed results
22
Technique Testbed Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Break packet into two IP fragments Payload Reordering Reverse the transmission of first two fragments Classification flushing TTL-limited RST packet before classification
Testbed results
22
Technique Testbed Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Break packet into two IP fragments Payload Reordering Reverse the transmission of first two fragments Classification flushing TTL-limited RST packet before classification
Testbed results
22
Technique Testbed Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Break packet into two IP fragments Payload Reordering Reverse the transmission of first two fragments Classification flushing TTL-limited RST packet before classification
Testbed results
22
Technique Testbed Example technique Inert packet insertion IP Lower TTL to only reach classifier TCP Wrong sequence number UDP Wrong checksum Payload Splitting Break packet into two IP fragments Payload Reordering Reverse the transmission of first two fragments Classification flushing TTL-limited RST packet before classification
T mobile ‘Binge On’
23
Technique Testbed T mobile Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP UDP Payload Splitting
Break packet into five TCP segments
Payload Reordering
Reverse the transmission of first two segments
Classification flushing
TTL-limited RST packet before classification
T mobile ‘Binge On’
23
Technique Testbed T mobile Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP UDP Payload Splitting
Break packet into five TCP segments
Payload Reordering
Reverse the transmission of first two segments
Classification flushing
TTL-limited RST packet before classification
T mobile ‘Binge On’
23
Technique Testbed T mobile Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP UDP Payload Splitting
Break packet into five TCP segments
Payload Reordering
Reverse the transmission of first two segments
Classification flushing
TTL-limited RST packet before classification
T mobile ‘Binge On’
23
Technique Testbed T mobile Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP UDP Payload Splitting
Break packet into five TCP segments
Payload Reordering
Reverse the transmission of first two segments
Classification flushing
TTL-limited RST packet before classification
T mobile ‘Binge On’
23
Technique Testbed T mobile Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP UDP Payload Splitting
Break packet into five TCP segments
Payload Reordering
Reverse the transmission of first two segments
Classification flushing
TTL-limited RST packet before classification
T mobile ‘Binge On’
23
Technique Testbed T mobile Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP UDP Payload Splitting
Break packet into five TCP segments
Payload Reordering
Reverse the transmission of first two segments
Classification flushing
TTL-limited RST packet before classification
The Great Firewall of China
24
Technique Testbed T mobile GFC Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP
Wrong Checksum
UDP Payload Splitting Payload Reordering Classification flushing
Pause for t seconds before classification
The Great Firewall of China
24
Technique Testbed T mobile GFC Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP
Wrong Checksum
UDP Payload Splitting Payload Reordering Classification flushing
Pause for t seconds before classification
The Great Firewall of China
24
Technique Testbed T mobile GFC Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP
Wrong Checksum
UDP Payload Splitting Payload Reordering Classification flushing
Pause for t seconds before classification
The Great Firewall of China
24
Technique Testbed T mobile GFC Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP
Wrong Checksum
UDP Payload Splitting Payload Reordering Classification flushing
Pause for t seconds before classification
The Great Firewall of China
24
Technique Testbed T mobile GFC Example technique
Inert packet insertion IP
Lower TTL to only reach classifier
TCP
Wrong Checksum
UDP Payload Splitting Payload Reordering Classification flushing
Pause for t seconds before classification
The Great Firewall of China
25
Time-of-day effects when flushing classification
The Great Firewall of China
25
Time-of-day effects when flushing classification
The Great Firewall of China
25
Time-of-day effects when flushing classification
The Great Firewall of China
25
Time-of-day effects when flushing classification
2:30 AM 60 seconds successfully evaded
The Great Firewall of China
25
Time-of-day effects when flushing classification
2:30 AM 60 seconds successfully evaded 4:00 AM 240 seconds failed to evade
The Great Firewall of China
25
Time-of-day effects when flushing classification
The Great Firewall of China
25
Time-of-day effects when flushing classification
quiet hours (4:00 AM to 9:00 AM) — using long delays did not evade
The Great Firewall of China
25
Time-of-day effects when flushing classification
quiet hours (4:00 AM to 9:00 AM) — using long delays did not evade busy hours (3:00 PM to 10:00 PM) — using short delays evaded
26
For more details about liberate, code, and data : http://dd.meddle.mobi/liberate
27