Automatic Inference of High-Level Network Intents by Mining Forwarding Patterns
Ali Kheradmand University of Illinois at Urbana-Champaign
SOSR, March 2020
1
Automatic Inference of High-Level Network Intents by Mining - - PowerPoint PPT Presentation
Automatic Inference of High-Level Network Intents by Mining Forwarding Patterns Ali Kheradmand University of Illinois at Urbana-Champaign 1 SOSR, March 2020 Typical network configuration procedure Mostly manual in todays networks
Ali Kheradmand University of Illinois at Urbana-Champaign
SOSR, March 2020
1
???
High-level Intents (informal) Operator Configurations Network
2
3
High-level Intents (informal) Operator Configurations Network
4
Model of system S Property Ψ Verifier Does S satisfy Ψ? Configured network High-level intents Formal specification Compiler Configurations Network High-level intents Formal specification Verification Synthesis/Compilation
5
6
network forwarding behavior
Operator Configurations Network How about going this way? High-level Intents
7
8
Anime Observed behavior (low-level) Inferred intents (high-level) Observed Possible Inferred Data plane/control plane/configuration analysis Live traffic monitoring …
9
dstIP: 10.0.1.2, start: U1, waypoint: F1, end: S1
U1 U2 U3 FW1 FW2 S1 S2
10.0.1.2 10.0.1.3
dstIP: 10.0.1.2, start: U2, waypoint: F1, end: S1 dstIP: 10.0.1.2, start: U3, waypoint: F2, end: S1 dstIP: 10.0.1.2, start: User, waypoint: Firewall, end: S1 dstIP: 10.0.1.3, start: U1, waypoint: F1, end: S2 dstIP: 10.0.1.3, start: U2, waypoint: F2, end: S2 dstIP: 10.0.1.3, start: U3, waypoint: F2, end: S2 dstIP: 10.0.1.3, start: User, waypoint: Firewall, end: S2 dstIP: 10.0.1.2/31, start: User, waypoint: Firewall, end: Server
10
User Firewall Server Observed low-level behavior Inferred high-level intent Inferred higher-level intent
(link failures). device (connection state)
dstIP: 10.0.1.2, start: U1, waypoint: F1, end: S1
11
12
Device IP
coverage specifity
Any:7 Server:2 S2:1 S1:1 Firewall:2 F2:1 F1:1 User:3 U3:1 U2:1 U1:1
0.0.0.0/0 : 232 ... 10.0.1.2/31 : 2 10.0.1.3/32 : 1 10.0.1.2/32 : 1
DAG <V,E> Set<{L1,L2,…,Ln}, b> Flat<{L1,L2,…,Ln}>
13
Any:7 Server:2 S2:1 S1:1 Firewall:2 F2:1 F1:1 User:3 U3:1 U2:1 U1:1 Any:n Ln:1 ... L2:1 L1:1 [0, 255] : 256 [100, 255] : 156 255 : 1 ... 100 : 1 ... [0, 1] : 2 1 : 1 0 : 1 0.0.0.0/0 : 232 ... 10.0.1.2/31 : 2 10.0.1.3/32 : 1 10.0.1.2/32 : 1
Hierarchical Reduced Regex (HRE)
AS1.R1.Internal+.R5.AS2 AS1.R1.Internal.R5.AS2 AS1.R1.Internal.Internal.R5.AS2 AS1.R1.R2.R5.AS2 AS1.R1.R3.R4.R5.AS2
Any:n {Ln−b+1, ..., Ln} : b ... {Ln−1, Ln} : 2 Ln:1 Ln−1:1 ... {L1, ..., Lb} : b ... {L1, L2} : 2 L2:1 L1:1
xx : 4 1x : 2 11 : 1 10 : 1 ... 0x : 2 01 : 1 00 : 1
TBV<n> Range IP Prefix
10.0.1.2,U1,F1,S1 10.0.1.2,U2,F1,S1 10.0.1.2, U3,F2,S1 10.0.1.3,U1,F1,S2 10.0.1.2,U2,F2,S2
10.0.1.2,User,F1,S1 10.0.1.2,User,Firewall,S1 10.0.1.3,User,Firewall,S2 0.0.0.0/0,Any,Any,Any 10.0.1.2/31,User,Firewall,Server …
14
10.0.1.3,U3,F2,S2
10.0.1.3,User,F2,S2
cost
Expressible low-level behavior Potential high-level intents … … … … …
4567(,)
8∈:
15
$% $; $( ,< ,% ,-0
NP-Hard cost
{$%,…,$(} =5,> ?1 =5,> ?2 =5,> ?3 … =5,> ? : Single best intent representing all behavior in g
?1 $8 $; cost(=5,>(p1,p2)) Insight: cost of =5,> ? inversely related to similarity of behavior in ? =5,> I1, I2 = I6KL (cost: 3) =5,> I1, MN1 = O>P (cost: 7)
Any:7 Server:2 S2:1 S1:1 Firewall:2 F2:1 F1:1 User:3 U3:1 U2:1 U1:1
?3 ?2 Least cost common ancestor Efficient Clustering methods
17
Quality of inferred intents Performance
Refer to the paper
Whitelist assumption: any behavior not explicitly allowed by any intent in a set of intents is disallowed by that set
Precision:
[\ [\]^\
Recall:
[\ [\]^_ TP FN FP TN P Predicted N P N Actual Specificity (exclusion of impossible behavior) Coverage (inclusion of possible behavior)
18
Possible Inferred
from Net2Text [Birkner et al, NSDI18]
, Real-world topologies, IPv4 RIB, and AS-to-organization information
prefixes, 2500 paths
19
500 1000 1500 2000 2500 Limit on length of description (k) 0.0 0.2 0.4 0.6 0.8 1.0 Precision Net2Text, Recall: 0.26 Anime, Recall: 1
with group/server B”
30, 10 intents, 435 paths
100 200 300 400 Limit on length of description (k) 0.0 0.2 0.4 0.6 0.8 1.0 Precision Anime w/o hierarchy, Recall: 1 Anime with hierarchy, Recall: 1
20
100 200 300 400 Limit on length of description (k) 0.2 0.4 0.6 0.8 1.0 F-score Anime w/o hierarchy Anime with hierarchy
Net2Text dataset Access control dataset
“train” on observed (60% of possible), evaluate on possible
Near perfect F-score (1 FN, 0 FP) 9/10 actual intents correctly inferred F-score =
<\`abac8d(×fabghh \`abac8d(]fabghh
21 0.0 0.2 0.4 0.6 0.8 1.0 Precision 0.0 0.2 0.4 0.6 0.8 1.0 Recall Compass Anime 0.0 0.2 0.4 0.6 0.8 1.0 Precision 0.0 0.2 0.4 0.6 0.8 1.0 Recall Net2Text Anime
22
23
24
X A B Y X A B Y X A B Y ∩ = snapshot: 1, path: X.A.Y snapshot: 2, path: X.B.Y snapshot: Any, path: X.{A,B}.Y Anime:
R1 R3 R4 R5 AS2 AS1 R2
time: morning, failed links: 0, dstIP: 128.174.0.0/16, path: AS1.R1.R2.R5.AS2 time: evening, failed links 1, dstIP: 128.174.0.0/16, path: AS1.R1.R3.R4.R5.AS2 time: Any, failed links: [0-1], dstIP: 128.174.0.0/16, path: AS1.R1.Internal+.R5.AS2
25