Privacy-Preserving Cross-Domain Network Reachability Quantification Fei Chen Computer Science and Engineering Michigan State University Joint work with Bezawada Bruhadeshwar and Alex X. Liu Background Network reachability can be defined as What packets can pass through a given network path Network reachability quantification is very important for Understanding end-to-end network behavior Detecting the violation of security policies Business Network 1 Home Network 1 Internet Business Network 2 Home Network 2 2 Motivation (1/2) Many solutions have been proposed to quantify the network reachability The main assumption of these solutions All the reachability information from these network devices is known Collecting such information could be very difficult Due to the privacy and security concerns Subnet1 User1 S1 ISP FW 1 Firewall FW 2 R1 Router Subnet2 FW 3 FW 4 S2 User2 Switches 3 Motivation (2/2) Subnet1 User1 S1 ISP FW 1 Firewall FW 2 R1 Router Subnet2 FW 3 FW 4 S2 User2 Switches Can we achieve the two following goals at the same time? Quantify the network reachability for a given path, and Preserve privacy of reachability information belong to different parties 4 Problem Statement Assumption For each party, the reachability information is converted to an ACL • Static reachability information Employ the network reachability approach [Khakpour et al., 2010] Let M(A) denote the set of packets that are accepted by ACL A We aim to design a privacy preserving protocol which Enables User1 to compute M(A1) ∩ M(A2) ∩ M(A3) No party can reveal the ACLs of other parties 5 Threat Model We consider semi-honest model Each party must follow our protocol correctly • Input its ACL to our protocol without cheating • Follow the process of our protocol Each party may try to learn the ACL rules of other parties • Analyze the intermediate messages when running the protocol 6 Related work Probing Current practice of verifying reachability Expensive to quantify network reachability • Because it needs to generate and send significant amount of packets. Inaccurate • E.g., it cannot probe the open ports with no server listening on them. Network reachability quantificaiton Estimate bounds of network reachability [Xie et al. 2005, Ingols et al. 2006, Matousek et al. 2008] Quantify the network reachability [Al-Shaer et al. 2009, Sung et al. 2009, Khakpour et al. 2010] Major assumption is not practical • All reachability information is known No prior work studies privacy preserving reachability quantification 7 Basic building blocks (1/2) Prefix membership verification P1 P2 [3, 7] 5 Prefix format S([3,7])={011, 1**} Prefix numericalization N(S([3,7]))={0111, 1100} Prefix family T(5)={101, 10*,1**,***} Prefix numericalization N(T(5))={1011,1010, 1100,1000} If N(S([3,7]))∩N(T(5)) ≠ , then 5[3, 7] 8 Basic building blocks (2/2) Range intersection Suppose the domain of this field is [0, 7] P1 P2 [3, 7] [2, 5] Generate ranges [0, 2] , [3, 7] Prefix format and numericalize N(S([0,2])) , N(S([3,7])) Retrieve boundaries 2, 5 Prefix family and numericalize N(T(2)), N(T(5)) Because (1) N(S([0,2]))∩N(T(2)) ≠ , then 2[0, 2] (2) N(S([3,7]))∩N(T(5)) ≠ , then 5[3, 7] From 2[0, 2] and 5[3, 7], we have [3, 7] ∩ [2, 5] = [3, 5] 9 Privacy preserving range intersection Employ commutative encryption For a number x, ((x)K1)K2 = ((x)K2)K1 For ease of presentation, let (x) K12 denote ((x)K1)K2 P1 (K1) P2 (K2) [3, 7] [2, 5] N(S([0,2])) , N(S([3,7])) N(T(2)), N(T(5)) (1) Encrypt by P1 (2) Encrypt by P2 N(S([0,2]))K12 , N(S([3,7])) K12 (1) Encrypt by P2 (2) Encrypt by P1 N(T(2)) K21 , N(T(5)) K21 If P1 does the comparison, it can conclude that [3,7] ∩ [2, 5] = [3, the original number of N(T(5)) K21] 10 Range intersection of multiple parties P1 (K1) P2 (K2) P3 (K3) [4, 7] [3, 7] [2, 5] N(S([0,3])) N(S([4,7])) N(S([0,2])) N(S([3,7])) N(T(2)) N(T(5)) (1) Encrypt by P1 (2) Encrypt by P2 (3) Encrypt by P3 N(S([0,3]))K123 N(S([4,7])) K123 (1) Encrypt by P2 (2) Encrypt by P3 N(S([0,2]))K23 N(S([3,7])) K23 N(T(2)) K32 N(T(5)) K32 Comparison 3, N(T(5)) K32 Comparison (1) Encrypt by P3 (2) Encrypt by P2 Prepare for further comparison N(T(3)) K231 N(T(5)) K321 4, N(T(5)) K321 11 Decryption of the comparison result N(T(5)) K321 Decrypt by P3 Decrypt by P2 Decrypt by P1 N(T(5)) K21 N(T(5)) K1 N(T(5)) Decode 4 5 [4, 5] = [4, 7] ∩ [3, 7] ∩ [2, 5] 12 ACL preprocessing ACL consists of multi-dimensional overlapping rules Convert it to non-overlapping rules with accept decision r1 : F1 [0, 4] F2 [7,15] d r2 : F1 [5, 7] F2 [5,15] d r3 : F1 [5, 7] F2 [0, 8] a r4 : F1 [0,15] F2 [0,15] d FDD construction F1 [0, 4] [5, 7] F2 [0,15] d [8, 15] F2 F2 [0,4] a [5,15] [0,15] d d Extract non-overlapping rules with the accept decision nr1 : F1 [0, 4] F2 [7,15] a nr2 : F1 [5, 7] F2 [0,4] a 13 Experiment Setup We conducted experiments on both real and synthetic ACLs Each ACL examine five fields, • Source and destination IPs, source and destination ports, protocol type The number of rules ranges from dozens to thousands For effectiveness, we verified the correctness For efficiency, we evaluate the computation and communication costs of the core operations Processing each ACL Comparing every two ACLs 14 Experimental Results (1/3) For real ACLs with the average number of rules 806 Both offline and online Computation costs are less than 2 seconds Communication cost is less than 60 KB Comparison cost is less than 1 second Our approach is efficient for the conversion and comparison of two real ACLs Processing real ACLs 15 Experimental Results (2/3) For synthetic ACLs with number of rules from 200 to 2000 One-time offline computation cost is less than 400 seconds The online computation cost is less than 5 seconds Communication cost is less than 450 KB Processing synthetic ACLs 16 Experimental Results (3/3) For synthetic ACLs with number of rules from 200 to 2000 The comparison time of two synthetic firewalls is less than 4 seconds Comparing synthetic ACLs 17 Conclusion Investigate privacy preserving quantification of network reachability for the first time Propose an efficient and secure protocol to quantify the network reachability accurately Conduct experiments on both real and synthetic ACLs to demonstrate the effectiveness and efficiently of our protocol 18 Future work Dynamic routing information Dynamic routing table Topological variations Links go down New links get added Malicious model Some party cheats its ACL 19 Questions Thank you! 20