270 likes | 368 Views
ecs298k Intention-Driven iTrace lecture #6. Dr. S. Felix Wu Computer Science Department University of California, Davis http://www.cs.ucdavis.edu/~wu/ wu@cs.ucdavis.edu. A Statistic Problem with iTrace.
E N D
ecs298kIntention-Driven iTracelecture #6 Dr. S. Felix Wu Computer Science Department University of California, Davis http://www.cs.ucdavis.edu/~wu/ wu@cs.ucdavis.edu ecs289K: Intention Driven iTrace
A Statistic Problem with iTrace • Routers closer to the victims have higher probability to generate iTrace packets toward the true victims. • Routers closer to the DDoS slaves might have relatively small probability (smaller than the routers around the victims) to generate “useful” iTrace packets. ecs289K: Intention Driven iTrace
“Usefulness” • Let’s think?? ecs289K: Intention Driven iTrace
Two answers • It carries attack packets. • It carries attack packets from a router that is very close to the original slaves ecs289K: Intention Driven iTrace
Two measures • P(U-iTrace) • When an iTrace message is generated, what is the probability that this iTrace message is “useful” (i.e., it carries an attack packet)? • P(U-iT-sec) • What is probability for a router to generate at least ONE “useful” iTrace message in a second? ecs289K: Intention Driven iTrace
Slave R1 R2 Victim Example: Multi-S Single-V 1K attack-pkt/sec 19K normal-pkt/sec P(U-iTrace) = 5% #iTrace/sec = 1 P(U-iT-sec) = 5% 200K attack-pkt/sec 200K normal-pkt/sec P(U-iTrace) = 50% #iTrace/sec = 20 P(U-iT-sec) = 99.999% 4K attack-pkt/sec 196K normal-pkt/sec P(U-iTrace) = 2% #iTrace/sec = 10 P(U-iT-sec) = 18% 980K attack-pkt/sec 20K normal-pkt/sec P(U-iTrace) = 98% #iTrace/sec = 50 P(U-iT-sec) = 100% ecs289K: Intention Driven iTrace
Motivation • About (K* 0.005%) of our network resources will be spent on iTrace packets. • Then, we hope we can spend the resources on more “useful” iTrace packets. ecs289K: Intention Driven iTrace
Three Types of Nodes • DDoS victim with the intention to trace the slaves. • DDoS victim without the intention. • non-DDoS victims (assuming they do not have the intention as well -- and very likely they hope they won’t receive ones). ecs289K: Intention Driven iTrace
Intention-driven iTrace • Different destinationhosts, networks, domains/ASs have different “intention levels” in receiving iTrace packets. • We propose to add one “iTrace-intention” bit. • Some of them might not care about iTrace, and some of them might not be under DDoS attacks, for example. ecs289K: Intention Driven iTrace
a little mathematics... Intention for receiving iTrace. S2V: 2% I: 1 S2B:48% I: 0 S2C:25% I: 0 S2D:25% I: 1 V’s probability to receive iTrace packets: 7.41% 0.02 / (0.02 + 0 + 0 + 0.25) = 0.0741 PiTrace(V) = (Ptraffic(V) * I(V)) / (Ptraffic(n) * I(n)) ecs289K: Intention Driven iTrace
Slave R1 R2 Victim Example: Multi-S Two-V 4K att-v1-pkt/sec 50K att-v2-pkt/sec 146K normal-pkt/sec P(U-iTrace) = 2% #iTrace/sec = 10 P(U-iT-sec) = 18% I(Victim-1) = 1 P(U-iTrace) = 7.4% P(U-iT-sec) = 53.7% P(U-iTrace) = 25% #iTrace/sec = 10 P(U-iT-sec) = 95% I(Victim-2) = 1 P(U-iTrace) = 92.6% P(U-iT-sec) = 100.0% ecs289K: Intention Driven iTrace
Issues • How to determine the intention bit? • Policy to set the bit. • How to distribute the intention bits to routers globally? • Utilize/extend BGP! • How to use the intention bits at each router? ecs289K: Intention Driven iTrace
How to distribute I(n)? • YABE: (Yet Another BGP Extension) • For every BGP route update, we include I(n) as a new string in the community attribute: • 0x[iTrace-Intention]:0x[0-1] (optional & transitive) • These I(n) values will be forwarded or even aggregated by the routers who understand this new community attribute. • aggregation: I(new) = max {I(n)} • Rate-Limiting on Intention Update: • should not be more frequent than Keep-Alive messages. • should not trigger any major route computation. ecs289K: Intention Driven iTrace
The iTrace Statistics Model Packet buffering Routing table lookup Forward process Should this packet be iTraced? iTrace Stochastic Process Yes, we should generate an iTrace for this packet? ecs289K: Intention Driven iTrace
iTrace Trigger Packet buffering Routing table lookup Forward process iTrace Trigger If yes, pick the Nth packet in the buffer…. iTrace Stochastic Process Should we generate an iTrace message now? ecs289K: Intention Driven iTrace
A simple design iTrace Process BGP table I(n) iTrace bit per ~20K pkts Add two bits to the routing table: (1). I(n): Intention Bit Value associated with this entry (2). iTrace bit: whether we need to generate an iTrace message for this entry now. ecs289K: Intention Driven iTrace
Handling an iTrace Trigger iTrace Process • If all I(n)’s are zero, shut-off the iTrace trigger process. • Set the iTrace bit on all the entries with I(n) = 1. BGP table I(n) iTrace bit ecs289K: Intention Driven iTrace
I(n) iTrace bit (1). Before iTrace trigger: 152.1.23.0/24 1 0 169.20.3.0/24 0 0 192.1.0.0/16 0 0 207.3.4.183/20 1 0 152.1.0.0/16 1 0 155.0.0.0/16 0 0 (2). After iTrace trigger: 152.1.23.0/24 1 1 169.20.3.0/24 0 0 192.1.0.0/16 0 0 207.3.4.183/20 1 1 152.1.0.0/16 1 1 155.0.0.0/16 0 0 ecs289K: Intention Driven iTrace
I(n) iTrace bit (3). After iTrace sent: 152.1.23.0/24 1 0 169.20.3.0/24 0 0 192.1.0.0/16 0 0 207.3.4.183/20 1 0 152.1.0.0/16 1 0 155.0.0.0/16 0 0 ecs289K: Intention Driven iTrace
Processing Overhead 1/20K iTrace message trigger occurs: 1. Set all the iTrace bits on if I(n) = 1. Processing for each data packet: 1. if the iTrace flag bit is 1, (1). send an iTrace message for this data packet. (2). reset all the iTrace bits to 0. ecs289K: Intention Driven iTrace
Slave R1 R2 Victim The Aggregation Problem 4K att-v1-pkt/sec 50K att-v2-pkt/sec 146K normal-pkt/sec P(U-iTrace) = 2% #iTrace/sec = 10 P(U-iT-sec) = 18% I(Victim-1) = 1 P(U-iTrace) = 7.4% for 4K traffic. P(U-iT-sec) = 53.7% 4K att-v1-pkt/sec 16K agg-v1-pkt/sec 50K att-v2-pkt/sec 130K normal-pkt/sec P(U-iTrace) = 2% #iTrace/sec = 10 P(U-iT-sec) = 18% I(Victim-1) = 1 P(U-iTrace) = 5.7% for 20K traffic. P(U-iT-sec) = 44.4% ecs289K: Intention Driven iTrace
Summary for Intention iTrace • Improve the probability of “useful” iTrace. • Require some “minor” changes to the router forwarding process. • Require another BGP extension. • We need to verify that this extension will be interoperable well with existing BGP nodes. • The amount of generated iTrace messages should be no more than the current iTrace proposal. ecs289K: Intention Driven iTrace