FOCES Detecting Forwarding Anomalies in Software Defined Networks

  • Slides: 31
Download presentation
FOCES: Detecting Forwarding Anomalies in Software Defined Networks Peng Zhang 1, Shimin Xu 1,

FOCES: Detecting Forwarding Anomalies in Software Defined Networks Peng Zhang 1, Shimin Xu 1, Zuoru Yang 1, Hao Li 1 , Qi Li 2 , Huanzhao Wang 1 , Chengchen Hu 1 1 Xi’an Jiaotong University 2 Tsinghua University ICDCS 2018 1

Introduction dst_ip=10. 0. 0. 1 Ø Forwarding abstraction of Software Defined Network (SDN) dst_ip=192.

Introduction dst_ip=10. 0. 0. 1 Ø Forwarding abstraction of Software Defined Network (SDN) dst_ip=192. 168. 1. 1 1 • Match-Action model S 0 Ø A packet: • 1. match a rule in switches • 2. execute the related actions • 3. update the counter S 1 2 S 2 3 S 1’s forwarding table Match Action Counter Rule 1 dst_ip=10. 0/8 forward to port 2 3 Rule 2 dst_ip=192. 168. 0. 0/16 forward to port 3 2 … … … 2

Forwarding Anomaly Ø Normally, Forwarding anomaly can be classified into three types: • Early

Forwarding Anomaly Ø Normally, Forwarding anomaly can be classified into three types: • Early Drop: S 1 ->⊥ • Switch Bypass: S 1 ->S 5, S 1 ->S 3 ->S 4 ->S 5 • Detour: S 1 ->S 2 ->S 3 ->S 4 ->S 2 ->S 5 S 0 Ø Forwarding anomaly can cause violation of critical security policy S 2 S 5 S 1 S 3 S 4 • Flow may bypass the firewall • …. 3

Countermeasures Ø Rule Dumping • Read all the forwarding rules from suspicious switches, and

Countermeasures Ø Rule Dumping • Read all the forwarding rules from suspicious switches, and checks the integrity of them • Limitation: compromised switches can easily bypass the detection by just reporting the original rules Ø Path Validation • Each switch imprints packets with signature, so that the destination switch can check whether the path traversed by a packet is correct. • Limitation: need to modify switches to support cryptographic operations, high overhead. 4

Intuition of Statistics Verification Ø Packets leave traces (i. e. , counters) when they

Intuition of Statistics Verification Ø Packets leave traces (i. e. , counters) when they are forwarded along their paths Ø If we know how packets SHOULD be forwarded, then we can have constraints on counters of different switches Ø If the packets deviate from their paths, then the constraints shall be violated. 5

Toy Example Ø We know the path should be: S 0 r 0 S

Toy Example Ø We know the path should be: S 0 r 0 S 1 r 1 S 2 r 2 S 5 r 5 Ø r 0, r 1, r 2, r 5 should have the same counter value, and r 3, r 4 should have zero counter value. (“Flow Conservation Principle”) S 2 S 0 a r 0. counter=a S 1 r 1. counter=a S 5 r 2. counter=0 r 2. counter=a S 3 r 3. counter=0 r 3. counter=a S 4 r 4. counter=a r 4. counter=0 r 5. counter=a 6

Toy Example Ø In real network, there are more than one flows, and each

Toy Example Ø In real network, there are more than one flows, and each rule may match multiple flows. e. g. , each counter may aggregate multiple flows(wildcard) b S 0 a r 0. counter=a S 2 S 1 r 1. counter=a S 5 r 2. counter=b S 3 r 3. counter=a S 4 c r 5. counter=a+b+c r 4. counter=a+c 7

The motivation of this work Ø All the previous statistics verification tools check whether

The motivation of this work Ø All the previous statistics verification tools check whether the counters of a individual flow conform to the flow conservation principle. ØHowever, applying the flow conservation principle for each individual flow has two serious limitations: • Limited Detection Scope: miss some forwarding anomalies happening to flows that are not check. • High Flow Table Overhead: install dedicated rules to collect the statistics of a specific flow. An Open Question: Can we extend the flow conservation principle from individual flows to a network of flows? 8

Outline Ø Overview Ø FOCES: Theoretical Construction Ø FOCES: Make it work Ø Implementation

Outline Ø Overview Ø FOCES: Theoretical Construction Ø FOCES: Make it work Ø Implementation & Evaluation

FOCES: Fl. Ow Counter Equation System Ø All the flows in the network: Ø

FOCES: Fl. Ow Counter Equation System Ø All the flows in the network: Ø All the rules in the network: Ø Define the Flow Counter Matrix (FCM) Ø Let the counter of rule be , and Ø Let the volume of flow be , and as: Ø If there are no forwarding anomalies: 10

FOCES: Fl. Ow Counter Equation System Ø When there are forwarding anomalies, the real

FOCES: Fl. Ow Counter Equation System Ø When there are forwarding anomalies, the real FCM will be , and the real counter vector will be. Ø However, we do not know either or , but it is expected that should probably has no solutions if , when it is a over-determined equation system Ø The least square solution will be and we should have (the standard to judge the anomaly) 11

For Example Forwarding Anomaly 12

For Example Forwarding Anomaly 12

Does this method always work? Unfortunately, No 13

Does this method always work? Unfortunately, No 13

For Example Normal (Wrong Result) 14

For Example Normal (Wrong Result) 14

The Reason of this Failure Ø The observed counters in this example 4 S

The Reason of this Failure Ø The observed counters in this example 4 S 0 3 r 0. counter=3 S 2 S 1 r 2. counter=4 r 1. counter=3 5 S 3 r 3. counter=8 S 4 r 5. counter=12 r 4. counter=8 15

