Reasoning Analytically About Password-Cracking Software Enze Alex - - PowerPoint PPT Presentation

reasoning analytically about password cracking software
SMART_READER_LITE
LIVE PREVIEW

Reasoning Analytically About Password-Cracking Software Enze Alex - - PowerPoint PPT Presentation

Reasoning Analytically About Password-Cracking Software Enze Alex Liu, Amanda Nakanishi, Maximilian Golla, David Cash, and Blase Ur November 26, 2019 | PasswordsCon | Stockholm, Sweden People Choose Weak Passwords Johnny14! 2 November 26,


slide-1
SLIDE 1

Reasoning Analytically About Password-Cracking Software

Enze “Alex” Liu, Amanda Nakanishi, Maximilian Golla, David Cash, and Blase Ur

November 26, 2019 | PasswordsCon | Stockholm, Sweden

slide-2
SLIDE 2

November 26, 2019 | PasswordsCon | Stockholm, Sweden

2

Johnny14!

People Choose Weak Passwords

slide-3
SLIDE 3

November 26, 2019 | PasswordsCon | Stockholm, Sweden

3

Pas asswords Fr Frequency

Weak Passwords

What Makes a Password “Weak”?

slide-4
SLIDE 4

November 26, 2019 | PasswordsCon | Stockholm, Sweden

4

Pas asswords Fr Frequency

Weak Passwords

Guess #1 123456 Guess #387 qwerty1 Guess # 1.3 x 109 nx71!iceCream

What Makes a Password “Weak”?

slide-5
SLIDE 5

November 26, 2019 | PasswordsCon | Stockholm, Sweden

5

Guess #: 390,000

Example:

Johnny14!

Guess Number = Approximate Strength

slide-6
SLIDE 6

November 26, 2019 | PasswordsCon | Stockholm, Sweden

6

Strength Meter

Application 1: Strength Meters

slide-7
SLIDE 7

November 26, 2019 | PasswordsCon | Stockholm, Sweden

7

Password123!

Application 2: Proactive Checking

slide-8
SLIDE 8

November 26, 2019 | PasswordsCon | Stockholm, Sweden

8

“No!”

Per Thorsheim, founder of PasswordsCon

Application 2: Proactive Checking

slide-9
SLIDE 9

November 26, 2019 | PasswordsCon | Stockholm, Sweden

9

Application 3: Academic Research

slide-10
SLIDE 10

November 26, 2019 | PasswordsCon | Stockholm, Sweden

10

We don’t think in “cracks,” we think in guess numbers!

RNN PCFG

!= != !=

Guess #: 1,928,730,033 Guess #: 8,346,290,721 Guess #: inf. Guess #: 390,000

Password Cracking: Johnny14! - cracked Guess Number: Depends on “trained” model

Guess # Depends on Model

slide-11
SLIDE 11

November 26, 2019 | PasswordsCon | Stockholm, Sweden

11

Configuration

  • 1. Compute guess numbers efficiently
  • 2. Configure guessing method systematically
  • 3. Approximate real-world attack

Guess Number

Efficient

Password Real-World

Goals For Guess Numbers

slide-12
SLIDE 12

November 26, 2019 | PasswordsCon | Stockholm, Sweden

12

1.

State of the art

2.

How software password-cracking tools work

3.

Our efficient techniques for guess numbers

4.

Our techniques for systematic configuration

Outline

slide-13
SLIDE 13

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Password-Cracking Methods

13

Probabilistic Models Software Tools

slide-14
SLIDE 14

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Probabilistic Models

14

Markov Models [Narayanan and Shmatikov, CCS 2005] Probabilistic Context-Free Grammars [Weir et al., S&P 2009] Neural Networks [Melicher et al., USENIX Security 2016]

Guess # Configuration Real

slide-15
SLIDE 15

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Password-Cracking Methods

15

Probabilistic Models Software Tools

slide-16
SLIDE 16

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Software Tools

16

Hashcat John the Ripper

slide-17
SLIDE 17

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Guess Number by Enumeration

17

1.

123456

2.

password

3.

monkey

4.

letmein

5.

p@ssw0rd

6.

Johnny14!

Does Not Scale !!!

slide-18
SLIDE 18

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Software Tools

18

[S&P 2019]

Hashcat John the Ripper

Guess # Configuration Real

slide-19
SLIDE 19

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Outline

19

1.

State of the art

2.

How software password-cracking tools work

3.

Our efficient techniques for guess numbers

4.

Our techniques for systematic configuration

slide-20
SLIDE 20

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Mangled Wordlist Attack

20

Wordlist

Super Password Chicago

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all Super1 Password1 Chicago1 Super P4ssword Chic4go

Rulelist Guesses

slide-21
SLIDE 21

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Mangled Wordlist Attack

21

Wordlist

Super Password Chicago

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all Super1 Password1 Chicago1 Super P4ssword Chic4go super password chicago

Rulelist Guesses

slide-22
SLIDE 22

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Example Wordlists and Rulelists

22

Wordlist Rulelist

Linkedin (≈ 60,000,000) HIBP (≈ 500,000,000) Korelogic (≈ 5,000) Megatron (≈ 15,000) Generated2 (≈ 65,000)

109 – 1015+ guesses

+ Professionals’ private word/rule lists

slide-23
SLIDE 23

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Outline

23

1.

State of the art

2.

How software password-cracking tools work

3.

Our efficient techniques for guess numbers

