+ All Categories
Home > Technology > Honeywords - BSides London 2014

Honeywords - BSides London 2014

Date post: 08-May-2015
Category:
Upload: gavin-holt
View: 367 times
Download: 2 times
Share this document with a friend
63
Honeywords: Detectable Password Theft Gavin Holt Abertay University
Transcript
Page 1: Honeywords - BSides London 2014

Honeywords: Detectable Password TheftGavin HoltAbertay University

Page 2: Honeywords - BSides London 2014

whoami Gavin Holt (@GavinHolt)

Fourth Year Honours Student at Abertay University

One of the organisers of Securi-Tay 3

Vice President of Abertay Ethical Hacking Society (@AbertayHackers)

Page 3: Honeywords - BSides London 2014

What are we covering today? Why is password theft so dangerous?

How are passwords currently being stored? (The good, the bad and the plain stupid)

What are Honeywords?

How Honeywords can be implemented

The benefits of Honeywords

What Honeywords won’t save you from

Summary

Questions

Page 4: Honeywords - BSides London 2014

Why is password theft so dangerous?

Page 5: Honeywords - BSides London 2014

Obvious Answer:Because then someone has

your password

Page 6: Honeywords - BSides London 2014

Less Obvious Answer:Because then someone has

your password…for everything

Page 7: Honeywords - BSides London 2014

60%+ of users use the same password across multiple sites

(PayPal Report)

Page 8: Honeywords - BSides London 2014

300% Increase in a single quarter

(Experian Report)

Page 9: Honeywords - BSides London 2014

LinkedIn – 6.5 Million PasswordsZappos.com – 12 Million

PasswordseHarmony – 1.5 Million

PasswordsAdobe – 38 Million Passwords

Evernote – 50 Million Passwords

Page 10: Honeywords - BSides London 2014

But when you analyse a dump, you have to wonder why you

bother…

Page 11: Honeywords - BSides London 2014
Page 12: Honeywords - BSides London 2014
Page 13: Honeywords - BSides London 2014

A lot of usernames and passwords out there.

Page 14: Honeywords - BSides London 2014

But Gavin, People don’t store passwords in the plain

anymore, right?

Page 15: Honeywords - BSides London 2014

http://plaintextoffenders.com/

Page 16: Honeywords - BSides London 2014

Oh okay, but the big guys are doing it right?

Page 17: Honeywords - BSides London 2014

LinkedIn’s 6.5 Million Passwords were unsalted.

Page 18: Honeywords - BSides London 2014

Even if they salt the passwords, they aren’t always per user

salts.

Page 19: Honeywords - BSides London 2014

Salting doesn’t stop a targeted attack

Page 20: Honeywords - BSides London 2014

Password Cracking is getting faster!

Page 21: Honeywords - BSides London 2014

Making the Hashing more complex and resource intensive

is only part of the solution.

Page 22: Honeywords - BSides London 2014

How do I even know if my password has been stolen?

Page 23: Honeywords - BSides London 2014

You might not!

Page 24: Honeywords - BSides London 2014

Some sneaky SysAdmins might put some fake accounts in.

Page 25: Honeywords - BSides London 2014

So if the User “Rory” logs in, they can assume they have

been compromised.

Page 26: Honeywords - BSides London 2014

Pretty useful idea – Honeypot accounts.

Page 27: Honeywords - BSides London 2014

Hackers are sneaky

Page 28: Honeywords - BSides London 2014

Can potentially spot these fake accounts by looking at their

activity and permissions.

Page 29: Honeywords - BSides London 2014

So fake user accounts aren’t fool proof.

Page 30: Honeywords - BSides London 2014

But we like the idea of making it a high-risk guessing game for

the attacker.

Page 31: Honeywords - BSides London 2014

Why not have fake Passwords?

Page 32: Honeywords - BSides London 2014

Introducing: Honeywords

Page 33: Honeywords - BSides London 2014

First discussed by Jules and Rivest of MIT in May 2013.

Page 34: Honeywords - BSides London 2014

If for every user account, we have multiple passwords, with

only one legit password, can we detect password theft by watching for our known

entries?

Page 35: Honeywords - BSides London 2014

An unsalted MD5 example (Don’t throw things)Traditional DBUID Username Password (Hashed, For Security obv)

1 Gavin 565E15D84CC59763D13D58B5F66C967F

2 Rory AD7FADB59974D0C2E66E628C0485F9C9

3 Tiago AA177EC5DCBF88CA5EDF17236C1981E8

Page 36: Honeywords - BSides London 2014

A plain text example (Don’t throw things)Traditional DB

Attacker Gets a hold

of the database

Fires up John or

Similar Tool

Gets Plain Text

Passwords Back

Page 37: Honeywords - BSides London 2014

Lets implement Honeywords…

Page 38: Honeywords - BSides London 2014

How do we make Honeywords?

