10
New Client Puzzle New Client Puzzle Outsourcing Outsourcing Techniques for DoS Techniques for DoS Resistance Resistance Brent Waters, Ari Juels, J. Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Alex Halderman and Edward W. Felten Felten

New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

Embed Size (px)

Citation preview

Page 1: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

New Client Puzzle New Client Puzzle Outsourcing Techniques for Outsourcing Techniques for

DoS ResistanceDoS Resistance

Brent Waters, Ari Juels, J. Alex Brent Waters, Ari Juels, J. Alex Halderman and Edward W. FeltenHalderman and Edward W. Felten

Page 2: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

MotivationMotivation

Client puzzle mechanism can become the Client puzzle mechanism can become the target of DoS attackstarget of DoS attacks Servers have to validate solutions which Servers have to validate solutions which

require resourcesrequire resources

Puzzles must be solved onlinePuzzles must be solved online User time is more important than CPU timeUser time is more important than CPU time

Page 3: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

Properties of the Proposed SolutionProperties of the Proposed Solution

The creation of puzzles is outsourced to a The creation of puzzles is outsourced to a secure entity, the secure entity, the bastionbastion Creates puzzle with no regard to which server Creates puzzle with no regard to which server

is going to use themis going to use them

Verifying puzzle solutions is a table lookupVerifying puzzle solutions is a table lookupClients can solve puzzles offline ahead of Clients can solve puzzles offline ahead of timetimeA puzzle solution gives access to a A puzzle solution gives access to a virtual virtual channelchannel for a short time period for a short time period

Page 4: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

Puzzle PropertiesPuzzle Properties

Unique puzzle solutionsUnique puzzle solutions Each puzzle has a unique solutionEach puzzle has a unique solution

Per-channel puzzle distributionPer-channel puzzle distribution Puzzles are unique per each Puzzles are unique per each

(server, channel, time period) triplet(server, channel, time period) triplet

Per-channel puzzle solutionPer-channel puzzle solution If a client has a solution for one channel, he If a client has a solution for one channel, he

can calculate a solution for another server can calculate a solution for another server with the same channel easilywith the same channel easily

Page 5: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

Priv: X1

Server 1

Pub: Y1

Virtual Channels

Server 1: c,t = Y1f’(a)

c,t = gc,tX1

Server 2: c,t = Y2f’(a)

Server 3: c,t = Y3f’(a)

Priv: X2

Server 2Virtual Channels

c,t = gc,tX2

Priv: X3

Server 3Virtual Channels

c,t = gc,tX3

Pub: Y2

Pub: Y3

Page 6: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

System DescriptionSystem Description

Solutions for puzzles are only valid for the time Solutions for puzzles are only valid for the time period period tt. (Order of minutes). (Order of minutes)

Client:Client: During TDuring Tii, download puzzles for T, download puzzles for Ti+1i+1 and solve and solve Check to see if server has a public keyCheck to see if server has a public key If so append puzzle solutions to messagesIf so append puzzle solutions to messages

Server:Server: During TDuring Tii, download and solve all puzzles for T, download and solve all puzzles for Ti+1i+1

If server is under attack only accept requests that If server is under attack only accept requests that have valid tokenshave valid tokens

Checking puzzle solution is a simple table lookupChecking puzzle solution is a simple table lookup

Page 7: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

CommunicationCommunication

Public key: YPuzzle index: c Token: c,t

Token: c,t+1

c

Client uses option field in TCP SYN to Client uses option field in TCP SYN to relay the tokenrelay the token

Only the first 48 bits of the solution is Only the first 48 bits of the solution is usedused

The server determines the virtual The server determines the virtual channelchannel

Server limits new connection per Server limits new connection per channelchannel

Virtual Channels

Page 8: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

Resilience Against AttacksResilience Against Attacks

2.1 GHz Pentium can process 1024-bit DH key 2.1 GHz Pentium can process 1024-bit DH key in 3.7ms.in 3.7ms.With 5% recourse it can populate tokens for With 5% recourse it can populate tokens for 16,000 virtual channels.16,000 virtual channels.If s=2, every client can solve at least one puzzle If s=2, every client can solve at least one puzzle and half of them can solve at least twoand half of them can solve at least two If attacker has 50 zombie machines, it can create If attacker has 50 zombie machines, it can create

2*50*2 = 200 puzzle solutions occupying 1.25% of the 2*50*2 = 200 puzzle solutions occupying 1.25% of the channelschannels

Probability of a benign user not getting a normal Probability of a benign user not getting a normal channel <.625%channel <.625%

Page 9: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten

ExperimentExperiment

Puzzle checking (table lookup) is Puzzle checking (table lookup) is implemented at kernel lvlimplemented at kernel lvlAfter the routing and before the packet After the routing and before the packet reaches higher level protocols like TCPreaches higher level protocols like TCPSimulate conventional puzzles by Simulate conventional puzzles by replacing the lookup code with a SHA-1 replacing the lookup code with a SHA-1 hash computationhash computationSimulate Simulate syncookiessyncookies by allowing Linux to by allowing Linux to send an ACK packet backsend an ACK packet back

Page 10: New Client Puzzle Outsourcing Techniques for DoS Resistance Brent Waters, Ari Juels, J. Alex Halderman and Edward W. Felten