Denial-of-Service and Resource Exhaustion

Slides:



Advertisements
Similar presentations
MCT620 – Distributed Systems
Advertisements

Computer Networks TCP/IP Protocol Suite.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
OSPF 1.
Introduction to IP Routing Geoff Huston. Routing How do packets get from A to B in the Internet? A B Internet.
Stacking it Up Experimental Observations on the operation of Dual Stack Services in todays Network Geoff Huston APNIC R&D February
Network Monitoring System In CSTNET Long Chun China Science & Technology Network.
Security Issues In Mobile IP
Nick Feamster Georgia Tech
Unwanted Network Traffic: Threats and Countermeasures
Challenges in Making Tomography Practical
Understanding the Network- Level Behavior of Spammers Anirudh Ramachandran Nick Feamster Georgia Tech.
Spam and Botnets: Characterization and Mitigation Nick Feamster Anirudh Ramachandran David Dagon Georgia Tech.
Spamming with BGP Spectrum Agility Anirudh Ramachandran Nick Feamster Georgia Tech.
Spamming with BGP Spectrum Agility Anirudh Ramachandran Nick Feamster Georgia Tech.
Understanding the Network- Level Behavior of Spammers Anirudh Ramachandran Nick Feamster Georgia Tech.
Network-Based Spam Filtering Anirudh Ramachandran Nick Feamster Georgia Tech.
Network-Based Spam Filtering Nick Feamster Georgia Tech Joint work with Anirudh Ramachandran and Santosh Vempala.
(Distributed) Denial of Service Nick Feamster CS 4251 Spring 2008.
Attacks and Defenses Nick Feamster CS 4251 Spring 2008.
1 Hyades Command Routing Message flow and data translation.
Stacking it Up Experimental Observations on the operation of Dual Stack Services Geoff Huston IETF-80 March
Introduction to Algorithms 6.046J/18.401J
Chapter 6 File Systems 6.1 Files 6.2 Directories
ACT User Meeting June Your entitlements window Entitlements, roles and v1 security overview Problems with v1 security Tasks, jobs and v2 security.
Local Area Networks - Internetworking
Countering DoS Attacks with Stateless Multipath Overlays Presented by Yan Zhang.
Defending Against Denial of Service Attacks Presented By: Jordan Deveroux 1.
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Network Fundamentals – Chapter 4 Sandra Coleman, CCNA, CCAI
1 A Study on SYN Flooding Student: Tao-Wei Huang Advisor: Prof. Wen-Nung Tasi 2001/06/13.
06-Sep-2006Copyright (C) 2006 Internet Initiative Japan Inc.1 Prevent DoS using IP source address spoofing MATSUZAKI ‘maz’ Yoshinobu.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.1 Module 9 TCP/IP Protocol Suite and IP Addressing.
PSSA Preparation.
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
Network and Application Attacks Contributed by- Chandra Prakash Suryawanshi CISSP, CEH, SANS-GSEC, CISA, ISO 27001LI, BS 25999LA, ERM (ISB) June 2006.
Code-Red : a case study on the spread and victims of an Internet worm David Moore, Colleen Shannon, Jeffery Brown Jonghyun Kim.
TCP Flooding. TCP handshake C S SYN C SYN S, ACK C ACK S Listening Store data Wait Connected.
IP Spoofing Defense On the State of IP Spoofing Defense TOBY EHRENKRANZ and JUN LI University of Oregon 1 IP Spoofing Defense.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 7 “Denial-of-Service-Attacks”.
Computer Security Fundamentals by Chuck Easttom Chapter 4 Denial of Service Attacks.
 Population: N=100,000  Scan rate  = 4000/sec, Initially infected: I 0 =10  Monitored IP space 2 20, Monitoring interval:  = 1 second Infected hosts.
