distributed denial of service attacks cs 236 advanced computer security peter reiher may 20, 2008
DESCRIPTION
Distributed Denial of Service Attacks CS 236 Advanced Computer Security Peter Reiher May 20, 2008. Groups for This Week. Golita Behnoodi, Andrew Castner, Yu-Yuan Chen Darrel Carbajal, Chia-Wei Chang, Faraz Zahabian Chien-Chia Chen, Michael Cohen, Mih-Hsieh Tsai - PowerPoint PPT PresentationTRANSCRIPT
Lecture 8Page 1CS 236, Spring 2008
Distributed Denial of Service AttacksCS 236
Advanced Computer Security Peter Reiher
May 20, 2008
Lecture 8Page 2CS 236, Spring 2008
Groups for This Week
1. Golita Behnoodi, Andrew Castner, Yu-Yuan Chen
2. Darrel Carbajal, Chia-Wei Chang, Faraz Zahabian
3. Chien-Chia Chen, Michael Cohen, Mih-Hsieh Tsai
4. Jih-Chung Fan, Zhen Huang, Nikolay Laptev
5. Vishwa Goudar, Abishek Jain, Kuo-Yen Lo
6. Michael Hall, Chen-Kuei Lee, Peter Peterson
7. Chieh-Ning Lien, Hootan Nikbakht, Peter Wu
8. Jason Liu, Sean McIntyre, Ionnis Pefkianakis
Lecture 8Page 3CS 236, Spring 2008
Distributed Denial of Service (DDoS) Attacks
• Goal: Prevent a network site from doing its normal business
• Method: overwhelm the site with attack traffic
• Response: ?
Lecture 8Page 5CS 236, Spring 2008
Characterizing the Problem
• An attacker compromises many hosts– Usually spread across Internet
• He orders them to send garbage traffic to a target site
• The combined packet flow overwhelms the target– Perhaps his machine
– Perhaps his network link
– Perhaps his ISP’s network link
Lecture 8Page 6CS 236, Spring 2008
Why Are These Attacks Made?
• Generally to annoy
• Sometimes for extortion
• If directed at infrastructure, might cripple parts of Internet
– So who wants to do that . . .?
Lecture 8Page 7CS 236, Spring 2008
Attack Methods
• Pure flooding– Of network connection– Or of upstream network
• Overwhelm some other resource– SYN flood– CPU resources– Memory resources– Application level resource
• Direct or reflection
Lecture 8Page 8CS 236, Spring 2008
Why “Distributed”?
• Targets are often highly provisioned servers
• A single machine usually cannot overwhelm such a server
• So harness multiple machines to do so
• Also makes defenses harder
Lecture 8Page 9CS 236, Spring 2008
Yahoo Attack• Occurred in February 2000• Resulted in intermittent outages for
nearly three hours• Attacker caught and successfully
prosecuted• Other companies (eBay, CNN,
Microsoft) attacked in the same way at around the same time
Lecture 8Page 10CS 236, Spring 2008
DDoS Attack on DNS Root Servers
• Concerted ping flood attack on all 13 of the DNS root servers in October 2002
• Successfully halted operations on 9 of them• Lasted for 1 hour
– Turned itself off, was not defeated• Did not cause major impact on Internet
– DNS uses caching aggressively• Another (less effective) attack in February 2007
Lecture 8Page 11CS 236, Spring 2008
DDoS Attack on Estonia
• Occurred April-May 2007
• Estonia moved a statue that Russians liked
• Then somebody launched large DDoS attack on Estonian gov’t sites
• Took much of Estonia off-line for ~ 3 weeks
• Recently, DDoS attack on Radio Free Europe sites in Belarus
Lecture 8Page 12CS 236, Spring 2008
How to Defend?
• A vital characteristic:– Don’t just stop a flood– ENSURE SERVICE TO
LEGITIMATE CLIENTS!!!• If you deliver a manageable amount of
garbage, you haven’t solved the problem
Lecture 8Page 13CS 236, Spring 2008
Complicating Factors
• High availability of compromised machines– At least tens of thousands of zombie machines
out there• Internet is designed to deliver traffic
– Regardless of its value• IP spoofing allows easy hiding• Distributed nature makes legal approaches hard• Attacker can choose all aspects of his attack
packets– Can be a lot like good ones
Lecture 8Page 14CS 236, Spring 2008
Basic Defense Approaches
• Overprovisioning
• Dynamic increases in provisioning
• Hiding
• Tracking attackers
• Legal approaches
• Reducing volume of attack
Lecture 8Page 15CS 236, Spring 2008
Overprovisioning
• Be able to handle more traffic than attacker can generate
• Works pretty well for Microsoft and Google
• Not a suitable solution for Mom and Pop Internet stores
Lecture 8Page 16CS 236, Spring 2008
Dynamic Increases in Provisioning
• As attack volume increases, increase your resources
• Dynamically replicate servers
• Obtain more bandwidth
• Not always feasible
• Probably expensive
• Might be easy for attacker to outpace you
Lecture 8Page 17CS 236, Spring 2008
Hiding
• Don’t let most people know where your server is
• If they can’t find it, they can’t overwhelm it
• Possible to direct your traffic through other sites first
– Can they be overwhelmed . . .?
• Not feasible for sites that serve everyone
Lecture 8Page 18CS 236, Spring 2008
Tracking Attackers
• Almost trivial without IP spoofing• With IP spoofing, more challenging• Big issue:
– Once you’ve found them, what do you do?
• Not clear tracking actually does much good• Loads of fun for algorithmic designers,
though
Lecture 8Page 19CS 236, Spring 2008
Legal Approaches
• Sic the FBI on them and throw them in jail• Usually hard to do• FBI might not be interested in “small fry”• Slow, at best• Very hard in international situations• Generally only feasible if extortion is
involved– By following the money
Lecture 8Page 20CS 236, Spring 2008
Reducing the Volume of Traffic
• Addresses the core problem:– Too much traffic coming in, so get rid of
some of it• Vital to separate the sheep from the goats• Unless you have good discrimination
techniques, not much help• Most DDoS defense proposals are variants
of this
Lecture 8Page 21CS 236, Spring 2008
Approaches to Reducing the Volume
• Give preference to your “friends”• Require “proof of work” from
submitters• Detect difference between good and
bad traffic– Drop the bad– Easier said than done
Lecture 8Page 23CS 236, Spring 2008
D-WARD
• Core idea is to leverage a difference between DDoS traffic and good traffic
• Good traffic responds to congestion by backing off
• DDoS traffic responds to congestion by piling on
• Look for the sites that are piling on, not backing of
Lecture 8Page 24CS 236, Spring 2008
The D-Ward Approach
• Deploy D-Ward defense boxes at exit points of networks– Use ingress filtering here to stop most spoofing
• Observe two-way traffic to different destinations• Throttle “poorly behaved” traffic• If it continues to behave badly, throttle it more• If it behaves well under throttling, back off and
give it more bandwidth
Lecture 8Page 27CS 236, Spring 2008
The Problem With D-Ward• D-Ward defends other people from
your network’s DDoS attacks
• It doesn’t defend your network from other people’s DDoS attacks
• So why would anyone deploy it?
• No one did, even though, if fully deployed, it could stop DDoS attacks
Lecture 8Page 28CS 236, Spring 2008
Pushback
• Goal: Drop attack traffic to relieve congestion• Detect congestion locally
– Drop traffic from high-bandwidth aggregates• Push back the rate limits to the routers sending
those aggregates– Who will then iterate
• Rate limits pushed towards attack sites– Or other sites with high volume
Lecture 8Page 29CS 236, Spring 2008
Can Pushback Work?• Even a few core routers are able to control
high-volume attacks– But issues of partial deployment
• Only traffic for the victim is dropped• Drops affect a portion of traffic that
contains the attack traffic• But will inflict collateral damage on
legitimate traffic– Traffic sharing controlled links with
attack traffic likely to be harmed
Lecture 8Page 30CS 236, Spring 2008
DefCOM
• Different network locations are better for different elements
• Near source good for characterizing traffic• Core nodes can filter effectively with small
deployments• Near target it’s easier to detect and
characterize an attack• DefCOM combines defense in all locations
Lecture 8Page 31CS 236, Spring 2008
DefCOM in Action
alert generator
classifier
classifier
corecore
DefCOM instructs core nodes to
apply rate limits
Core nodes use information from
classifiers to prioritize traffic
Classifiers can assure priority for good traffic
Lecture 8Page 32CS 236, Spring 2008
Benefits of DefCOM
• Provides effective DDoS defense
• Without ubiquitous deployment
• Able to handle higher volume attacks than target end defenses
• Offers deployment incentives for those who need to deploy things
Lecture 8Page 34CS 236, Spring 2008
SOS
• A hiding approach
• Don’t let the attackers send packets to the possible target
• Use an overlay network to deliver traffic to the destination
• Filter out bad stuff in the overlay
– Which can be highly provisioned
Lecture 8Page 35CS 236, Spring 2008
How SOS Defends• Clients are authenticated at the overlay entrance• A few source addresses are allowed to reach the
protected node– All other traffic is filtered out
• Several overlay nodes designated as “approved”– Nobody else can route traffic to protected
node• Good traffic tunneled to “approved” nodes
– They forward it to the server
Lecture 8Page 36CS 236, Spring 2008
36
Can SOS Work?• Should successfully protect
communication with a private server:
– Access points distinguish legitimate from attack communications
– Overlay protects traffic flow
– Firewall drops attack packets
• What about attacking overlay?
– Redundancy and secrecy might help
Lecture 8Page 37CS 236, Spring 2008
SOS Advantages and Limitations+ Ensures communication of “confirmed” user
with the victim+ Resilient to overlay node failure+ Resilient to DoS– Does not work for public service
– Clients must be aware of overlay and use it to access the victim
– Traffic routed through suboptimal path– Still allows brute force attack on links entering the
filtering router in front of client– If the attacker can find it
Lecture 8Page 38CS 236, Spring 2008
How Do We Test DDoS Defense?
• What are the core claims about each defense?
• Which of those are least plausible or most risky?
• How do we prioritize among many things we could test?
Lecture 8Page 39CS 236, Spring 2008
Performance Questions• How well does each defend against attacks?• Does it damage performance of normal traffic?• Can it run fast enough for realistic cases?• How much does partial deployment pattern
matter?• Does regular traffic pattern matter?• Does attack traffic pattern matter?• Can the defense be used as an attack tool?
Lecture 8Page 40CS 236, Spring 2008
How Do We Test?
• Let’s concentrate first on the core issue of whether the system defends
– Using DefCOM as an example
• How do we propose to test that?
Lecture 8Page 41CS 236, Spring 2008
Basic Approach
• What is our basic testing approach?
• Set up a four machine testbed like so:
TargetRate limiter
ClassifierTraffic source
Lecture 8Page 42CS 236, Spring 2008
Or One Like This?
alert generator
classifier
classifier
corecore
Lecture 8Page 44CS 236, Spring 2008
If It’s Not the Simple One . . .
• What is the topology?
• How many edge nodes?
• Organized into how many subnets?
• How many core nodes?
• Connected how?
• And how do we arrange the routing?
Lecture 8Page 45CS 236, Spring 2008
Is the Base Case Full Deployment?
• And what does that mean in terms of where we put classifiers and filtering nodes?
• If it’s not full deployment, what is the partial deployment pattern?
– A single pattern?
– Or treat that as a factor in experiment?
Lecture 8Page 46CS 236, Spring 2008
Metrics
• What metric or metric should we use to decide if DefCOM successfully defends against DDoS attacks?
• Utilization of the bottleneck link?
• Percentage of dropped attack packets?
• Percentage of legitimate packets delivered?
• Something else?
Lecture 8Page 47CS 236, Spring 2008
Workload
• Probably two components:
– Legitimate traffic
– Attack traffic
• Where do we get them from?
• If we’re not using the simple topology, where do we apply them?
Lecture 8Page 48CS 236, Spring 2008
The Attack Workload• Basically, something generating a lot of packets• But is there more to it?• Do we care about kind of packets?• Pattern of their creation?• Contents?
– Header?– Payload?
• Do attack dynamics change during attack?• Which nodes generate attack packets?
Lecture 8Page 49CS 236, Spring 2008
The Legitimate Workload
• What is it?• How realistic must it be?• How do we get it?• Where is it applied?• Is it responsive to what happens at the
target?• Cross-traffic?
Lecture 8Page 50CS 236, Spring 2008
How Much Work Must We Do?
• Do we just define one set of conditions and test DefCOM there?
• If not, what gets varied?– Deployment pattern?– Attack size in packets?– Number of attacking nodes?– Legitimate traffic patterns?– Size of target’s bottleneck link?– Accuracy of classification?– Something else?
Lecture 8Page 51CS 236, Spring 2008
Generalizing
• If we get a test right for DefCOM, can we just swap in another defense?
• Or do we need to customize the experiment for each defense?
– To what extent?
– In what ways?
Lecture 8Page 52CS 236, Spring 2008
Other DDoS Research Issues
• DDoS is a largely unsolved problem
• Are there fundamentally different approaches to solutions?
• Will small changes to existing approaches make them work?
• Or is it motivation?
– If we cared enough, we’d deploy a working system