new client puzzle outsourcing techniques for dos resistance
Download
Skip this Video
Download Presentation
New Client Puzzle Outsourcing Techniques for DoS Resistance

Loading in 2 Seconds...

play fullscreen
1 / 24

New Client Puzzle Outsourcing Techniques for DoS Resistance - PowerPoint PPT Presentation


  • 57 Views
  • Uploaded on

New Client Puzzle Outsourcing Techniques for DoS Resistance. Brent Waters, Stanford University Ari Juels, RSA Laboratories Alex Halderman, Princeton University Ed Felten, Princeton University. Request. Request. Request. Request. Request. Request. Client Puzzles.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' New Client Puzzle Outsourcing Techniques for DoS Resistance' - nitza


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
new client puzzle outsourcing techniques for dos resistance

New Client Puzzle Outsourcing Techniques for DoS Resistance

Brent Waters, Stanford University

Ari Juels, RSA Laboratories

Alex Halderman, Princeton University

Ed Felten, Princeton University

client puzzles

Request

Request

Request

Request

Request

Request

Client Puzzles
  • DoS attack the attackers consume resources quickly
  • May not be enough resources left for a regular client

Attackers

Server

User

client puzzles1

Request

x, where H(x|y)=z

Request

x’, where H(x|y)=z

y,z

y’,z’

Client Puzzles
  • Client puzzles slow down an attacker by making him solve

a moderately hard challenge before granting a resource

  • Typically, partially invert a hash function

Attackers

Server

User

client puzzles2
Client Puzzles

Client Puzzles can potentially be used to protect many different kinds of resources

  • Email SPAM [DN’92]
  • TCP SYN buffers [JB’99]
  • CPU on SSL connections [JB’99, DS’02]
  • Database Queries
    • Resource intensive queries
    • DRM?
  • IP packets
shortcomings of client puzzles
Shortcomings of Client Puzzles
  • Puzzle-solving delay after user request
    • User must wait for his machine to solve puzzle
    • Is this a problem? [JB’99] show 1s delay for TCP syn buffer…
    • However, they do their analysis under 20 attackers
    • Lesson: Delay depends upon number of attackers and scarcity of resource
shortcomings of client puzzles1
Shortcomings of Client Puzzles

2) Server hash computation per submitted solution

  • Hash overhead ~1us computation time
  • Typically small relative to resource given
  • Attack by flooding server with incorrect solutions
  • Impractical if protecting a low level service such as IP layer
our solution
Our Solution
  • Outsource puzzle creation
    • Puzzles created are independent of client or server using them
  • Solve for access to “channels” on servers
    • Assume internal routing structure is resistant to eavesdropping
outsourcing puzzles

1

2

N

Outsourcing Puzzles
  • Bastion service distributes puzzles
    • Global Service
    • Bastion operation is independent of servers

and clients using it

 Scalability

outsourcing puzzles1

1

2

N

Outsourcing Puzzles
  • Since puzzles are independent of bastion can use robust systems to distribute puzzles
  • Leverage point
solving for channels

Time

1

2

507

N

Solving for Channels
  • Client solves for a random channel
  • Next time period uses solved channel as solution
  • Solution can be transformed to work on any server
solving for channels1

Time

507

507

Solving for Channels
  • Client solves for a random channel
  • Next time period uses solved channel as solution
  • Solution can be transformed to work on any server
solving for channels2

Time

check

507

507

507

1

1

507

PKA

507

PKB

check

Solving for Channels
  • Client solves for a random channel
  • Next time period uses solved channel as solution
  • Solution can be transformed to work on any server

Server A

Server B

attackers and channels

507

507

157

678

157

678

507

507

157

678

PKA

Attackers and Channels
  • Attacker can only get resources allotted to channels he has solved puzzles for

Attackers

Server A

PKA

puzzle construction

Puzzle for channel i

Public Key of Server A

Y=ga

1

Xi=gxi mod p, P(xi,d)

2

H(gaxi)

Token for channel i on server A

N

Puzzle Construction
  • N Channels
  • P(x,d): Puzzle hiding x of difficulty d
  • H : Hash function
  • xi : Randomly chosen each iteration
client and server operation
Client

Solve puzzle for period j+1

Pick random channel

Solve puzzle for channel

Server

Compute all N tokens for period j+1

Public key = ga

For all Xi=gxi compute Xia =gaxi

j-1

j

j+1

Time

Client and Server Operation
  • Use solution computed during
  • period j-1
  • Have solution xi for channel i
  • For server with public key Y=ga compute Yxi =gaxi as token for channel i
  • Use tokens computed during
  • period j-1
  • Request on channel i, do a quick comparison on token list
  • Keep track of resources granted per channel
key points
Key Points
  • User does not wait for puzzle to be solved
  • Bytestring comparison per claimed solution
  • Primary bottleneck is # of channels the server computes tokens for (exponentiations)
    • Will improve as processor speeds increase
    • Can give out Xi before Puz(xi,d)
an example
An Example

Time cycles of 20 minutes

N=20,000 channels

~5% of a high end server’s computing time

Set puzzle difficulty so typical machine can have 2 solutions

1,000 attackers with 1,000 solutions;

 1/10 of channels

Regular user has 2 random channels each 10% chance of being occupied by adversary  1% that both are occupied

prototype implementation

48

48

167

298

SYN

Prototype Implementation

Rate limits number of new TCP connections

After SYN packet must wait n seconds before another on channel

Sends two previously computed tokens

HTTP Server

to simulate Bastion

flooding attack experiment
Flooding Attack Experiment

Attacker submits several false solutions

comparison to traditional client puzzles
Our Approach

Proactive approach; solves puzzles in preparation

Uses resources when not under attack (server & client)

Solution is ready immediately for user request

Bitstring comparison per claimed solution

IP layer

Traditional Client Puzzles

Enter client puzzle operation in reaction to an attack

Comparison to Traditional Client Puzzles
  • User waits for client to solve
  • Hash computation per claimed solution
comparison to traditional client puzzles1
Our Approach

Use solutions at multiple protocols (e.g. TCP, SSL, Database queries)

Number of channels available should increase as servers can do PK operations faster

Traditional Client Puzzles

Unclear how should manage protecting multiple protocols

Comparison to Traditional Client Puzzles
extensions
Extensions
  • Identity-Based server public keys
  • More flexible number of channels per server
  • Random Beacon for Bastion
    • Loose universal puzzle property
  • More efficient PK crypto
    • Smaller key sizes (key life is shorter)
conclusions
Conclusions
  • Propose a new client puzzle outsourcing technique for protecting against DoS attacks
  • Trade off extra average case effort in exchange for low-user delay and efficient solution verification
ad