430 likes | 562 Views
Clouseau: A practical IP spoofing defense through route-based filtering. Jelena Mirkovic, University of Delaware (sunshine@cis.udel.edu) Nikola Jevtic, Google Inc. Peter Reiher, UCLA. Outline. What is IP spoofing? Why should we care? Route-based filtering (RBF)
E N D
Clouseau: A practical IP spoofing defense through route-based filtering Jelena Mirkovic, University of Delaware (sunshine@cis.udel.edu)Nikola Jevtic, Google Inc. Peter Reiher, UCLA
Outline • What is IP spoofing? Why should we care? • Route-based filtering (RBF) • Filter packets that come on unexpected path • 97% effective if deployed at few core ASes • Tables must be complete! • Clouseau protocol • Builds tables for RBF and keeps them current in face of route changes • Sets up spoofed packet filters • Fast and accurate decision, small impact on traffic
IP spoofing RBF Clouseau What is IP spoofing? From: 1.2.3.4, to: 9.10.11.12 5.6.7.8 ≈ Andy ≈ 9.10.11.12 ≈ Danny Faking the IP address in the sourcefield of IP header 1.2.3.4 Lea
IP spoofing RBF Clouseau IP spoofing uses • Hide attacker’s identity • Invoke replies to the spoofed address • Reflector DDoS attacks • Create decoy packets that hide attacker’s vulnerability scanning • Assume good host’s identity and gain priority service or status
IP spoofing RBF Clouseau If IP spoofing were reduced • Attacks would be easier to detect and attribute • We could build IP address profiles to track user behavior • Reward good users, punish bad ones • Reflector attacks would be reduced
IP spoofing RBF Clouseau Route-based filtering 5.6.7.8 ≈ Andy ≈ 9.10.11.12 ≈ Danny Route Based Filtering[RBF] Build incoming tables that store incoming interface for a given source IP. Filter packets that arrive on wrong interface. Tables must be updated upon a route change. Lea’s path could overlap with Andy’s so some spoofing will go undetected. 1.2.3.4 Lea [RBF] K. Park, H. Lee,”On the effectiveness of route-based packet filtering for distributed DoS attack prevention in power-law internets’” SIGCOMM 2001
IP spoofingRBF Clouseau From: 1.2.3.4, to: 9.10.11.12 Route-based filtering 5.6.7.8 ≈ 1 Andy ≈ 2 9.10.11.12 From Interface 5.6.7.8 1 1.2.3.4 2 ≈ Danny 1.2.3.4 Lea
IP spoofingRBF Clouseau RBF effectiveness • If RBF is deployed on the vertex cover of AS map [RBF] • Deployment percentage: 18.9% • Percentage of (s,d) pairs that cannot contain spoofed traffic: 96% • ASes that cannot spoof: 88% • Downside: 18.9% of ASes is more than 4000! [RBF] K. Park, H. Lee,”On the effectiveness of route-based packet filtering for distributed DoS attack prevention in power-law internets,” SIGCOMM 2001
IP spoofingRBF Clouseau Open questions • How well does RBF work under sparse deployment? • What if incoming tables are incomplete? • How to build incoming tables?
IP spoofingRBF Clouseau Effectiveness measures • We will observe packets sent from s to d, spoofing the address p • Target measure (fixed d): • How many (s,p) combinations are possible to this victim • Stolen address measure (fixed p): • How many (s,d) combinations are possible spoofing this address • Spoofability • How many (s,d,p) combinations are possible
IP spoofingRBF Clouseau Target measure May’05
IP spoofingRBF Clouseau Stolen address measure May’05
IP spoofingRBF Clouseau Spoofability over years
IP spoofingRBF Clouseau Effectiveness summary • First 20 filters have a considerable impact! • 50 filters drastically reduce spoofing • Filters receive instant benefit from RBF • They reduce their target measure • Stolen address measure is only reduced whenwe deploy enough filters
IP spoofingRBF Clouseau Filter membership Persist over 5 years(17) Persist over 3 years (14)
IP spoofingRBF Clouseau Long-term members
IP spoofingRBFClouseau How to build incoming tables • Incoming interface = outgoing interface • Asymmetric routing defeats this • Participating source networks send reports along paths to destinations they talk to[SAVE] • Infer incoming interface from the route the report takes or from report’s info - partial tables! • Infer incoming interface info from BGP updates[IDPF] • This allows multiple expected interfaces • Infer incoming interface info from traffic
IP spoofingRBFClouseau Clouseau • Packets at unexpected interface trigger inference process • Out of first N packets • Drop random V, store unique ID in DropQueue • Forward N-V, store unique ID in FwQueue • When a packet is repeated: • If in DropQueue, gain 1 valid point • If in FwQueue, gain 1 spoof point • Decision if valid score = V or spoof score = S • Inference is banned for a time afterwards
IP spoofingRBFClouseau Clouseau in action Drop 1,.. Forward 2, 3… RC= 0 SP = 0 1 ≈ Drop! ≈ ≈ DropQueue 1 FwQueue
IP spoofingRBFClouseau Clouseau in action Drop 1,.. Forward 2, 3… RC= 0 SP = 0 2 ≈ Forward! 2 ≈ ≈ DropQueue 1 FwQueue 2
IP spoofingRBFClouseau Clouseau in action Drop 1,.. Forward 2, 3… Valid = 0 Spoof = 0 3 ≈ Forward! 3 ≈ ≈ DropQueue 1 FwQueue 2 3
IP spoofingRBFClouseau Clouseau in action Drop 1,.. Forward 2, 3… Valid = 1 Spoof = 0 1 ≈ 1 ≈ ≈ DropQueue 1 FwQueue 2 3 Repeating dropped packets increases valid score
IP spoofingRBFClouseau Clouseau in action Drop 1,.. Forward 2, 3… Valid = 1 Spoof = 1 2 ≈ 2 ≈ ≈ DropQueue 1 FwQueue 2 3 Repeating forwarded packets increases spoof score
IP spoofingRBFClouseau Clouseau in action Drop 1,.. Forward 2, 3… Valid = 1 Spoof = 1 1 ≈ 1 ≈ ≈ DropQueue 1 FwQueue 2 3 Repeating dropped packets more than once doesn’t change scores
IP spoofingRBFClouseau Clouseau in action Drop 1,.. Forward 2, 3… Valid = 1 Spoof = 2 2 ≈ 2 ≈ ≈ DropQueue 1 FwQueue 2 3 Repeating forwarded packets more than once increases spoof score
IP spoofingRBFClouseau Design decisions • DropQueue size = V, FwQueue size = k*S • Why forwarded queue? • To stop packet-repeating attacker • Should S > 0? • Congestion, sources don’t use selective acks • Why inference ban? • Inference lets packets through, our goal is to filter
IP spoofingRBFClouseau Performance measures • Impact on legitimate traffic • Connection delay due to drops and policing • Inference delay • How long until we discover a route change or attack
IP spoofingRBFClouseau Test setting • Clouseau implemented in Linux kernel, tested in Emulab • Start 10 parallel TCP connections, change route in the middle
IP spoofingRBFClouseau Traffic delay vs. queue size pd=V/N=0.1
IP spoofingRBFClouseau Inference time vs. queue size pd=V/N=0.1
IP spoofingRBFClouseau Traffic delay vs. Pd N=100
IP spoofingRBFClouseau Inference time vs. Pd N=100
IP spoofingRBFClouseau Attacks • Random spoofing • Detected on timeout • Repeat each packet n times • Best choice: n=2 • First packet dropped gain 1 valid point • First packet forwarded damage is 1 spoof point • Larger damage but not larger gain for n>2 • Send N packets then repeat a permutation • Attacker knows values of V, S, k • Goal is to trick Clouseau to change incoming interface • Send N packets then choose a permutation of this • N large enough to guarantee that queues fill
IP spoofingRBFClouseau Permutation attack • Good permutations for the attacker: • Have V packets from DropQueue before S packets from FwQueue • Probability that the attacker manages to cheat us • Probability of cheating decreases exponentially with longer queues
IP spoofingRBFClouseau Pspoof vs queue size and pd
IP spoofingRBFClouseau Cascaded filters • Filters downstream will drop packets forwarded by filters upstream • This could lead to route changes that are wrongly inferred as spoofing - legitimate traffic dropped!!! • We must break filter synchronization • Choose random delay when to start inference - synchronization still possible • Random initial delay, then mark forwarded packets in TOS or ID field with a well-known mark • Filters that spot marked packets delay or interrupt inference, wait for T seconds • Maximum wait is set to several minutes, then start inference even if mark is seen
IP spoofingRBFClouseau Remaining design issues • Spoofing attacks could still go through if they change spoofed address frequently • We only care if part of DDoS • Examine offending packets, if a lot of them have common destination detect DDoS drop all offending traffic to this destination • Operating cost • Memory cost could be large if all entries go into inference • There are ~35K incoming table entries, when aggregated • We plan to investigate use of Bloom filters to bring down the memory cost
IP spoofingRBFClouseau Conclusions • RBF can drastically reduce spoofing if deployed at 20-50 largest ASes (60% are top members for at least 3 years) • Clouseau builds accurate incoming tables • Quickly detects route changes/spoofing • Small impact on legitimate connections • Robust to attacks
Vertex Cover Choose minimal number of nodes so that alllinks have at least one node in VC. NPC problem.
Vertex Cover Heuristic: First choose nodes with leaf neighbors, thenchoose enough nodes to cover remaining links.
Vertex Cover Heuristic: First choose nodes with leaf neighbors, thenchoose enough nodes to cover remaining links.
Vertex Cover Heuristic: First choose nodes with leaf neighbors, thenchoose enough nodes to cover remaining links.