Understanding the Network-Level Behavior of Spammers Anirudh Ramachandran Nick Feamster.
UNCLASSIFIED Secure Indirect Routing and An Autonomous Enterprise Intrusion Defense System Applied to Mobile ad hoc Networks J. Leland Langston, Raytheon.
Security Robert Grimm New York University. Introduction  Traditionally, security focuses on  Protection (authentication, authorization)  Privacy (encryption)
Internet Quarantine: Requirements for Containing Self-Propagating Code David Moore et. al. University of California, San Diego.
Lecture 15 Denial of Service Attacks
Common forms and remedies Neeta Bhadane Raunaq Nilekani Sahasranshu.
Lecture 22 Page 1 Advanced Network Security Other Types of DDoS Attacks Advanced Network Security Peter Reiher August, 2014.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 8 – Denial of Service.
Internet Worms Brad Karp UCL Computer Science CS GZ03 / th December, 2007.
DOS. Overview Denial of Service (DoS) is the act of performing an attack which prevents the system from providing services to legitimate users When successful,
Distributed Denial of Service Attacks Shankar Saxena Veer Vivek Kaushik.
Chapter 7 Denial-of-Service Attacks Denial-of-Service (DoS) Attack The NIST Computer Security Incident Handling Guide defines a DoS attack as: “An action.
Worm Defense Alexander Chang CS239 – Network Security 05/01/2006.
Hash-Based IP Traceback Alex C. Snoeren †, Craig Partridge, Luis A. Sanchez, Christine E. Jones, Fabrice Tchakountio, Stephen T. Kent, W. Timothy Strayer.
DoS/DDoS attack and defense
1 Modeling, Early Detection, and Mitigation of Internet Worm Attacks Cliff C. Zou Assistant professor School of Computer Science University of Central.
Filtering Spoofed Packets Network Ingress Filtering (BCP 38) What are spoofed or forged packets? Why are they bad? How to keep them out.
Slammer Worm By : Varsha Gupta.P 08QR1A1216.
Hash-Based IP Traceback Alex C. Snoeren †, Craig Partridge, Luis A. Sanchez, Christine E. Jones, Fabrice Tchakountio, Stephen T. Kent, W. Timothy Strayer.
Hash-Based IP Traceback Alex C. Snoeren +, Craig Partridge, Luis A. Sanchez ++, Christine E. Jones, Fabrice Tchakountio, Stephen T. Kent and W. Timothy.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Jessica Kornblum DSL Seminar Nov. 2, 2001 Hash-Based IP Traceback Alex C. Snoeren +, Craig Partridge, Luis A. Sanchez ++, Christine E. Jones, Fabrice Tchakountio,
Denial-of-Service David Andersen CMU CS Today’s Lecture ● What is Denial of Service? ● Attacks and Defenses – Packet-flooding attacks Attack:
Single-Packet IP Traceback
The IP, TCP, UDP protocols
Brad Karp UCL Computer Science
Introduction to Internet Worm
Presentation transcript:

Denial-of-Service and Resource Exhaustion Nick Feamster CS 7260 April 2, 2007

Today’s Lecture What is Denial of Service? Attacks and Defenses Packet-flooding attacks Attack: SYN Floods Defenses: Ingress Filtering, SYN Cookies, Client puzzles Low-rate attacks Detection: Single-packet IP Traceback Network-level defenses: sinkholes and blackholes Inferring Denial of Service Activity Distributed Denial of Service Worms Other resource exhaustion: spam

Denial of Service: What is it? Attacker Victim Attempt to exhaust resources Network: Bandwidth Transport: TCP connections Application: Server resources Typically high-rate attacks, but not always

Pre-2000 Denial of Service DoS Tools Single-source, single target tools IP source address spoofing Packet amplification (e.g., smurf) Deployment Widespread scanning and exploitation via scripted tools Hand-installed tools and toolkits on compromised hosts (unix) Use Hand executed on source host

TCP: 3-Way Handshake C S SYNC Listening Store data SYNS, ACKC Wait ACKS Connected

TCP handshake Each arriving SYN stores state at the server TCP Control Block (TCB) ~ 280 bytes FlowID, timer info, Sequence number, flow control status, out-of-band data, MSS, other options agreed to Half-open TCB entries exist until timeout Fixed bound on half-open connections Resources exhausted  requests rejected

TCP SYN flooding Problem: No client authentication of packets before resources allocated Attacker sends many connection requests Spoofed source addresses RSTs quickly generated if source address exists No reply for non-existent sources Attacker exhausts TCP buffer to w/ half-open connections

SYN Flooding C S SYNC1 Listening SYNC2 Store data SYNC3 SYNC4 SYNC5

Idea #1: Ingress Filtering Drop all packets with source address other than 204.69.207.0/24 Internet 204.69.207.0/24 RFC 2827: Routers install filters to drop packets from networks that are not downstream Feasible at edges Difficult to configure closer to network “core”