The Reason of this Failure Ø The estimated counters in this example • same

The Reason of this Failure Ø The estimated counters in this example • same as the observed one Ø Finding: • FOCES cannot work for this case S 0 3 r 0. counter=3 1 S 2 S 1 r 1. counter=3 Question: How to identify the detectability 8 of a given case? S 5 r 2. counter=4 r 5. counter=12 S 3 S 4 r 3. counter=8 r 4. counter=8 16

Analysis on Detectability ØTheorem 1: If is undetectable if and only if linear subspace

Analysis on Detectability ØTheorem 1: If is undetectable if and only if linear subspace generated by • • lies in the Theorem 1 is different to apply in real network Its algorithm is complex ØTheorem 2: If is undetectable if and only if there is a switch whose RBG contains a loop • reduce Theorem 1 to the problem of finding loops in a bipartite graph 17

Review the Failure Example Ø The Rule Bipartite Graph (RBG) of S 2 •

Review the Failure Example Ø The Rule Bipartite Graph (RBG) of S 2 • a loop marked in green dashed lines 18

Outline Ø Overview Ø FOCES: Theoretical Construction Ø FOCES: Make it work Ø Implementation

Outline Ø Overview Ø FOCES: Theoretical Construction Ø FOCES: Make it work Ø Implementation & Evaluation

Make FOCES Work in Realistic Settings ØNoises: • Packet losses • Out-of-sync counter ØScalability:

Make FOCES Work in Realistic Settings ØNoises: • Packet losses • Out-of-sync counter ØScalability: • Calculating the inverse of FCM is expensive when there a large number of rules and flows Hard to apply in large scale network 20

Threshold-based Detection Algorithm Ø Basic Idea: define the anomaly index (AI) to measure the

Threshold-based Detection Algorithm Ø Basic Idea: define the anomaly index (AI) to measure the possibility of forwarding anomaly, and eliminate the impact of such noises ØAnomaly Index: • the ratio of Maximum and Median of all elements in • When there are forwarding anomalies, the AI should be very large (“majority good” assumption) ØDetection Threshold: • • : forwarding anomalies is the default detection threshold (“three-sigma rule” in probability theory) 21

Making FOCES Scalable Ø Basic Idea: make FOCES scalable by reducing the computation time

Making FOCES Scalable Ø Basic Idea: make FOCES scalable by reducing the computation time • It is inspired by the Rule Bipartite Graph (RBG) • Shrank the scale of FCM Ø FCM Slicing: • extract the sub-FCM corresponding to the RBG. • Sub-FCMs are much smaller than the original FCM, it reduces the computation time. Ø For Example: 22

Making FOCES Scalable ØTheorem 3: If a forwarding anomaly is detectable (without slicing), then

Making FOCES Scalable ØTheorem 3: If a forwarding anomaly is detectable (without slicing), then it is still detectable when using slicing. • using slicing is equivalent to the baseline method in detecting forwarding anomalies Ø Analysis on Computation Complexity Reduction: • without slicing: N is the size of the FCM (approximately equals to that of Matrix Inversion) • with slicing: 23

Outline Ø Overview Ø FOCES: Theoretical Construction Ø FOCES: Make it work Ø Implementation

Outline Ø Overview Ø FOCES: Theoretical Construction Ø FOCES: Make it work Ø Implementation & Evaluation

Implementation Ø FOCES prototype: • 1500 LOC in Python • FCM Generator: ATPG, Floodlight

Implementation Ø FOCES prototype: • 1500 LOC in Python • FCM Generator: ATPG, Floodlight REST API • Statistics Collector: Floodlight REST API, parse counters • Equation System Solver: “Num. Py” library, “sparse” library of python 25

Experiment Setup Ø SDN Controller: Floodlight v 2. 1 Ø Network: Mininet + Open

Experiment Setup Ø SDN Controller: Floodlight v 2. 1 Ø Network: Mininet + Open v. Switches Ø Topologies: Stanford, Fat. Tree(4), BCube(1, 4), DCell(1, 4) 26

Functional Test Ø Setting • BCube(1, 4) • Packet Loss Rates: 0%, 5%, 10%

Functional Test Ø Setting • BCube(1, 4) • Packet Loss Rates: 0%, 5%, 10% • Modify a rule: 60 s-120 s Ø Finding • AI quickly goes beyond the threshold, when forwarding anomalies happen. • Normal and anomaly cases become less distinguishable when packet loss rates increase 27

Detection Precision vs. Number of Anomalies 28

Detection Precision vs. Number of Anomalies 28

Detection Accuracy vs. Detection Threshold Ø The Recover Operating Characteristic (ROC) Curve • Detection

Detection Accuracy vs. Detection Threshold Ø The Recover Operating Characteristic (ROC) Curve • Detection threshold: 1 ~ 100 • Packet loss rates: 0% ~ 25% 29

The Effectiveness of Slicing Ø Ø Computation time: • Topology: Fat. Tree(8) • Computation

The Effectiveness of Slicing Ø Ø Computation time: • Topology: Fat. Tree(8) • Computation time: slicing grows much slower than without slicing. • Reduction of computation overhead: nearly 80% 30

Conclusions Ø Study how to extend flow conservation principle from individual flows to a

Conclusions Ø Study how to extend flow conservation principle from individual flows to a network of flows and how to use it detect forwarding anomalies ØDesign and analyze FOCES from both theoretical and practical perspectives ØBuild FOCES prototype and conduct extensive experiments on Mininet with four topologies • Empirical results match theories ØFuture Work: • The localization of the compromised switch (we have just finished it) 31