37
Emerging Web Application Security Standards Scott Helme

Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Emerging Web Application

Security StandardsScott Helme

Page 2: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

The Internet is insecure.

*While trying not to break it too much!

We’re working to fix it.

Page 3: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 4: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Transport security is

largely a solved problem

1. Deploy encryption

2. Use good configuration

3. Deploy HSTS4. Deploy HPKP

(only if you’re big)

Page 5: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Sep 2016: 85%

Sep 2016: 75%

Page 6: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Source: April King, https://marumari.github.io/letsencrypt-overview/

46.43%Initial page

over HTTPS

Page 7: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 8: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Google Chrome

Page 9: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 10: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 11: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

TLS 1.3

• Complete overhaul

• Removes cruft

• Improves performance

• New protocol for thenext 20+ years

Page 12: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

HTTP Strict Transport Security

Strict-Transport-Security:

max-age=31536000; includeSubDomains; preload

hsts

pre

loa

d.a

pp

sp

ot.c

om

Page 13: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

HTTP Public Key Pinning

13

Public-Key-Pins:max-age=2592000; pin-sha256=“HASH"; pin-sha256="HASH"

Page 14: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Revocation doesn’t work.Must-staple certificates to the rescue!

Page 15: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Certification Authority Authorization (CAA)

New DNS RR type (257) that

specifies which CA is

allowed to issue certificates

for your domain name.

example.org. CAA 1 issue "letsencrypt.org"

Page 16: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

DNSSEC & DANE

Love/Hate

Source: CloudFlare

Page 17: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Content Security Policy

Source: http://www.messynessychic.com/2015/07/17/colombias-beloved-jeeps-loaded-with-everything-but-the-kitchen-sink/

Page 18: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Content Security Policy

• Restrict inline script,

styles, and eval()

• Restrict resource loading

• Restrict framing

• Prevent mixed content

Page 19: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Source: https://www.keycdn.com/support/subresource-integrity/

Subresource Integrity

Page 20: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Subresource Integrity

<script

src=”//cdn.example.com/jquery.min.js”

crossorigin=”anonymous”

integrity=“sha256-[hash]”>

</script>

Page 21: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Same-site cookies

Cookie prefixes

• __Host-

• __Secure-

• SameSite=Strict

• SameSite=Lax

Page 22: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

A few things I didn’t have

time to talk about…

• CORS/ACAO

• XCTO

• XFO

• XDO

• XXP

• SPF

• DKIM

• DMARC

• SMTP STS

• Mixed-Content

Page 23: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 24: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

How do we solve this?Let’s take a look

Page 25: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

HardenizeContinuous monitoring and assessment

Page 26: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Less than 1% of top

web sites use modern

security features

Page 27: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

WHOIS, DNS, DNSSEC, DANE, CAA, SMTP,

STARTTLS, CAs, X.509, SPF, DKIM,

DMARC, IPv4, IPv6, HTTP/2, SSL, TLS,

HSTS, CSP, HPKP, RC4, SHA, Cookies,

Mixed content, SRI,

Privacy, and many more…

Page 28: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

The future [of security] is already here, but

it’s not evenly distributed yetWilliam Gibson, adapted

Page 29: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Make security

easy and fun!

Page 30: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 31: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 32: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 33: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Easy to

understand and

communicate

The report is

broken down to

show key areas

Page 34: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

Hundreds of

complex tests

under the hood

More detail

available on

demand

Deceptively

simple

Page 35: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 36: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only
Page 37: Emerging Web Application Security Standards Scott HelmeTransport security is largely a solved problem 1. Deploy encryption 2. Use good configuration 3. Deploy HSTS 4. Deploy HPKP (only

www.hardenize.com