Idea #2: uRPF Checks Unicast Reverse Path Forwarding Accept packet from interface only if forwarding table entry for source IP address matches ingress interface Strict Mode uRPF Enabled “A” Routing Table Destination Next Hop 10.0.1.0/24 Int. 1 10.0.18.0/24 Int. 2 10.0.18.3 from wrong interface Unicast Reverse Path Forwarding Cisco: “ip verify unicast reverse-path” Requires symmetric routing

Problems with uRPF Asymmetric routing

Idea #3: TCP SYN cookies General idea Client sends SYN w/ ACK number Server responds to Client with SYN-ACK cookie sqn = f(src addr, src port, dest addr, dest port, rand) Server does not save state Honest client responds with ACK(sqn) Server checks response If matches SYN-ACK, establishes connection

TCP SYN cookie TCP SYN/ACK seqno encodes a cookie 32-bit sequence number t mod 32: counter to ensure sequence numbers increase every 64 seconds MSS: encoding of server MSS (can only have 8 settings) Cookie: easy to create and validate, hard to forge Includes timestamp, nonce, 4-tuple 32 t mod 32 MSS Cookie=HMAC(t, Ns, SIP, SPort, DIP, DPort) 5 bits 3 bits

SYN Cookies client sends SYN packet and ACK number to server waits for SYN-ACK from server w/ matching ACK number server responds w/ SYN-ACK packet w/ initial SYN-cookie sequence number Sequence number is cryptographically generated value based on client address, port, and time. sends ACK to server w/ matching sequence number If ACK is to an unopened socket, server validates returned sequence number as SYN-cookie If value is reasonable, a buffer is allocated and socket is opened SYN ack-number SYN-ACK seq-number as SYN-cookie, ack-number NO BUFFER ALLOCATED ACK seq_number ack-number+data SYN-ACK seq-number, ack-number TCP BUFFER ALLOCATED

IP Traceback R R A R R R R7 R R4 R5 R6 R R3 R1 R2 V Find an attack graph Routers record packet forwarding events. Victim walks the network in reverse order querying routers R R3 R1 R2 V

Logging Challenges Attack path reconstruction is difficult Packet may be transformed as it moves through the network Full packet storage is problematic Memory requirements are prohibitive at high line speeds (OC-192 is ~10Mpkt/sec) Extensive packet logs are a privacy risk Traffic repositories may aid eavesdroppers

Single-Packet Traceback: Goals Trace a single IP packet back to source Asymmetric attacks (e.g., Fraggle, Teardrop, ping-of-death) Minimal cost (resource usage) Fraggle sends UDP packet to known broadcast addresses Teardrop exploits TCP/IP fragmentation bugs Ping of death sends ICMP echo request to broadcast address One solution: Source Path Isolation Engine (SPIE)

Packet Digests Compute hash(p) Compute k independent digests Invariant fields of p only 28 bytes hash input, 0.00092% WAN collision rate Fixed sized hash output, n-bits Compute k independent digests Increased robustness Reduced collisions, reduced false positive rate Robustness -> lower false positivies

Hash input: Invariant Content Ver HLen TOS Total Length Identification D F M F Fragment Offset TTL Protocol Checksum 28 bytes Source Address Destination Address Options First 8 bytes of Payload Remainder of Payload

Hashing Properties Each hash function Use k independent hash functions Uniform distribution of input -> output H1(x) = H1(y) for some x,y -> unlikely Use k independent hash functions Collisions among k functions independent H1(x) = H2(y) for some x,y -> unlikely Cycle k functions every time interval, t Collisions independent -> false positives will be independent across routers Cycle every time period -> false positives independent across time intervals

Digest Storage: Bloom Filters Fixed structure size Uses 2n bit array Initialized to zeros Insertion Use n-bit digest as indices into bit array Set to ‘1’ Membership Compute k digests, d1, d2, etc… If (filter[di]=1) for all i, router forwarded packet n bits 1 H2(P) Hk(P) H3(P) H1(P) 1 . . . H(P) 2n bits

Other In-Network Defenses Automatic injection of blackhole routes Rerouting through traffic “scrubbers”

Inferring DoS Activity IP address spoofing creates random backscatter.

Backscatter Analysis Monitor block of n IP addresses Expected # of backscatter packets given an attack of m packets: E(X) = nm / 232 Hence, m = x * (232 / n) Attack Rate R >= m/T = x/T * (232 / n)

