A Hands-On Environment for Teaching Networks

Download Report

Transcript A Hands-On Environment for Teaching Networks

Flow Cookies
Bandwidth Amplification as Flooding
Defense
Martin Casado, Pei Cao
Niels Provos
2005
Stanford Computer Systems Lab
Problem Overview:
Bandwidth Exhaustion (aka
Flooding) is a Problem
Web Site






CNN and Slashdot say so
“E-commerce Firm 2Checkout Reports DDoS Extortion Attack” (netcraft news)
“DDoSers attack DoubleClick” (the register)
“DDoS Extortion Attempts On the Rise” (yahoo news)
Etc… you already know all this
2005
Stanford Computer Systems Lab
Problem Overview:
Flooding is a Network
Problem
Web Site



Web site, by itself, can’t do much about it
Link can be flooded by legitimate SYN packets

WinXP/SP2 places no limit on connections to the same destination
●

can generate approx. 3000 legal SYN packets/second
Large botnet (100,00 nodes) can generate traffic approaching Gb/s
2005
Stanford Computer Systems Lab
Problem Overview:
Existing Approaches
Haven’t Solved the Problem
 Filtering:
identifying the bad guys and propagate the
info (e.g. PUSHBACK, AITF)


PUSHBACK: “Who the bad guys are” are determined by the
network
AITF: needs Route Record implemented
 Capability:
good guys have priority on the network
link



Needs a “capability establishment” step
Need change to routers along the path
Public web sites can’t identify bad guys before-hand
2005
Stanford Computer Systems Lab
Problem Overview:
The Ideal Solution
A
magic way to tell bad guys from good guys
 Bad guys cannot hurt good guys under any
circumstance
 Without
requiring the network to keep states
 Without changes to client hosts
 Without changes to many routers
2005
Stanford Computer Systems Lab
Our Approach:
A Practical Solution
 The
Web site tells bad guys from good guys
 Stop bad guys from flooding the egress link
So that:
Web site stays “ON” during an attack
 Requires
a network device to keep some states
 Without
changes to client hosts
 Without changes to many routers
2005
Stanford Computer Systems Lab
Our Approach:
Bandwidth Amplification

2005
Stanford Computer Systems Lab
Our Approach:
Bandwidth Amplification


Does not guarantee any particular user’s access to the web site
Web site remains accessible to users who can reach the tier-1
ISP
2005
Stanford Computer Systems Lab
Our Approach:
Flow Cookies
?
•Check IP Revocation List
•Validate Flow Cookie
•Validate SYN Cookie
•Check for Flow Blacklist
ACK+DATA+SYN_Cookie+FS
SYN
DATA+SYN_Cookie
ACK+DATA+Flow Cookie
ACK+Data+Flow
Cookie
SYN_ACK+SYN_Cookie+FS
Cooperating
router
ACK+Data
ACK+Data
Web Server
2005
Stanford Computer Systems Lab
Our Approach:
Flow Cookies as TCP
Timestamps

All hosts echo TCP timestamps set by sender



Linux: default TCP timestamp option is on
Windows 2000 and XP: default TCP timestamp option is off, but if the
sender sends TCP timestamps, the host will echo them!
But, what if web site needs TCP timestamps to
measure RTT?


Solution 1: web site avoids it if site is under attack
Solution 2: only use the top 24 bits for cookie
●
●
●
2005
Router saves latest timestamp, TS, from web site
Before forwarding packet to web site, change timestamp[8:32] to
stored TS[8:32]
If server use 1ms timer, then eliminate bottom 4 bits and reduce RTT
resolution to multiples of 16ms
Stanford Computer Systems Lab
Our Approach:
Flow Cookies



Cookie = UMAC(Sr, Cr|srcip|dstip|srcprt)
Sr A secret only known to the router (128 bits)
Cr A counter incremented periodically to age
cookies
2005
Stanford Computer Systems Lab
Our Approach:
More Complications

RESETs don’t carry timestamps


Persistent connections could idle longer than cookie
lifetime



Set aside some bandwidth for RESETs
Solution 1: No persistent connections when under attack
Solution 2: web site sends keep-alives at interval smaller than
cookie lifetime
What about multi-homing?

Requires course grained synchronization between two (or
more) cooperating routers
2005
Stanford Computer Systems Lab
Our Approach:
The Web Site’s Job



Identify IPs that are attempting to establish too
many connections and add them to router’s “IP”
blacklist
Identify flows that are misbehaving and add
them to router “Flow” blacklist
Router state consumption determined by the
trusted web site
 Can
2005
be made proportional to attacker IPs
Stanford Computer Systems Lab
Our Approach:
Properties of This Solution
 Non-spoofable
 SYN
cookie and flow cookie authenticate the sender
 Router
state bounded by the trusted web site
and proportional to # of attackers
 Bad
IP list only applied for SYN packets, doesn’t
have to be in TCAM
 Line-rate
2005
computation
Stanford Computer Systems Lab
Our Approach:
Flow Cookies vs. Other
Capability Schemes

Partial path protection vs. complete path
protection
 Trust


the victim web site
Use filtering to block connection
establishment/capability acquisition
Use filtering to handle misbehaving flows vs.
use other means, e.g. TVA’s (N,T), to handle
misbehaving flows
2005
Stanford Computer Systems Lab
Our Approach:
Implementation and
Experience

Implemented in VNS

Tested against public web sites

Tested against multiple Windows and Linux
client versions
2005
Stanford Computer Systems Lab
Our Approach:
Summary

Use bandwidth amplification to defend against
flooding DDoS
 Allow
services such as “protected up to OC-192”
 Can any botnet saturate the tier-1 ISP’s links?

Use both filtering and capabilities

Capabilities stored as TCP timestamps
 Filtering
for connection establishment and stopping
misbehaving flows
 Capabilities allow router not to keep per-flow state
 It
works!
2005
Stanford Computer Systems Lab
Discussions
 Assumptions
about end-hosts:
 End-hosts
follow TCP
 End-hosts can do anything
 Assumptions
about relationships among ISPs
 Fair
queueing among peers?
 Can botnets flood OC-192 links?
2005
Stanford Computer Systems Lab