Slide 1

Slide 1 text

TO •••• WITH PASSWORDS Jacob Kaplan-Moss [email protected]

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

!

Slide 4

Slide 4 text

Agenda 1. Introduction to threat modeling 2. Apply threat modeling to identity systems and discover that passwords are the root of many problems. 3. If not passwords, then what?

Slide 5

Slide 5 text

THREAT MODELING

Slide 6

Slide 6 text

Scenario-Based Threat Modeling 1. Scenario: tell a story about an imagined breach 2. Pre-mortem: trace contributing events 3. Mitigate: figure out where and how best to mitigate Photo by You X Ventures

Slide 7

Slide 7 text

Threat Modeling Example — https://twitter.com/badthingsdaily/status/836984397819596800

Slide 8

Slide 8 text

Threat Modeling Example Issue Mitigation CI/CD servers have over- scoped AWS keys Evidence: enable CloudTrail Contain: IAM roles Eliminate: pull-based deploys Code contains OAuth secrets Prevent: move keys to env Eliminate: use Vault/KMS

Slide 9

Slide 9 text

THREAT MODELING PASSWORDS

Slide 10

Slide 10 text

THREAT MODELING PASSWORDS: CLASSIC ATTACKS

Slide 11

Slide 11 text

Shoulder Surfing Scenario: Jack, a disgruntled employee watches Alberta, the CFO, log in, and remembers her password. He can now use her password to embezzle funds. Photo by David Rangel

Slide 12

Slide 12 text

Shoulder Surfing Issue Mitigation Jack saw Alberta's password Prevent: masked input Prevent: password complexity Jack can re-use Alberta's password (much) later Contain: password rotation Prevent: password complexity Eliminate: 2FA

Slide 13

Slide 13 text

Password File Leak Scenario: a vulnerability in ping allowed Jack to read /etc/passwd1, which has everyone's passwords in it. 1 Yes, I'm aware of /etc/shadow. I'm using this for simplicity. Photo by Matthew Brodeur

Slide 14

Slide 14 text

Password File Leak Issue Mitigation Why didn't we fire Jack after the last time? ¯\_(ϑ)_/¯ Jack can read anyone's password Prevent: hashed passwords Prevent: password complexity Jack can log in as anyone Contain: password rotation Eliminate: 2FA

Slide 15

Slide 15 text

Classic Password Threat Mitigations • Masked input • Password complexity • Password rotation • Hashed passwords • Two-Factor authentication Are these mitigations effective?

Slide 16

Slide 16 text

The only effective security measures are systemic AKA: "humans gonna human"

Slide 17

Slide 17 text

The idea that a person is at fault when something goes wrong is deeply entrenched in society. […] More and more often the blame is attributed to “human error.” The person involved can be fined, punished, or fired. But […], human error usually is a result of poor design: it should be called system error. Humans err continually; it is an intrinsic part of our nature. System design should take this into account. Pinning the blame on the person may be a comfortable way to proceed, but why was the system ever designed so that a single act by a single person could cause calamity? — Donald Norman, The Design of Everyday Things

Slide 18

Slide 18 text

Password complexity and rotation don't work

Slide 19

Slide 19 text

Verifiers SHOULD NOT impose other composition rules (e.g., requiring mixtures of different character types or prohibiting consecutively repeated characters) for memorized secrets. Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily (e.g., periodically). — NIST SP 800-63B

Slide 20

Slide 20 text

THREAT MODELING PASSWORDS: MODERN ATTACKS

Slide 21

Slide 21 text

Phishing Scenario: Yesterday your CEO received an email that seemed to be from her admin, asking her to review some expenses on Dropbox. She followed the link, and entered her Dropbox account. Today, she realized when talking to her admin that he hadn't sent that email.

Slide 22

Slide 22 text

Phishing Issue Mitigation The attacker has access to your Dropbox Prevent: 2FA Your CEO may have used her Dropbox password elsewhere Contain: Password managers Your CEO couldn't tell the difference between the phishing site and the real Dropbox Eliminate: U2F

Slide 23

Slide 23 text

Credential Stuffing Scenario: A service you use announces that they've been breached, and that the attackers have everyone's email and passwords. Several of your staff use the same password for their corporate email..

Slide 24

Slide 24 text

Credential Stuffing Issue Mitigation Password re-use Respond: monitor @haveibeenpwnd Contain: password managers Elminate: 2FA Elminate: SSO

Slide 25

Slide 25 text

Common mitigations against modern attacks on passwords • Password managers • 2FA (especially U2F) • Single-sign on (SSO) Are these mitigations effective?

Slide 26

Slide 26 text

Password managers remain out of reach for most normal computer users But I never found a way to get people onto 1password in a single training session. The setup process has a lot of moving parts, involving the desktop app, browser plugin, online service, mobile app, and app store. It requires repeatedly typing a long master passphrase. And then, once it is all set up, you have to train people on the unrelated skill of how to use the thing, starting with their most sensitive accounts. And then you leave. — Maciej Cegłowski, What I Learned Trying to Secure Congressional Campaigns

Slide 27

Slide 27 text

Single sign-on is terrifically effective!

Slide 28

Slide 28 text

SUMMARY: MITIGATIONS FOR PASSWORD THREATS

Slide 29

Slide 29 text

Mitigation Effectiveness Usability Masked input not effective ! Password complexity high, when used correctly ! Password rotation not effective " Hashed passwords moderate, when used correctly — Password managers high, if actually used ! 2FA (especially U2F) very effective ! Single-sign on (SSO) very effective # ✨ %

Slide 30

Slide 30 text

If U2F is more secure than passwords, why use passwords? If SSO is more than passwords, why use passwords?

Slide 31

Slide 31 text

! WHAT IF PASSWORDS ARE THE PROBLEM?

Slide 32

Slide 32 text

What would happen if we got rid of passwords? • Shoulder surfing? • Password leaks? • Phishing? • Credential Stufffing? None of these attacks are effective if users don't have passwords to steal.

Slide 33

Slide 33 text

TO •••• WITH PASSWORDS!

Slide 34

Slide 34 text

If not passwords... what then? • Federated identity (Facebook, Google, Github, etc) • Email login • Corporate identity (SAML/OIDC)

Slide 35

Slide 35 text

Federated Identity • Great for most consumer-oriented identity systems • UX is good, though beware of too many identity options. • Unfortunately, forces a tradeoff between privacy and security. • I dream about IndieAuth become widespread, but don't hold your breath.

Slide 36

Slide 36 text

Email-only login • More or less the same as Federated Identity, except using email • Traditional security people will feel weird about this. They're wrong.

Slide 37

Slide 37 text

GOOGLE'S SECURITY TEAM IS BETTER THAN YOURS

Slide 38

Slide 38 text

Corporate Identity • Almost every company with good security practices uses some sort of corporate identity provider. If you're selling to businesses, you need to support this. • Two standards: SAML and OpenID Connect. Implement SAML first.

Slide 39

Slide 39 text

TO •••• WITH PASSWORDS! Stop using passwords. The alternatives are easier to use and more secure. Only roll your own identity system if you know what you're doing. Thanks! Jacob Kaplan-Moss [email protected]

Slide 40

Slide 40 text

Further Reading • Post- and pre-mortem practice: The Infinite Hows (or, the Dangers Of The Five Whys) • A fun source for scenarios: @badthingsdaily • Data on real-world attacks: • Data Breach Information Report • BusinessInsider ($$$) • Cost of Data Breach Report • On mitigation: The “Five Factors” Used To Secure Systems