Scalable and Robust DDoS Detection via Universal ... - Netronome

0 downloads 87 Views 2MB Size Report
Sep 20, 2017 - Higher development time as new applications appear. Tight Binding between monitoring data and control pla
Scalable and Robust DDoS Detection via Universal Monitoring Vyas Sekar Joint work with: Alan Liu, Vladimir Braverman JHU Hun Namkung, Antonis Manousis, CMU

©2017 Open-NFP

1

DDoS a&acks are ge-ng worse Increasing in number Increasing in power Increasing in diversity Incapsula, 11/12/2014 Threatpost, 7/31/2015

Half of companies experience more than five DDoS attacks a year.

The New York Times, 3/30/2015

Neustar, 2014 Cloudflare, 3/27/2013

©2017 Open-NFP

Arbor Networks, 2/14/2014

Techworld, 7/16/2014 Radware, 10/7/2014

2

Many attacks, many algorithms! SYN Flood

UDP Flood

NTP Flood

DNS Amplifica4on

•  Who’s sending a lot more traffic than 10min ago? •  Who’s sending a lot to 10.0.1.0/16? •  Is there asymmetry in packet counts in direcCons?

©2017 Open-NFP

3

Classical Netflow-style packet sampling Sample packets at random, group into flows

Flow = Packets with same pattern
 Source and Destination Address and Ports

1 1 6 1 3 1 1

1163

FlowId

1

2 1

Counter

Flow reports

1 1 6 1 3 1 1

Estimate: FSD, Entropy, Heavy Hitters …

Prior work: Not good for fine-grained analysis! ©2017 Open-NFP

4

Alternative: App-specific sketches Heavy Hi&er

Entropy

Applica4on-Level Metric

Applica4on-Level Metric

….

Counter Data Structure s

Counter Data Structure s

….

Packet Processing

Packet Processing

Superspreade rApplica4on-Level Metric

Counter Data Structure s Packet Processing

Pre-deployed Algorithms

Traffic

Higher Complexity with more applications Higher development time as new applications appear 
 Tight Binding between monitoring data and control plane ©2017 Open-NFP

5

Driving question for our work Today Generality Late Binding

XOR

e.g., NetFlow

Fidelity

e.g., Sketches

AND

©2017 Open-NFP

6

Many open questions.. Does such a construction exist? Does it extend to a network-wide setting? e.g., Multiple paths, Multiple dimensions

Is it competitive w.r.t. custom algorithms? Is it feasible to implement?

©2017 Open-NFP

7

Roadmap for this talk Does such a construction exist? Does it extend to a network-wide setting? e.g., Multiple paths, Multiple dimensions

Is it competitive w.r.t. custom algorithms? Is it feasible to implement?

©2017 Open-NFP

8

Concept of Universal Streaming •  Basic Streaming Algorithms:

Frequency Moments Fk = ∑𝑖=1↑𝑛▒​𝑓↓𝑖↑𝑘  

(A stream of length m with n unique items) F2 : AMS Sketch, Count Sketch 1 1 5 1 3 3 1 2 4 6 5 …... frequency vector < f1,f2 … fn >

•  Universal Streaming? 1 1 5 1 3 3 1 2 4 6 5

…...

…... One algorithm solves one problem

Universality: arbitrary g() function?

G-sum = ∑𝑖=1↑𝑛▒𝑔(​𝑓↓𝑖 ) 

frequency vector < f1,f2 … fn >

©2017 Open-NFP

9

Theory of Universal Streaming Thm 1: There exists a universal approach to estimate G-sum when g() function is non-decreasing such that g(0)=0, and 𝑔(​𝑓↓𝑖 ) doesn’t grow monotonically faster than ​𝑓↓𝑖 2 .

Thm 2: A universal sketch construction can be used to estimate Gsum with high probability using polylogmithric memory.

©2017 Open-NFP

10

Intuition behind Universality Informal Definition: Item 𝑖 is a 𝑔-heavy hitter if changing its frequency ​𝑓↓𝑖  significantly affects its G-sum. Case 1: there is one sufficiently large a 𝑔-heavy hitter Most of mass is concentrated in this heavy hitter. Use L2 Heavy Hitter algorithm to find such a heavy hitter. Case 2: there is NOT single sufficiantly large a 𝑔-heavy hitter Find heavy hitters on a series of sampled substreams of increasingly smaller size. ©2017 Open-NFP

11

Universal Sketching Algorithm Generate log(n) substreams by zero-one hash funcs H1….Hlog(n) 0

1 1 5 1 3 3 1 2 4 6 5

1 1 1 5 1

EsCmated G-sum Count-Sketch etc. Heavy Hi&er Alg

(1,4), (3,2),(5,2)

5

Heavy Hi&er Alg

(1,4), (5,2),(2,1)

2

5

Heavy Hi&er Alg

(5,2), (2,1)

Heavy Hi&er Alg

(2,1)

…...

1 2

…... log(n) ©2017 Open-NFP

Level s

5

2

In Parallel

L2 Heavy HiMer(HH) Alg

Heavy HiMers and Counters 12

Universal Monitoring Realization App 1

…...

App n

ApplicaCon-specific ComputaCon

Sampling (Hash func)

Update Counters

©2017 Open-NFP

Sketching



Sketching Registers

Traffic

Sampling

Top-K

Top-K

Top-K Possible keys

App-Es4ma4on 13

Roadmap for this talk Does such a construction exist? Does it extend to a network-wide setting? e.g., Multiple paths, Multiple dimensions

Is it competitive w.r.t. custom algorithms? Is it feasible to implement?

©2017 Open-NFP

14

Network-Wide Problem One sketch for each dim D N nodes D dimensions (e.g., src, srcdst)

O1

D

​ 𝐷 D / 2 

​ 𝐷 D / 2 

A

B

O2

D

D1

D D2

Trivial sol: place D*N sketches Our goal: Place s sketches, where s 32) & n

©2017 Open-NFP

25

Takeaway from basic improvements •  Shih operaCon is much faster than modular operaCon in Netronome •  UnivMon can exploit parellelism with Netronome. Atomic engine did a great job to solve synchronizaCon issues with sketch counters •  LimitaCon : Shih operaCon can’t guarantee enough randomness of hash funcCons and fair accuracy of sketching

©2017 Open-NFP

26

Ideas: Use Tabular Hash •  Memory read is faster than modular operaCon and it has higher independence

2.7GB runs out of memory 204MB is possible to implement Now all of tables are in the DRAM of NIC ©2017 Open-NFP

27

Tabular hash results - Kpps

Baseline(forwarding) max pps : 17300K pps

Line Rate with max packet size (1500) : 3245

©2017 Open-NFP

28

Tabular hash throughput results •  Char Table 32 -> can cover 2 dimension with line rates •  64bit is slower

©2017 Open-NFP

29

Some lessons and takeaways Simulator helped! We could profile the bottleneck of our implementation with built-in simulator of IDE UnivMon is feasible on NFP at line-rate with 3 dimensions and 5-independent hash function C programming with Netronome has greater flexibility! ©2017 Open-NFP

30

Ongoing and Next Steps APIs to write applications and queries on UnivMon Suite of DDoS detection applications Continue profiling and benchmarking Other platforms as well (e.g., openvswitch, fd.io)

©2017 Open-NFP

31

Conclusions •  DDoS Detection needs more flexibility and programmability •  Today: General XOR Flexible Vision: General + Flexible via Universal Monitoring •  Initial promise: Feasible, accurate, possible to implement •  Ongoing and future work: Performance profiling, “Northbound” APIs etc. ©2017 Open-NFP

32