4.

Our techniques for systematic configuration

slide-24
SLIDE 24

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Guesses

Super1 Password1 Chicago1 Super P4ssword Chic4go super password chicago

Is This Password in the Guesses?

24

Chic4go

slide-25
SLIDE 25

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Is This Password in the Guesses?

25

Wordlist Rulelist

Super Password Chicago

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all

Guesses

Super1 Password1 Chicago1 Super P4ssword Chic4go super password chicago

slide-26
SLIDE 26

November 26, 2019 | PasswordsCon | Stockholm, Sweden

We can work backwards!

Insight

26

slide-27
SLIDE 27

November 26, 2019 | PasswordsCon | Stockholm, Sweden

“Rule Reversal”

Marechal (PasswordsCon 2012) Kacherginsky (PasswordsCon 2013) and many others

Insight

27

slide-28
SLIDE 28

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Inversion Process

28

Rulelist

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all

Password

Chic4go

slide-29
SLIDE 29

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Preimages

Chicago Chic4go

Inversion Process

29

Rulelist

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all

Password

Chic4go

slide-30
SLIDE 30

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Count Guesses

30

Wordlist Rulelist

Super Password Chicago

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all

Guesses

Super1 Password1 Chicago1 Super P4ssword Chic4go super password chicago

slide-31
SLIDE 31

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Count Guesses

31

Wordlist Rulelist

Super Password Chicago

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all

Guesses

Super1 Password1 Chicago1 Super P4ssword Chic4go super password chicago

3 3

slide-32
SLIDE 32

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Count Guesses

32

Wordlist Rulelist

Super Password Chicago

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all

Guesses

Super1 Password1 Chicago1 Super P4ssword Chic4go super password chicago

slide-33
SLIDE 33

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Approach

33

  • Invert each password for each rule
  • Identify the first rule, if any, that guesses it
  • Sum guesses made by previous rules
  • Count guesses per rule (JtR) / word (Hashcat)
  • Do this once per wordlist / rulelist combo
slide-34
SLIDE 34

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Why is this non-trivial?

34

slide-35
SLIDE 35

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Inverting Passwords

35

slide-36
SLIDE 36

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Approach to Inverting Passwords

36

  • Represent preimages as ≈ regex
  • Few: [ {C} {h} {i} {c} {a,4} {g} {o} ]
  • Many: 4444 → [ {a,4} {a,4} {a,4} {a,4} ]
  • (“Purge 1” reversed): [ {1}* {C} {1}* {h} {1}* {i}

{1}* {c} {1}* {a,4} {1}* {g} {1}* {o} {1}* ]

  • Represent wordlist as trie

Chic4go

slide-37
SLIDE 37

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Counting Guesses For Each Rule

37

Super Password Chicago

Wordlist Rule Guesses

Reject if no “a”; Replace a→ 4 2

Super Password Chicago

Replace e→ a Reject if no “a”; Replace a→ 4 3

slide-38
SLIDE 38

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Advantages and Disadvantages

38

  • Method is preferable:
  • Few target passwords
  • Need guess number quickly
  • Not preferable:
  • Many target passwords
slide-39
SLIDE 39

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Fast Guess Number Estimation

39

Enumeration Our Approach Size ~ 3 PB ~ 10 GB Preprocessing > 2 years < 1 day Mean Lookup ??? < 1 second

LinkedIn + SpiderLabs Guesses

slide-40
SLIDE 40

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Outline

40

1.

State of the art

2.

How software password-cracking tools work

3.

Our efficient techniques for guess numbers

4.

Our techniques for systematic configuration

slide-41
SLIDE 41

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Software Tools Depend On

Contents of the wordlist Order of words Contents of the rulelist Order of rules

41

slide-42
SLIDE 42

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Wordlist Rulelist New configuration

Insight: Data-Driven Configuration

42

Password Set

slide-43
SLIDE 43

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Data-Driven Configuration

Contents of the wordlist Order of words Contents of the rulelist Order of rules

43

slide-44
SLIDE 44

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Rule Ordering

Should the rules be in a different order? Key idea: Order by # cracks per guess

44

1.

Append “1”

2.

Replace “a” → “4”

3.

Lowercase all

1.

Replace “a” → “4”

2.

Lowercase all

3.

Append “1”

slide-45
SLIDE 45

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Rule Ordering Results

45

45

Ideal Data-driven Original

slide-46
SLIDE 46

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Word Completeness

Should other words be in the wordlist? Key idea: Add frequent preimage “misses”

46

Preimages Rulelist

1.

Append “1”

2.

Replace “a” → “@”

3.

Lowercase all Dagarna1 D@g@rn@ dagarna Dagarna

Passwords

slide-47
SLIDE 47

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Word Completeness (Sample Results)

47

Category Examples Set-specific bfheros; ilovmyneopets”””

slide-48
SLIDE 48

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Word Completeness (Sample Results)

48

Category Examples Set-specific bfheros; ilovmyneopets””” Meaningful MaSterBrain; la la la Short strings a2; a23; 7a; b2; q2

slide-49
SLIDE 49

November 26, 2019 | PasswordsCon | Stockholm, Sweden

Analytical Tools Guess Number Configuration

Takeaway

https://github.com/UChicagoSUPERgroup

49

Reasoning Analytically About Password-Cracking Software

Enze “Alex” Liu, Amanda Nakanishi, Maximilian Golla, David Cash, Blase Ur