terry lam
play

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


  1. Terry Lam (with M. Mitzenmacher and G. Varghese)

  2. 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 2

  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

  4. Slammer Witty B Slammer A Slammer C Witty … signatures A B C Intrusion Detection System (IDS) Management Station 4

  5. LOGGER 1 Sink L B Memory M N  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 5

  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

  7. sink IDS 2 1 4 3 4 1 memory • 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 7

  8. sink IDS Clear Bloom filter? 4 1 1 4 2 1 4 3 4 1 2 4 1 memory Bloom filter  Similar performance to a standard logger u Again, sources 2 and 3 are never collected because of timing Bloom filter is necessarily small (M) compared to sources (N) 8

  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

  10. sink IDS Hash to color the sources say red and blue 1 4 3 1 2 4 3 2 1 4 3 1 2 4 3 2 1 3 memory Bloom filter Only red sources are logged in this phase Carousel 10

  11. sink IDS 4 3 2 1 4 3 1 3 4 3 1 2 memory Bloom filter Change color! Carousel 11

  12. sink IDS 1 4 8 2 7 6 4 1 5 4 3 7 1 1 8 4 8 3 memory Bloom filter Bloom filter full Increase Carousel colors Carousel 12

  13.  Partition u H k (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

  14. Linux PCAP Snort Detection Engine Carousel N Packet of N current color? Timer expires? Y Y Y Packet in Drop Bloom filter? packet Y Bloom filter underflow? N Add packet to Bloom filter N Change color Reduce Increase colors Y Reset timer Bloom filter colors Reset timer Clear Bloom filter overflow? Clear Bloom filter N Snort output module 14

  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 Number of logged sources Optimal 190 Time (sec) 15

  16. Number of logged sources 3900 2100 400 Time (sec)  N = 10,000; M = 500; L = 100 items/sec Carousel is nearly ten times faster than naïve collector  Logistic model of worm growth 16

  17. Snort Experimental Setup Intel Xeon 2.8 GHz 8 cores, 8 GB RAM, 1 TB disk Signature P S log S P traffic generator Snort IDS with and without Carousel  Scaled down from real traffic: 10,000 sources, buffer of 500, input rate =100 Mbps, logging rate = 1 Mbps  Two cases: source S picked randomly on each packet or periodically (1,2,3 . . 10,000, 1, 2, 3, . . )

  18. 180 18000 500 Time (sec) Time (sec) (a) Random traffic pattern (b) Periodic traffic pattern 3 times faster with random and 100 times faster with periodic 18

  19. Carousel logging hardware Compare: lower order Key, record Hash key Bloom filter To remote logger bits of hash = V? from detector V=V+1 clear Timer T  Using 1 Mbit of memory, less than 5% of an ASIC  Can be easily added to hardware IDS/IPS chipsets 19

  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

  21.  Carousel is probabilistic: sources can be missed with low probability  mitigate by changing hash function on 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

  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

Recommend


More recommend