low-budget password strength estimation - usenixlow-budget password strength estimation dan lowe...

66
Low-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox

Upload: others

Post on 25-Dec-2019

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Low-Budget Password Strength EstimationDan Lowe Wheeler

Dropbox

Page 2: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 3: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 4: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 5: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 6: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 7: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Twitter: Password Feedback

Page 8: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Twitter: Password Feedback

Page 9: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Verizon Wireless: Password Requirements

Page 10: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Password Guessing: 35+ years of development

Ferocious algorithmsRecurrent Neural Networks PCFGs Markov Models Mangled Dictionary Attacks

Massive datasets100M+ leaked passwords Google n-gram corpus

Page 11: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Password Policy: Frozen in 1979

Page 12: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Inconsistent Requirements

Bonneau and Preibusch, 2010: 150 sites, 142 distinct policies 😫 Wang and Wang, 2015: 50 sites, 50 distinct policies 😱

Page 13: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Inconsistent FeedbackInput: correcthorsebatterystaple

Page 14: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Inconsistent FeedbackInput: correcthorsebatterystaple

Page 15: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Inconsistent FeedbackInput: correcthorsebatterystaple

See also: A large-scale evaluation of high-impact password strength meters, TISSEC ‘15

Page 16: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Proposal: adopt zxcvbn

# small client-side estimator,# runs in 3 milliseconds,# accurate within an online attack range> npm install zxcvbn

var meets_policy = function(password) { return zxcvbn(password).guesses > 500; };

Page 17: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Feedback @ Dropbox

Requirements @ Uber

Proposal: keep UI simple

Page 18: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Outline for todayMotivation

How zxcvbn works

Accuracy experiments

Page 19: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Threat ModelOnline guessing attack

• Assume any of today’s best guessing algorithms

• Upper bound: 106 guesses

What about offline?

• Policy-level enforcement: a questionable usability burden

• Better mitigations that don’t impact usability

See also:

An Administrator’s Guide to Internet Password Research, USENIX LISA ‘14

Page 20: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Core estimator: minimum rank over top lists

Input: wheeler

Page 21: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Core estimator: minimum rank over top lists

Input: wheeler

1. password 2. 123456 3. 12345678 4. qwerty 5. 123456789 6. 111111 7. dragon 8. 123123 9. baseball 10. abc123

1. li 2. khan 3. smith 4. johnson 5. jones 6. garcia 7. brown 8. davis 9. wheeler 10. rodriguez

1. dan 2. wheeler 3. dropbox 4. drop 5. box 6. sync 7. share 8. collaborate 9. rainbows 10. wow

top passwords top surnames call-specific list

Page 22: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Core estimator: minimum rank over top lists

1. password 2. 123456 3. 12345678 4. qwerty 5. 123456789 6. 111111 7. dragon 8. 123123 9. baseball 10. abc123

Input: wheeler

1. li 2. khan 3. smith 4. johnson 5. jones 6. garcia 7. brown 8. davis 9. wheeler10. rodriguez

1. dan 2. wheeler3. dropbox 4. drop 5. box 6. sync 7. share 8. collaborate 9. rainbows 10. wow

top passwords top surnames call-specific list

Page 23: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Core estimator: minimum rank over top lists

1. password 2. 123456 3. 12345678 4. qwerty 5. 123456789 6. 111111 7. dragon 8. 123123 9. baseball 10. abc123

Input: wheeler

1. li 2. khan 3. smith 4. johnson 5. jones 6. garcia 7. brown 8. davis 9. wheeler10. rodriguez

1. dan 2. wheeler3. dropbox 4. drop 5. box 6. sync 7. share 8. collaborate 9. rainbows 10. wow

Output: 2 guesses

top passwords top surnames call-specific list

Page 24: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Word transformations

l33t: @ba1one ⟶ abalone

caps: abALOne ⟶ abalone

reversed: enolaba ⟶ abalone

Page 25: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Keyboard patternsInput: zxcftyuio

Page 26: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Keyboard patternsInput: zxcftyuio

