Sex, Secret and God: A Brief History of Bad Passwords
Kyle Rankin
Chief Security Officer
Purism
Linux Journal Tech Editor, Columnist
For Your Consideration
Agenda
- Introduction
- RMS and the MIT Password Revolt
- Golden Age of Computer Passwords
- Dotcom Boom Password Policies
- XKCD and the Password Renaissance
- We Will RockYou: Modern Cracking
- New Password Approaches
- 2FA
- Password Reset Attacks
- Conclusion
- Questions?
Introduction
- Want to hack an account? Guess the password
- Weakest link in security for decades
- Easy to blame user, but not user's fault
- Largely IT/Security industry's fault
- Focus on theoretical attacks, ignoring real users
- Decades of bad password advice, policy
- This talk:
- How did we get here?
- What are the current threats against passwords?
- What can we do today?
RMS and the MIT Password Revolt
- Computers didn't always have passwords
- Passwords weren't always viewed as a good thing
- Richard Stallman viewed passwords as a means of control
- Most people don't know RMS is a password cracker
- RMS joined MIT AI lab in 1971
- The system they built didn't have passwords.
RMS and the MIT Password Revolt
RMS and the MIT Password Revolt
Golden Age of Computer Passwords
- In the beginning, computer passwords like traditional passwords
- Many computers didn't support passwords longer than 8 characters
- Some computers ignored case (password = PASSWORD)
- Result: passwords single words, simple, easy to guess
- People tended to all pick the same passwords.
Golden Age of Computer Passwords
- Popular passwords were things like: "love" "sex" "secret" (and "god")
- And of course "password"
- To hack someone, just try all dictionary words
- If that's too slow, you guess words important to them
- Spouse names, children, pets, sports teams
- Main way people got hacked in movies.
Golden Age of Computer Passwords
Golden Age of Computer Passwords
Golden Age of Computer Passwords
Dotcom Boom Password Policies
- Tools like John the Ripper automated password cracking
- As computers got faster, so did dictionary attacks
- IT depts started responding with password policies
- Centralized Windows admin tools made enforcement easy
- Password policies well-meaning, but misguided
- Users generally hated them.
Dotcom Boom Password Policies
Minimum Password Length
- Policy: "Passwords must be at least 6 characters"
- Reason: Makes dictionary attacks take longer
- Theoretical Combinations: 1-300 million combinations
- Users Picked: "qwerty" "secret" "password" "123456"
- Attackers: Removed shorter words from dictionary.
Dotcom Boom Password Policies
Password Complexity
- Policy: "Passwords must contain at least one upper case letter"
- Reason: Increases total # of password combinations, removes passwords of pure numbers
- Theoretical Combinations: 19 billion
- Users Picked: "Qwerty" "Secret" "Password"
- Attackers: upper-cased first letters in dictionary words.
Dotcom Boom Password Policies
Password Complexity
- Policy: "Passwords must contain at least one upper case letter and one number"
- Reason: Increases total # of password combinations
- Theoretical Combinations: 57 billion
- Users Picked: "Qwerty1" "Secret1" "Password1"
- Attackers: Added 0-9 to the end of dictionary words.
Dotcom Boom Password Policies
Password Complexity
- Policy: "Passwords must contain at least one upper case letter and two numbers"
- Reason: Stop users from just adding a number to the end
- Theoretical Combinations: 57 billion
- Users Picked: "Qwerty84" "Secret69" "Password11"
- Attackers: Added two digits to end of dictionary words
- Attackers: Added significant two-digit date to end of password guesses.
Dotcom Boom Password Policies
Password Complexity
- Policy: "Passwords must contain at least one upper, one number, one symbol"
- Reason: Add order of magnitude to entropy, stop users from just adding numbers to the end
- Theoretical Combinations: 782 billion
- Users Picked: "Qwerty84!" "Secret69!" "Password11!"
- Attackers: Added a few symbols to the very end of dictionary words.
Dotcom Boom Password Policies
1337 5P34K
- Complex passwords can be hard to remember
- IT people invented clever way to build complex passwords
- Dictionary word + leet speak!
- "password" becomes "P455w0rd"
- Or if you need symbols: "P@55w0rd!"
- (This was an actual admin password at a prior job)
- Turns out attackers know leet speak too.
Dotcom Boom Password Policies
Password Rotation
- Policy: "Passwords must be changed every 3 months"
- Reason: Limit time to crack before password changes
- Reason: Limit time hacker has on system after compromise
- Users Picked: "Password1!" then "Password2!" then "Password3!"
- Attackers: Guessed weak password, learned your scheme, put in back door within hours of hack.
Dotcom Boom Password Policies
Policy Problems
- Draconian password policies bad for everyone but hackers
- Wastes IT time troubleshooting account lockouts
- Frustrates users who pick a "hard" password that gets rejected
- More complex the password, more painful to rotate
- Often leads to passwords on post-it notes
- Encourages users to pick weakest possible password that meets standard
- Passwords end up being based on a dictionary word + transformations
- Hackers still able to guess majority of "complex" passwords.
XKCD and the Password Renaissance
XKCD and the Password Renaissance
- Focus shifted away from complex passwords toward long passphrases
- My personal corporate password policy: 12-char minimum, no rotation, no complexity
- Theoretical Combinations: 95 quadrillion
- 8-char mixed case, numbers, symbols = 7.2 quadrillion
- No rotation encourages much longer, complex passwords
- Passphrase could be a long movie quote or song lyric
- Or use Diceware to generate random multi-word passphrase with dice
- Muscle memory takes over pretty quickly.
XKCD and the Password Renaissance
- Don't have to take my word for it
- New NIST guidelines discourage password rotation, complex passwords, encourage passphrases
- "Verifiers SHOULD NOT impose other composition rules (e.g., mixtures of different character types) on memorized secrets. Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily (e.g., periodically)"
- Print this out, take this back to your IT dept.
We Will RockYou: Modern Cracking
- Modern password cracking very advanced, uses sophisticated tools
- Actual sporting event at DEF CON
- Most password cracking starts with a hashed password database dump
- Allows crackers to brute force hashes offline
- Tools like hashcat support variety of hashing algorithms, use huge dictionaries
- Supports transformation patterns to apply to each dictionary word (leet speak, capital first letter, numbers at the end, etc.)
- Dramatically reduces the number of guesses needed to crack "complex" passwords
- oclhashcat can use GPU for acceleration
- In 2012, my $280 Radeon 6950 = 350,000 MD5 comparisons per second.
We Will RockYou: Modern Cracking
The RockYou Hack
- Most users reuse passwords across sites
- When hackers crack a password on one site, attempt that username/password across other popular sites
- If can get access to an email account, trigger password resets for remaining user accounts
- In 2009, RockYou company was hacked, exposed 32 million user accounts
- All passwords stored in plain text
- Treasure trove of popular passwords to try elsewhere
- Immediately added to everyone's dictionaries.
We Will RockYou: Modern Cracking
Advanced Cracking
New Password Approaches
- What's a good password? One you can't remember
- Very long (20+ char), truly random, complex
- Use new password for each account
- Hard to remember, so use a password manager
- KeePassX Open Source, encrypts pw db, includes handy pw generator
- Some passwords must be memorable
- Password strength depends on threat
- Average: 12 char+ passphrase, no complexity
- Advanced: 5-6 word diceware, or passphrase not on Internet
- Speak multiple languages? Mix and match!
2FA
- Main categories of auth: something you know/have/are
- Passwords = something you know
- Best insurance against pw cracking is Two Factor Auth (2FA)
- In addition to pw must provide additional factor from different category
- Something you have (keys, token, phone), something you are (biometrics)
- Once attacker guesses pw, has to also compromise your 2FA device
- Most 2FA implementations use form of something you have.
2FA
- SMS: Send txt message with random multi-digit code
- Weakest choice, attackers starting to intercept SMS, better than nothing
- Push notifications sent to phone
- Convenient, but security depends on phone + strength of app
- TOTP: Generate multi-digit code that rotates every 30 seconds
- More secure approach, uses shared secret between server and hardware token or software
- U2F: Use key inside hardware token to respond to challenge from server
- Simple, very secure, not widely supported (yet).
Password Reset Attacks
- Password not always the weakest link
- Sometimes easier to attack account via pw reset
- Gain access to user's email, trigger pw reset on account you want
- 2FA helps, but attackers can socially engineer orgs to disable it
- Facebook offering Delegated Account Recovery as an option
- Uses your FB account instead of email as trusted source for resets
- New protocol, still in closed beta.
Conclusion
- Strong authentication is possible today
- Infosec can't agree on what it looks like
- We still repeat the mistakes that led to bad password policy
- Attackers have learned from real users from the beginning
- Time for defenders to do the same
- Researchers must shift focus from hacker movies to real-world users
- IT should resist checkbox security, question "best practices"
- Requires better security education across the board
- Stop blaming users.
Questions?
Additional Resources