Model Checking Dynamic Datapaths
Aurojit Panda, Katerina Argyraki, Scott Shenker
UC Berkeley, ICSI, EPFL
Model Checking Dynamic Datapaths Aurojit Panda, Katerina Argyraki, - - PowerPoint PPT Presentation
Model Checking Dynamic Datapaths Aurojit Panda, Katerina Argyraki, Scott Shenker UC Berkeley, ICSI, EPFL Networks: Not Just for Delivery Enforce a variety of invariants: Packet Isolation: Packets from A can not reach B Content
Aurojit Panda, Katerina Argyraki, Scott Shenker
UC Berkeley, ICSI, EPFL
Firewall 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
deny: 10.0.0.1-> 10.0.1.1
10.0.0.1 > 10.0.1.1
Firewall 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
deny: 10.0.0.1-> 10.0.1.1
Firewall 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
deny: 10.0.0.1-> 10.0.1.1
Proxy 10.1.0.1 Firewall 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
deny: 10.0.0.1-> 10.0.1.1
10.0.0.1 > 10.0.1.1
Proxy 10.1.0.1 Firewall 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
deny: 10.0.0.1-> 10.0.1.1
10.1.0.1 > 10.0.1.1
Compression Middlebox IDS 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
if BAD send to 10.0.1.2
10.0.0.1 > 10.0.1.1 BAD
Compression Middlebox IDS 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
if BAD send to 10.0.1.2
10.0.0.1 > 10.0.1.1 gzip(BAD)
Compression Middlebox IDS 10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2
if BAD send to 10.0.1.2
10.0.0.1 > 10.0.1.1 gzip(BAD)
Receive packet Lookup flow state
Labeled Harmful Labeled Benign
Many steps to analyze traffic
Send packet
Receive packet Lookup flow state
Labeled Harmful Labeled Benign
Many steps to analyze traffic
Send packet
∀send(d, e, p) = ⇒ ∃e0 : recv(e0, d, p) ∧ (d.label(p) = harmful ∨ d.label(p) = benign) ∧ rtime(d, p) < stime(d, p)
For any packet p sent by DPI box d p was received by d p was marked harmful
also p was received before being sent
Networks with 25 middleboxes take 32.2 seconds.
Firewall 10.0.0.1 10.0.0.2 Firewall Firewall Firewall Firewall Firewall
WAN Opt IDS Proxy Web Server Load Balancer Web Server Web Server Web Server Web Server
Network
WAN Opt IDS Proxy Web Server Load Balancer Web Server Web Server Web Server Web Server
Network
Also provide annotations on when paths are taken.
WAN Opt IDS Proxy Web Server Load Balancer Web Server Web Server Web Server Web Server
Network
Also provide annotations on when paths are taken.
WAN Opt IDS Proxy Web Server Load Balancer Web Server Web Server Web Server Web Server
Network
Also provide annotations on when paths are taken.
M0 M4 M12 M8 M1 M5 M9 M13 M2 M6 M10 M14 M3 M7 M11 M15 A B
Prove A isolated from B. Network Path is set of Middleboxes Traversed.
M0 M4 M12 M8 M1 M5 M9 M13 M2 M6 M10 M14 M3 M7 M11 M15 A B
Prove A isolated from B. Network Path is set of Middleboxes Traversed.
M0 M4 M12 M8 M1 M5 M9 M13 M2 M6 M10 M14 M3 M7 M11 M15 A B
Prove A isolated from B. Network Path is set of Middleboxes Traversed.
Proxy Application Firewall 10.0.0.2 Web Server 10.0.0.1 Application Firewall
Proxy Application Firewall 10.0.0.2 Web Server 10.0.0.1 Application Firewall
Proxy Application Firewall 10.0.0.2 Web Server 10.0.0.1 Application Firewall Application Firewall
Proxy
Application Firewall 10.0.0.2 Web Server 10.0.0.1 Application Firewall
Proxy Application Firewall 10.0.0.2 Web Server 10.0.0.1 Application Firewall
Proxy Application Firewall 10.0.0.2 Web Server 10.0.0.1 Application Firewall
10.0.0.1 10.0.1.1 IP Router 10.1.0.1 ACL Firewall
deny: 10.0.0.1-> 10.0.1.1
IP Router 10.1.0.2 10.0.0.1 > 10.1.0.1
10.0.0.1 10.0.1.1 IP Router 10.1.0.1 ACL Firewall
deny: 10.0.0.1-> 10.0.1.1
IP Router 10.1.0.2 10.1.0.1 > 10.0.1.1