Protecting the Web with Transparent Proof-of-Work

1
NSF Cyber Trust Principal Investigators Meeting March 16-18, 2008 New Haven, CT Protecting the Web with Transparent Proof-of- Work 1. Problem: Attacks on the Web Wu-chang Feng, Tom Shrimpton, Ed Kaiser (student) {wuchang,teshrim,edkaiser}@cs.pdx.edu New approach • Proof-of-Work without protocol changes • Dynamic embedding of PoW into URLs Comment spam Distributed Denial-of-Service Ticket purchasing robots Click fraud 2. CAPTCHA to the rescue? Problem #1: Inaccessible Problem #2: Economics broken Fixed human workload Outsourced for under $0.01 per CAPTCHA Mechanical Turk, getafreelancer.com Problem #3: Hackers are solving the hard AI problem Yahoo! CAPTCHA broken 1/16/2008 http://network-security-research.blogspot.com/ Windows Live and Google CAPTCHAs broken 2/6/2008 , 2/22/2008 http://www.websense.com/securitylabs/blog/ Many others 3. What about Proof-of-Work (PoW)? Addresses Problem #1: No user-interface issues Addresses Problem #2: Variable workload Addresses Problem #3: Hard cryptographic problem Q: Why is the landscape littered with unused PoW protocols? Hashcash, TLS puzzles, TCP puzzles, IP puzzles, Public work A: PoW requires protocol changes and universal deployment CAPTCHAs do not! 4. mod_kaPoW Apache module for embedding PoW challenges into URLs Leverage ubiquitous JavaScript support to deploy PoW Server dynamically embeds PoWs in embedded URLs Client-side JavaScript solver must calculate answers for access No network protocol changes No web browser changes No web server content changes 5. Example URL w/ valid PoW mod_kaPoW Client s Web Server URL w/ invalid PoW Error Page Content Solution Scripts Error Page Content Research Impact • Deployable alternative to CAPTCHAs • New weapon against today’s web attacks 6. Implementation JavaScript solver (kaPoW.js) “onLoad” event handler to solve PoW challenges for embedded images “onClick” event handler to solve challenges for embedded links Solve routine finds a value A, such that SHA1(N C || URL || A) 0 mod D C D C client-specific server-assigned difficulty N C client-specific server-generated nonce mod_kaPoW Apache module 7. Thwarting DoS 8. Future work Policy module for setting per- client D c Client history Client reputation Client location Request type Resource requested Adding to applications Forums (phpBB) Wikis (MediaWiki) Blogs (WordPress, Slashcode) Web 2.0 / AJAX Economic analysis What is the cost of idle CPU cycles? Markets based on CPU cycles 9. Availability Demo site http://kapow.cs.pdx.edu Non-commercial source release In progress 10. Publications E. Andreeva, G. Neven, B. Preneel T. Shrimpton, “Seven-Property Preserving Iterated Hashing: ROX”, ASIACRYPT 2007. T. Ristenpart, T. Shrimpton, “How to Build a Hash Function From Any Collision-Resistant Function”, ASIACRYPT 2007. W. Feng, E. Kaiser, “The Case for Public Work”, Global Internet 2007. E. Kaiser, W. Feng, “mod_kaPoW: Protecting the Web with Transparent Proof-of-Work”, in submission.

description

Protecting the Web with Transparent Proof-of-Work. Web Server. URL w/ valid PoW. Content. Solution Scripts. Content. mod_kaPoW. Clients. URL w/ invalid PoW. Error Page. Error Page. Wu-chang Feng, Tom Shrimpton, Ed Kaiser (student) { wuchang,teshrim,edkaiser}@cs.pdx.edu. - PowerPoint PPT Presentation

Transcript of Protecting the Web with Transparent Proof-of-Work

Page 1: Protecting the Web with Transparent Proof-of-Work

NSF Cyber Trust Principal Investigators MeetingMarch 16-18, 2008

New Haven, CT

Protecting the Web with Transparent Proof-of-Work

1. Problem: Attacks on the Web

Wu-chang Feng, Tom Shrimpton, Ed Kaiser (student){wuchang,teshrim,edkaiser}@cs.pdx.edu

New approach• Proof-of-Work without protocol changes

• Dynamic embedding of PoW into URLs

Comment spam

Distributed Denial-of-Service

Ticket purchasing robots

Click fraud

2. CAPTCHA to the rescue?Problem #1: InaccessibleProblem #2: Economics broken

Fixed human workload Outsourced for under $0.01 per CAPTCHA Mechanical Turk, getafreelancer.com

Problem #3: Hackers are solving the hard AI problem Yahoo! CAPTCHA broken 1/16/2008

http://network-security-research.blogspot.com/ Windows Live and Google CAPTCHAs broken 2/6/2008 , 2/22/2008

http://www.websense.com/securitylabs/blog/ Many others

3. What about Proof-of-Work (PoW)?Addresses Problem #1: No user-interface issuesAddresses Problem #2: Variable workloadAddresses Problem #3: Hard cryptographic problem

Q: Why is the landscape littered with unused PoW protocols? Hashcash, TLS puzzles, TCP puzzles, IP puzzles, Public work

A: PoW requires protocol changes and universal deployment CAPTCHAs do not!

4. mod_kaPoWApache module for embedding PoW challenges into URLs

Leverage ubiquitous JavaScript support to deploy PoW Server dynamically embeds PoWs in embedded URLs Client-side JavaScript solver must calculate answers for access No network protocol changes No web browser changes No web server content changes5. Example

URL w/ valid PoW

mod_kaPoW

Clients

Web Server

URL w/ invalid PoW

Error Page

Content SolutionScripts

ErrorPage

Content

Research Impact• Deployable alternative to CAPTCHAs

• New weapon against today’s web attacks

6. ImplementationJavaScript solver (kaPoW.js)

“onLoad” event handler to solve PoW challenges for embedded images

“onClick” event handler to solve challenges for embedded links

Solve routine finds a value A, such that

SHA1(NC || URL || A) 0 mod DCDC client-specific server-assigned difficulty

NC client-specific server-generated nonce

mod_kaPoW Apache module

7. Thwarting DoS 8. Future workPolicy module for setting per-client Dc

Client history Client reputation Client location Request type Resource requested

Adding to applications Forums (phpBB) Wikis (MediaWiki) Blogs (WordPress, Slashcode) Web 2.0 / AJAX

Economic analysis What is the cost of idle CPU cycles? Markets based on CPU cycles

9. AvailabilityDemo site

http://kapow.cs.pdx.edu

Non-commercial source release In progress

10. Publications E. Andreeva, G. Neven, B. Preneel T. Shrimpton,

“Seven-Property Preserving Iterated Hashing: ROX”, ASIACRYPT 2007.

T. Ristenpart, T. Shrimpton, “How to Build a Hash Function From Any Collision-Resistant Function”, ASIACRYPT 2007.

W. Feng, E. Kaiser, “The Case for Public Work”, Global Internet 2007.

E. Kaiser, W. Feng, “mod_kaPoW: Protecting the Web with Transparent Proof-of-Work”, in submission.