Terry Lam (with M. Mitzenmacher and G. Varghese) Denial of Service - - PowerPoint PPT Presentation

terry lam
SMART_READER_LITE
LIVE PREVIEW

Terry Lam (with M. Mitzenmacher and G. Varghese) Denial of Service - - PowerPoint PPT Presentation

Terry Lam (with M. Mitzenmacher and G. Varghese) Denial of Service Worm outbreak Millions of potentially interesting events How to get a coherent view despite bandwidth and memory limits? Standard solutions: sampling and summarizing


slide-1
SLIDE 1

Terry Lam

(with M. Mitzenmacher and G. Varghese)

slide-2
SLIDE 2

 Millions of potentially interesting events  How to get a coherent view despite bandwidth and

memory limits?

 Standard solutions: sampling and summarizing

2

Denial of Service Worm outbreak

slide-3
SLIDE 3

 Need to collect infected stations for remediation  Other examples of complete collection: u List all IPv6 stations u List all MAC addresses in a LAN

3

slide-4
SLIDE 4

4

Slammer Witty

signatures

Intrusion Detection System (IDS)

Slammer A Witty B Slammer C

A B C

Management Station

slide-5
SLIDE 5

5

 Challenges:  Small logging bandwidth: L < < arrival rate B

e.g., L = 1 Mbps; B = 10 Gbps

 Small memory: M < < number of sources N  e.g., M = 10,000; N=1 Million  Opportunity:  Persistent sources: sources will keep arriving at the logger

Sink 1 N Memory M B L LOGGER

slide-6
SLIDE 6

 Carousel: new scheme, with minimal memory can log

almost all sources in close to optimal time (N/L)

 Standard approach is much worse u ln(N) times worse in an optimistic random model u Adding a Bloom filter does not help u Infinitely worse in a deterministic adversarial model

6

slide-7
SLIDE 7

7

IDS

memory

sink

  • Sources 2 and 3 are never collected if pattern repeats
  • 1 is logged many times
  • In worst case, N – M (many!) sources can be missed

2 3 4 1 4 1

slide-8
SLIDE 8

8

Bloom filter is necessarily small (M) compared to sources (N)

 Similar performance to a standard logger

u Again, sources 2 and 3 are never collected because of timing

IDS

memory

sink

Bloom filter

1 4 2 3 4 1 4 1 4 1 2 1 4

Clear Bloom filter?

slide-9
SLIDE 9

Congestion Control for Logging?

 When input traffic exceeds capacity, standard solution

is admission control: but it requires source cooperation

 What can a poor resource do to protect itself

unilaterally without cooperation from senders?

 Our approach: Randomized Admission Control. u Break sources into random groups and “admit” one

group at a time for logging

slide-10
SLIDE 10

10

IDS

memory Bloom filter

sink

1 3 3 3 4 2 4 1 2 1

Carousel

3 3 4 2 4 1 2 1

Hash to color the sources say red and blue Only red sources are logged in this phase

slide-11
SLIDE 11

11

IDS

memory Bloom filter

sink

Carousel

1 3 4 2 2 3 4 3 1 1 3 4

Change color!

slide-12
SLIDE 12

12

IDS

memory Bloom filter

sink

1 3

Carousel Bloom filter full

Increase Carousel colors

4 2 3 4 1 5 1 7 4 6 7 8 8 1 4 8

slide-13
SLIDE 13

 Partition

u Hk(X): lower k bits of H(S), a hash function of a source S u Divide the population into partitions with same hash value

 Iterate

u T = M / L (available memory divided by logging bandwidth) u Each phase last T seconds, corresponds a distinct hash value u Bloom filter weeds out duplicates within a phase

 Monitor (to find right partition size)

u Increase k if Bloom filter is too full u Decrease k if Bloom filter is too empty

13

slide-14
SLIDE 14

14

Linux PCAP Snort Detection Engine Packet of current color? Packet in Bloom filter? Add packet to Bloom filter Bloom filter

  • verflow?

Snort output module Increase colors Reset timer Clear Bloom filter Bloom filter underflow? Change color Reset timer Clear Bloom filter Timer expires? Drop packet N Y N Y Y Y N Reduce colors N Y N

Carousel

slide-15
SLIDE 15

 Carousel is “competitive” in that it can collect almost all

sources within a factor of 2 from optimal time

u N = sources, L = logging speed, optimal time = N/L u Collection time ≈ 2 N/L,

 Example: N = 10,000 M = 500, L = 100

15

Number of logged sources

Time (sec)

190 Optimal

slide-16
SLIDE 16

 N = 10,000; M = 500; L = 100 items/sec  Logistic model of worm growth

16

Time (sec)

Number of logged sources

400 3900 2100

Carousel is nearly ten times faster than naïve collector

slide-17
SLIDE 17

Snort Experimental Setup

 Scaled down from real traffic: 10,000 sources, buffer

  • f 500, input rate =100 Mbps, logging rate = 1 Mbps

 Two cases: source S picked randomly on each packet

  • r periodically (1,2,3 . . 10,000, 1, 2, 3, . . )

Intel Xeon 2.8 GHz 8 cores, 8 GB RAM, 1 TB disk

traffic generator Snort IDS with and without Carousel

Signature

P S

P log S

slide-18
SLIDE 18

18

Time (sec) Time (sec) (a) Random traffic pattern (b) Periodic traffic pattern

180 500 18000

3 times faster with random and 100 times faster with periodic

slide-19
SLIDE 19

 Using 1 Mbit of memory, less than 5% of an ASIC  Can be easily added to hardware IDS/IPS chipsets

19

Hash key Compare: lower order bits of hash = V? Bloom filter Timer T V=V+1 clear

Carousel logging hardware

Key, record from detector To remote logger

slide-20
SLIDE 20

 High speed implementations of IPS devices

u Fast reassembly, normalization and regular expression u No prior work on scalable logging

 Alto file system: dynamic and random partitioning

u Fits big files into small memory to rebuild file index after crash u Memory is only scarce resource u Carousel handles both limited memory and logging speed u Carousel has a rigorous competitive analysis

20

slide-21
SLIDE 21

 Carousel is probabilistic: sources can be missed with

low probability  mitigate by changing hash function

  • n each Carousel cycle.

 Carousel relies on a “persistent source assumption” u Does not guarantee logging of “one-time” events  Carousel does not prevent duplicates at the sink but

has fast collection time even in an adversarial model.

21

slide-22
SLIDE 22

 Carousel is a scalable logger that

u Collects nearly all persistent sources in nearly optimal time u Is easy to implement in hardware and software u Is a form of randomized admission control

 Applicable to a wide range of monitoring tasks with:

u High line speed, low memory, and small logging speed u And where sources are persistent

22