Page 39: Honeywords - BSides London 2014

How do we make Honeywords? We need believable words

We need some low hanging fruit

We need some tough passwords

We need to ensure we don’t use the users PW

We need to be able to identify HoneyWords internally!

Page 40: Honeywords - BSides London 2014

How do we make Honeywords? Start with a dictionary

Select a handful of words of varying length

Depending on how hard we want to make the password to crack we can:

Mangle for Upper and Lower Case Prepend and Append numbers Substitute Symbols Concatenate Words

Make sure it doesn’t make our users PW!

Page 41: Honeywords - BSides London 2014

How do we make Honeywords?We need to make a correct Checksum for our users passwordWe also need to make some fake checksums for the honeywords we have generated

Page 42: Honeywords - BSides London 2014

An unsalted MD5 example Using HoneywordsUID Username

1 Gavin

2 Rory

3 Tiago

UID

Password Hash Checksum

1 565E15D84CC59763D13D58B5F66C967F

TU32R781V346R7ETV81ERTGE7RT8EV4

1 AD7FADB59974D0C2E66E628C0485F9C9

SVEVREVR6571654SF7CEWF7E1FC51W

1 AA177EC5DCBF88CA5EDF17236C1981E8

BCN7GHER17G8J7678A78W81CDFCTHY871

1 DC5F61F959F188478982A9DBB153FC21

EWFFFFSEESYUUTRYER87F1S67F1S5E7F1SCE

1 22028EA0D2E3C9577BD97FD7E1F07E45

IUWER232FWEJKHFHFWEUFH W3R3OUEFS34

Page 43: Honeywords - BSides London 2014

An unsalted MD5 example Using Honeywords

Attacker Gets a hold of the

database

Fires up John or Similar Tool

Gets Plain Text

Passwords Back

Has a 20% chance of

picking the correct

password

Page 44: Honeywords - BSides London 2014

1/5 Chance of getting it right

Page 45: Honeywords - BSides London 2014

Can greatly decrease this chance by adding more

Honeywords!

Page 46: Honeywords - BSides London 2014

How would I even authenticate against that?

Page 47: Honeywords - BSides London 2014

Authentication ProcessWeb Server

• Takes Password and Hashes It

• Passes to DB Server

DB Server

• Retrieves Checksum where UID and Hash match and passes to Auth Server

Auth Server

• Performs additional secret cryptographic function on hash and compares to Passed Check Sum

• Returns True or False to Web Server

Web Server

• Either:• Logs user in

because they have a correct password

• Doesn’t log user in and flags that a known “Honeyword” was used

• Doesn’t log in due to incorrect password

Page 48: Honeywords - BSides London 2014

In order to gain 100% certainty that they have the correct

password, they attack would need to compromise all 3

boxes.

Page 49: Honeywords - BSides London 2014

So we now know when a password we have purposely

added to the DB is used.

Page 50: Honeywords - BSides London 2014

We can detect password theft!

Page 51: Honeywords - BSides London 2014

What else can we do with it?

Page 52: Honeywords - BSides London 2014

Time based detection?

Page 53: Honeywords - BSides London 2014

Change the fake passwords periodically to pinpoint when

they were stolen?

Page 54: Honeywords - BSides London 2014

Alerting other services that passwords have been stolen

Page 55: Honeywords - BSides London 2014

Central API for Services to use

Page 56: Honeywords - BSides London 2014

Pass UIDs of known compromised accounts to a central service to alert users across platforms they may be

vulnerable?

Page 57: Honeywords - BSides London 2014

The Benefits of Honeywords

Page 58: Honeywords - BSides London 2014

The benefits of Honeywords Can be used to detect password theft

Can be used to prevent the usage of stolen credentials

Can provide warnings to other services that users may reuse passwords on

Can be used to deter attackers from trying to compromise accounts

Page 59: Honeywords - BSides London 2014

What Honeywords won’t do

Page 60: Honeywords - BSides London 2014

What Honeywords won’t do Honeywords won’t stop your service being compromised If they have your Password file, you have problems to begin with

Honeywords won’t stop the hashes from being cracked Only per hash salting and intensive hashing functions will slow

that down

Honeywords won’t stop attackers from gaining a users password by another method

Social Engineering, Key Logger, or simply guessing a rubbish password

Page 61: Honeywords - BSides London 2014

Honeywords are not a replacement to a strong password policy and user

awareness

Page 62: Honeywords - BSides London 2014

In Summary Honeywords allow for detectable password theft by seeding a database with known “wrong” passwords.

Watching for these passwords allows Systems to detect when they have had their password DB stolen.

Honeywords should be of varying difficulty in order to disguise themselves

Honeywords are not a replacement for: A strong password policy A strong password storage mechanism End Point Security

Page 63: Honeywords - BSides London 2014

Any Questions?Tweet me @GavinHolt later if

you think of any


Recommended