Inferred DoS Activity Over 4000 DoS/DDoS attacks per week Short duration: 80% last less than 30 minutes Moore et al. Inferring Internet Denial of Service Activity

DDoS: Setting up the Infrastructure Zombies Slow-spreading installations can be difficult to detect Can be spread quickly with worms Indirection makes attacker harder to locate No need to spoof IP addresses

What is a Worm? Code that replicates and propagates across the network Often carries a “payload” Usually spread via exploiting flaws in open services “Viruses” require user action to spread First worm: Robert Morris, November 1988 6-10% of all Internet hosts infected (!) Many more since, but none on that scale until July 2001

Example Worm: Code Red Initial version: July 13, 2001 Exploited known ISAPI vulnerability in Microsoft IIS Web servers 1st through 20th of each month: spread 20th through end of each month: attack Payload: Web site defacement Scanning: Random IP addresses Bug: failure to seed random number generator

Code Red: Revisions Released July 19, 2001 Payload: flooding attack on www.whitehouse.gov Attack was mounted at the IP address of the Web site Bug: died after 20th of each month Random number generator for IP scanning fixed

Code Red: Host Infection Rate Measured using backscatter technique Exponential infection rate

Modeling the Spread of Code Red Random Constant Spread model K: initial compromise rate N: number of vulnerable hosts a: fraction of vulnerable machines already compromised Newly infected machines in dt Machines already infected Rate at which uninfected machines are compromised

Bristling Pace of Innovation Various improvements to increase the infection rate Code Red 2: August 2001 Localized scanning Same exploit, different codebase Payload: root backdoor Nimda: September 2001 Spread via multiple exploits (IIS vulnerability, email, CR2 root backdoor, copying itself over network shares, etc.) Firewalls were not sufficient protection

Designing Fast-Spreading Worms Hit-list scanning Time to infect first 10k hosts dominates infection time Solution: Reconnaissance (stealthy scans, etc.) Permutation scanning Observation: Most scanning is redundant Idea: Shared permutation of address space. Start scanning from own IP address. Re-randomize when another infected machine is found. Internet-scale hit lists Flash worm: complete infection within 30 seconds

Recent Advances: Slammer February 2003 Exploited vulnerability in MS SQL server Exploit fit into a single UDP packet Send and forget! Lots of damage BofA, Wash. Mutual ATMs unavailable Continental Airlines ticketing offline Seattle E911 offline

Scary recent advances: Witty March 19, 2004 Single UDP packet exploits flaw in the passive analysis of Internet Security Systems products. “Bandwidth-limited” UDP worm ala’ Slammer. Initial spread seeded via a hit-list. All 12,000 vulnerable hosts infected within 45 mins Payload: slowly corrupt random disk blocks

Why does DDoS work? Simplicity “On by default” design Readily available zombie machines Attacks look like normal traffic Internet’s federated operation obstructs cooperation for diagnosis/mitigation

Resource Exhaustion: Spam Unsolicited commercial email As of about February 2005, estimates indicate that about 90% of all email is spam Common spam filtering techniques Content-based filters DNS Blacklist (DNSBL) lookups: Significant fraction of today’s DNS traffic! Can IP addresses from which spam is received be spoofed?

A small club of persistent players appears to be using this technique. BGP Spectrum Agility Log IP addresses of SMTP relays Join with BGP route advertisements seen at network where spam trap is co-located. A small club of persistent players appears to be using this technique. Common short-lived prefixes and ASes 61.0.0.0/8 4678 66.0.0.0/8 21562 82.0.0.0/8 8717 ~ 10 minutes Somewhere between 1-10% of all spam (some clearly intentional, others might be flapping)

A Slightly Different Pattern

Why Such Big Prefixes? Flexibility: Client IPs can be scattered throughout dark space within a large /8 Same sender usually returns with different IP addresses Visibility: Route typically won’t be filtered (nice and short)

Characteristics of IP-Agile Senders IP addresses are widely distributed across the /8 space IP addresses typically appear only once at our sinkhole Depending on which /8, 60-80% of these IP addresses were not reachable by traceroute when we spot-checked Some IP addresses were in allocated, albeing unannounced space Some AS paths associated with the routes contained reserved AS numbers

Some evidence that it’s working Spam from IP-agile senders tend to be listed in fewer blacklists Vs. ~80% on average Only about half of the IPs spamming from short-lived BGP are listed in any blacklist