540 likes | 554 Views
An Overview of Denial-of-Service attacks on the Internet. Bill Cheswick Lumeta Corporation ches@lumeta.com or ches@cheswick.com. Any public service can be abused by the public.
E N D
An Overview of Denial-of-Service attacks on the Internet Bill Cheswick Lumeta Corporation ches@lumeta.com or ches@cheswick.com
A denial-of-service attack seeks to disrupt normal operations by flooding a target with an unmanageable number of packets or queries.
DOS attacks do not seek to obtain data • Therefore, a return packet flow is not needed • Therefore, packets can come from sources hidden by spoofed return addresses in the packets. • This complicates traceback operations. • How do you hunt down the source of anonymous packets? (We’ll get to that.) • Is it worth tracing them back?
DOS attacks: other properties • One need not fashion clever packets • sheer volume can swamp the processors, or even the incoming links • This means that ISPs are involved in handling these attacks. • It can be hard to tell if an attack is underway • Heavy use Vs. attack • being “slash-dotted”
DOS attacks • An attack can go on indefinitely. • There are no theoretical solutions, just mitigations • The ultimate solution is to throw more iron at the problem • It is hard to marshal enough resources to swamp a “monster” site
Properties of DOS attacks • Can be hard to determine if malice is afoot • being “slash-dotted” • heavy volume to a newspaper web site on election night: normal traffic, or evil • no technical solutions, just mitigations • DOS attacks are here to stay, even if we fix all the software problems on the Internet
Types of DOS attacks • Lethal packets • “ping-o-death” • High impact packets • SYN attacks • Public key and other expensive processing • Simple flooding • Amplified flooding • Distributed attacks
Lethal attacks • Directed at bugs in the kernel or TCP/IP stack • TCP/IP stack is often >>25,000 lines of code, in the kernel • Hard to debug • Protocol testing is hard to do • e.g. ping-o-death • More likely on immature TCP/IP implementations
High impact attacks • High processing costs in the target • Crypto processing can be target of such an attack • I.e. SYN packet attacks
SYN attacks: TCP connections • TCP servers are optimized for many connections • The half-open case was not well handled
Normal TCP open Client Server SYN,SEQ0 SYN,ACK, SEQ0+1,SEQ0 ACK, SEQ0+1,SEQ0+1
Normal TCP open Client half-open <300ms
First seen at Panix.com in fall 1996 A sea of SYN packets, with varying return packets Half-open processing was implemented poorly Quadratic behavior Wasn’t much call for improving it We’d been expecting it The only thing we left out of our firewalls book … removed at the last minute We knew of no good solution We are sorry we left it out SYN Attacks
SYN attack: the arms race • Filter on source address (West Point) • Filter on IP “ID” field • Filter on sequence number • anticipate random number generator • We helped them debug their software! • But we could have watched them watching… • “spread spectrum” “frequency hopping” defense?
SYN attacks - solutions • Fix the kernel • Most implementations are probably resistant now • Malicious attacks on algorithm performance! • Can be hard to tell when it is happening.
Attacks on TCP/IP stacks • There will be more attacks on TCP/IP implementations • lots of code involved • hard to test code in a kernel
Simple flooding • Start a program and leave • Needs a collection of compromised hosts (see below)
Amplified attacks • Stimulated emission of packets • Spoofed stimulation packet directs response toward target • Amplification methods: • directed broadcasts • services that amplify packet size or numbers • social engineering • ping, UDP chargen, DNS, multicast! • I.e. smurf attacks
Identify ping generatornetworks G G target G G G G
Trigger packets withspoofed return address G G target G G G G packet cannon
Generators flood the targetwith packets G G target G G G G packet cannon
Directed broadcasts • External request to send a packet to all hosts on an Ethernet • These should be (and usually are) blocked from the Internet • Many services should ignore these queries, but some don’t
Amplification factors • Standard UDP chargen amplifies roughly 2.5 times, but • NT implementation returns up to 5K packet for a simple 42 byte stimulation packet • Directed broadcast amplifications can easily be hundreds • One net in Lucent (directed broadcast plus broadcast storm) returned 977,000 packets for a single probe packet.
Defenses • Directed broadcast requests and pings can be filtered • Packets to the target are not spoofed, so they can be filtered • But: • DNS can be used, especially with zone transfers • DNS can’t be blocked
DDOS • Similar to smurf attacks, but we install agents (“zombies”) on donor networks • Master programs direct the actions of zombies • who to attack, and how • zombie software updates! • Master commands may be encrypted, and with spoofed return addresses • Zombies may be spoofed if privs. allow
DDOS • Installation of zombies allows a slow buildup of massive force • Double link to attacker makes attacker harder to locate • Zombies installed by • hand • automated attacks • travelling programs...
DDOS attacks • Made the news in 1999 • tfn, trinoo, stacheldraht (“barbed wire”), others • Has taken down major sites • Attacks continue
Recent attacks: MSFT last week • Originally, a software problem • Servers robust against these attacks • DDOS attacks on their DNS servers, which were all on one net, I am told.
DDOS attacks on the Internet • Root DNS servers already attacked • Get enough of them, long enough, and the Internet will grind to a halt • Routing infrastructure is another potential target of a number of attacks, including DDOS.
Defenses: more iron • Add more processing and network capacity
Defenses: robust software • Can resist high-impact attacks • Older kernels tend to be more robust • Berkeley Unix Vs. MSFT or Linux • Keep up with patches, but • can you trust the source of the patch?
Defenses: packet filtering • Block the bad packets, keep the good • Look for idiosyncrasies in the attacking packets • Only allow packets from sites you’ve done business with for the past few weeks • Filter far enough out to resist flooding the line
Defenses: moving target • Change the IP address of your targets frequently • Look for consistent DNS lookups to find out who cares • Doesn’t scale to monster sites • Doesn’t work if the network link is flooded • Diversify server locations (a la akamai)
Defenses: egress filtering • ISPs should not accept spoofed packets • Easy to do at most edges • Needs hardware assist for major links • Assymetric routing frustrates this • What can’t we all just be friends?
Traceback: how can we do this • Anonymous packets mean that we have to trace back one hop at a time, usually • ISPs need to be involved, usually • We haven’t seen “whack-a-mole” attacks yet
Traceback: an early experiment • Packet streams are constant • If we interrupt the stream, we can prune the tree • Interrupt with don’t-feed-me packet? • DOS is possible • requires infrastructure changes • selective DOS attack on links can perturb packet stream • tested on an intranet
Traceback: query routers • Ask router for statistics • DEBUG crashes many routers • Routers are too busy • Requires privileged access to the router • How do we trace from alien ISPs?
Traceback: itrace • Internet draft proposal • router issues routing information packet once per 20,000 packets • contains tracing information about that packet • <0.1% of network traffic • Packets ignored by most hosts • Data is there if you need it