Page 27: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Keyboard patternsInput: zxcftyuio

layout=QWERTY, length=9, turns=3

Page 28: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Keyboard patternsInput: zxcftyuio

Output: ≈106 guesses

layout=QWERTY, length=9, turns=3

Page 29: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Sequence PatternsInput: бгезйлн

Page 30: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Sequence PatternsInput: бгезйлн

Page 31: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Sequence PatternsInput: бгезйлн

type=alphabet, length=7, codepoint_delta=2

Page 32: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Sequence PatternsInput: бгезйлн

Output: ≈102 guesses

type=alphabet, length=7, codepoint_delta=2

Page 33: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 34: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Match ⟶ Estimate ⟶ SearchInput: lenovo2222

Page 35: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Match ⟶ Estimate ⟶ SearchInput: lenovo2222

lenovo (password)

eno (surname)

no (english)

no (reversed)

2222 (2/2/2022)

2222 (repeat)

Page 36: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Match ⟶ Estimate ⟶ SearchInput: lenovo2222

lenovo (password) 11007 guesses

eno (surname) 3284 guesses

no (english) 11 guesses

no (reversed) 18 guesses

2222 (2/2/2022) 2190 guesses

2222 (repeat) 48 guesses

Page 37: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Match ⟶ Estimate ⟶ SearchInput: lenovo2222

lenovo (password) 11007 guesses

eno (surname) 3284 guesses

no (english) 11 guesses

no (reversed) 18 guesses

2222 (2/2/2022) 2190 guesses

2222 (repeat) 48 guesses

Page 38: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Match ⟶ Estimate ⟶ SearchInput: lenovo2222

lenovo (password) 11007 guesses

eno (surname) 3284 guesses

no (english) 11 guesses

no (reversed) 18 guesses

2222 (2/2/2022) 2190 guesses

2222 (repeat) 48 guesses

Output: ≈106 guesses

Page 39: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Outline for todayMotivation

How zxcvbn works

Accuracy experiments

Page 40: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Outline for todayMotivation

How zxcvbn works

Accuracy experiments

gold standard: real attacks trained on leaks

estimators studied: zxcvbn, KeePass, NIST entropy

Page 41: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Gold standard: PGSMinimum guess attempts over four attacks: • Order-5 Markov Model (Ma et al. 2014) • Probabalistic Context-Free Grammar (Komanduri 2015) • Mangled Dictionary (Hashcat) • Mangled Dictionary (John the Ripper)

Page 42: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Training dataGold Standard Estimators: top 100k lists

RockYou ’09 leak RockYou ’09 leak

Yahoo ’12 leak Yahoo ’12 leak

MySpace ’06 leak Xato ’15 password corpus

Google Web Corpus English Wikipedia top 1-grams

Web2 dictionary Top words: US TV + film (2006 Wiktionary study)

Inflection dictionary Top names: 1990 US Census

≈20.5M unique tokens ≈340k unique tokens

Page 43: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Test data• 15k random sample, RockYou ’09

• Not included in PGS / estimator training data

Page 44: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 45: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 46: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 47: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 48: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 49: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 50: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 51: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 52: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 53: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 54: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 55: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 56: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 57: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Estimator size?

Truncate lists at: gzipped size

top 100k: ~1.5 MB

top 10k: ~245 kB

top 1k: ~29 kB

Page 58: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 59: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 60: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 61: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Minimum rank only?

Page 62: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 63: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack
Page 64: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Runtime Performance

Page 65: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

ConclusionJust Say No!(to inconsistently arbitrary password strength estimation)

Estimating online attacks: minimum rank goes a long ways

Matching other patterns is helpful and cheap

Accuracy: highly sensitive to training data

Page 66: Low-Budget Password Strength Estimation - USENIXLow-Budget Password Strength Estimation Dan Lowe Wheeler Dropbox. Twitter: Password Feedback . ... Threat Model Online guessing attack

Give it a try!MIT License, cross-platform, widely ported:https://github.com/dropbox/zxcvbn

Partial adopter list: