Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.1.14 needs changing after researching this issue #1055

Closed
jmanico opened this issue Sep 23, 2021 · 16 comments
Closed

2.1.14 needs changing after researching this issue #1055

jmanico opened this issue Sep 23, 2021 · 16 comments
Assignees
Labels
1) Discussion ongoing Issue is opened and assigned but no clear proposal yet

Comments

@jmanico
Copy link
Member

jmanico commented Sep 23, 2021

2.1.14 is currently:

[ADDED, SPLIT FROM 2.1.7, LEVEL L1 > L3] Verify that passwords submitted during account registration or password changes are checked against a set of breached username/password pairs. (C6)
After reviewing the various services and talking to both @tghosth and Troy Hunt on this issue, I suggest we change this to:

`[ADDED, SPLIT FROM 2.1.7, LEVEL L1 > L3] Verify that passwords submitted during account registration or password changes are checked against a list of breached passwords. (C6)

@cmlh
Copy link
Contributor

cmlh commented Sep 23, 2021

What defines the "breached password list"?

@jmanico
Copy link
Member Author

jmanico commented Sep 23, 2021

https://auth0.com/breached-passwords describes is briefly. What do you think of:

`[ADDED, SPLIT FROM 2.1.7, LEVEL L1 > L3] Verify that passwords submitted during account registration or password changes are checked against a list of breached passwords discovered in third party data breaches. (C6)

@cmlh
Copy link
Contributor

cmlh commented Sep 24, 2021

I meant "who" defines the passwords in the "breached password list".

I believe we're on the same page to not declare a commercial but free service as the standard similar to @jmanico stance on BugCrowd et al.

Below is the list of breaches defined by Google's Password Manager which is a commercial but free service too:

  • 000webhost
  • 17 Media
  • 1.4B collection
  • 7k7k
  • Adobe
  • Anti-public
  • Badoo
  • Bitly
  • Collection 1-5
  • Dropbox
  • Exploit.in
  • iMesh
  • Imgur
  • Last.fm
  • Lifeboat
  • LinkedIn
  • Mate1
  • Neopets
  • NetEase
  • Nexus Mods
  • Pemiblanc
  • R2Game
  • Rambler
  • Tianya
  • Tumblr
  • VK
  • VN
  • Yandex
  • Youku
  • Zoosk

As far as I am aware @HaveIBeenPwned doesn't publish the same corresponding list of breaches for "Pwned Passwords" as their methodology differs.

@jmanico
Copy link
Member Author

jmanico commented Sep 24, 2021 via email

@cmlh
Copy link
Contributor

cmlh commented Sep 24, 2021

A standard needs to be measured against otherwise the minimum will become acceptable.

Perhaps we should make this into an OWASP Project?

@cmlh
Copy link
Contributor

cmlh commented Sep 26, 2021

I'll give interim approval to PwnedPasswordsTop100k.txt as it is published by NCSC @jmanico until their dataset is public domain.

@jmanico
Copy link
Member Author

jmanico commented Sep 26, 2021 via email

@elarlang
Copy link
Collaborator

Related issue and discussion: #841

@Sjord
Copy link
Contributor

Sjord commented Sep 30, 2021

a set of breached username/password pairs.
a list of breached passwords.

I agree. I think this is an improvement. I think this requirement can be more clear on that passwords that are in the list should be denied immediately.

I don't think we need to be specific which list should be used. For non-English sites it may make sense to use a non-English list. Some developers may prefer using an API over a static word list.

@jmanico
Copy link
Member Author

jmanico commented Sep 30, 2021 via email

@cmlh
Copy link
Contributor

cmlh commented Sep 30, 2021

I don't think we need to be specific which list should be used. For non-English sites it may make sense to use a non-English list. Some developers may prefer using an API over a static word list.

PwnedPasswordsTop100k.txt isn't limited to English.

Will ASVS mitigate https://cablej.io/blog/k-anonymity/ of the upstream API too?

@jmanico
Copy link
Member Author

jmanico commented Sep 30, 2021

I am not sure, and I think the password list is a good resource to add at the end of the section.

There are MANY ways to address credential stuffing other than the
PwnedPasswordsTop100k.txt list. That is why we need the requirement to be something other than using that specific list.

@cmlh
Copy link
Contributor

cmlh commented Sep 30, 2021

There are MANY ways to address credential stuffing other than the PwnedPasswordsTop100k.txt list. That is why we need the requirement to be something other than using that specific list.

I believe ASVS should mandate a minimum standard but have actioned #1061 in the interim.

@jmanico jmanico self-assigned this Sep 30, 2021
@jmanico jmanico added the 1) Discussion ongoing Issue is opened and assigned but no clear proposal yet label Sep 30, 2021
@jmanico
Copy link
Member Author

jmanico commented Oct 13, 2021

Christian I'm closing this out now as the original issue is solved, but I'll take a PR where https://www.ncsc.gov.uk/blog-post/passwords-passwords-everywhere#:~:text=PwnedPasswordsTop100k.txt is listed as a reference at the end of the section. If you give me an ok I'll take it on as well.

@jmanico jmanico closed this as completed Oct 13, 2021
@cmlh
Copy link
Contributor

cmlh commented Oct 13, 2021

I can rename #1061 Pull Request and then resubmit #1061 Pull Request from a different branch @jmanico

Also #1071 is missing the list of Google's Password Manager above i.e. #1055 (comment)

@jmanico
Copy link
Member Author

jmanico commented Oct 13, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1) Discussion ongoing Issue is opened and assigned but no clear proposal yet
Projects
None yet
Development

No branches or pull requests

5 participants