WSKE: Web Server Key Enabled Cookies Chris Masone with Kwang-Hyun - - PowerPoint PPT Presentation

wske web server key enabled cookies
SMART_READER_LITE
LIVE PREVIEW

WSKE: Web Server Key Enabled Cookies Chris Masone with Kwang-Hyun - - PowerPoint PPT Presentation

WSKE: Web Server Key Enabled Cookies Chris Masone with Kwang-Hyun Baek and Sean W. Smith Department of Computer Science Dartmouth College Outline Motivation WSKE Design Implementation Evaluation Related work


slide-1
SLIDE 1

WSKE: Web Server Key Enabled Cookies

Chris Masone with Kwang-Hyun Baek and Sean W. Smith Department of Computer Science Dartmouth College

slide-2
SLIDE 2

Outline

  • Motivation
  • WSKE
  • Design
  • Implementation
  • Evaluation
  • Related work
  • Conclusions
slide-3
SLIDE 3

Motivation

  • Web app designers want to improve
  • One strategy: secure cookies

Authentication usability Phishing resistance Disclosure resistant "Same origin policy" Set, released only over SSL/TLS Usually encrypted w/site specific secret

slide-4
SLIDE 4

Secure Cookie Issues

  • Subject to replay attacks
  • Cross-Site Scripting (XSS)
  • Pharming
  • IP attacks (BGP)

Attacker can spoof DNS can be prevented by proper site construction addressed in other work Attackers can cause re-routing of IP traffic Yes, this is seen in the wild

slide-5
SLIDE 5

Secure Cookie Issues

  • Subject to replay attacks
  • Cross-Site Scripting (XSS)
  • Pharming
  • IP attacks (BGP)

Attacker can spoof DNS can be prevented by proper site construction addressed in other work Attackers can cause re-routing of IP traffic Yes, this is seen in the wild

...Cookies are in use, we should protect them!

slide-6
SLIDE 6

Server-Side SSL

  • SHOULD protect against DNS, IP spoofing
  • A myriad of dialog boxes
  • Users trained to click through
  • If warning, then no cookies

mismatched domain name unknown issuer for server certificate makes secure cookies less usable for authentication ~60% of SSL servers misconfigured Sites cannot choose to go self-signed Ideal solution avoids "breaking the web"

slide-7
SLIDE 7

Properties of a Solution

  • Leverage crypto
  • Users shouldn't need to understand
  • Limit impact on deployed sites
  • Avoid server-side config changes
  • Minimize user-side requirements
slide-8
SLIDE 8

WSKE

  • No user interaction
  • Web apps don't need to change
  • Misconfigured SSL OK
  • Covers a network-based attacker
  • Key expiration potentially an issue

After cookies set via SSL, WSKE binds them to server of origin and server's public key

slide-9
SLIDE 9

WSKE: Note...

  • WSKE does not address registration
  • Registration hard, addressed elsewhere
  • WSKE simple, deployable now

Users careful about SSL signals once, then protected Same trust model as SSH Combine with more complex registration method

slide-10
SLIDE 10

Prototype Design

  • Man-in-the-middle at client
  • When cookies are set:
  • Just before cookie release:

Remember hostname Remember server's SSL key fingerprint Bind cookie to these values Verify hostname (browsers do this already) Check current SSL key against stored fingerprint Release cookies only if key matches

slide-11
SLIDE 11

Prototype Implementation

  • Firefox extension

Local Hostname/ Fingerprint Store Https Responses Https Requests Https Requests Https Responses

Internet

  • JavaScript cookie access left for future work
slide-12
SLIDE 12

Prototype Implementation

Browser Server Http request ready SSL handshake initiation Response, with server certificate

. . .

Request sent (with cookies) Ideal window for checking server key SSL session established SSL setup continues

slide-13
SLIDE 13

Prototype Implementation

Browser Server Http request constructed SSL handshake initiation Response, with server cert

. . .

Request sent (with cookies) No hooks here SSL session established SSL setup continues Response returns http-on-modify-request BadCertHandler http-on-examine-response Http request complete

slide-14
SLIDE 14

Prototype Implementation

Browser Server Http request constructed Request sent Response returns (with cookies) WSKE SSL Negotiation Http request ready If cookies, then store hostname and key hash http-on-modify-request No cookies. Request returned unmodified. http-on-examine-response Return response unmodified

slide-15
SLIDE 15

Prototype Implementation

Browser Server Http request constructed Request sent Response returns http-on-modify-request WSKE Cookie-less dummy req. Dummy request constructed SSL negotiation Response (ignored) Server key check Request returned. No cookies if key mismatch SSL negotiation Http request ready

slide-16
SLIDE 16

Evaluation

  • Attack resistance
  • Deployability
  • Usability

Web Apps need not know about WSKE Load-balancing, new server keys could be problem Possibly bind to CA key instead of server key Testbed: 2 webservers, BIND, and a client Cookies blocked in simulated DNS attack Cookies blocked in simulated IP-spoof attack Users only need to look at SSL cues once If spoofing, credentials cannot be released Is there a re-registration attack?

slide-17
SLIDE 17

Related Work

  • Locked Cookies
  • Active Cookies
  • Phone-based schemes

Requires server-side changes, no client-side code Binds cookies to numeric IP addresses Vulnerable to IP-based attacks Contacted by authors after WSKE accepted to USEC Same concept, implementation modifies binary Published as a tech report Phoolproof, Mannan & van Oorschot Require an external device, server and client changes Perhaps overkill for some sites

slide-18
SLIDE 18

Conclusions

  • WSKE could be deployed today
  • Server-side SSL made more usable
  • Cookie-based auth made more secure
  • Prototype works, but could be cleaner
  • More rigorous usability evaluation?
slide-19
SLIDE 19

Thanks! Questions?