Slashdot Mirror


'Username or Password is Incorrect' Security Defense is a Weak Practice (hackernoon.com)

Travis Jeffery, writing for HackerNoon: There's a security best practice where sign ins aren't supposed to say "password is incorrect." Instead they're supposed to say the "username or password is incorrect." This "best practice" is bullshit. Stripe's and GitHub's sign ins for example follow this practice. The idea is if an attacker knows a username, he or she could concentrate on that account using SQL injection, brute forcing the password, phishing, and so on. Here's the problem. All a hacker has to do is sign up to know whether the username is valid or not. Why bother then with obfuscating the sign in? Only the dumbest, laziest hacker is stopped by the "username or password is incorrect" sign in. You gain no security, yet your customers lose clarity. Stripe has their form submission behind reCAPTCHA to prevent naive scripts attacking their sign up. However this has been broken multiple times and likely won't ever be perfect. Even if reCAPTCHA was perfect, a hacker could manually validate their usernames of interest by trying to sign up, then automate an attack on the sign in page.

249 comments

  1. Except by Anonymous Coward · · Score: 5, Insightful

    The user may have entered either the password OR username incorrectly. So saying "password is incorrect" could be misleading.

    1. Re:Except by cyberchondriac · · Score: 2

      The user may have entered either the password OR username incorrectly. So saying "password is incorrect" could be misleading.

      And that there could be the end of the discussion. Not everyone saves their username creds in their browser.

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
    2. Re: Except by Anonymous Coward · · Score: 0

      Yeah, the submitter is an idiot and clearly didnâ(TM)t think about the possibility that someone accidentally typed a different (but valid) account name and their correct password

    3. Re:Except by GavrocheLeGnou · · Score: 1

      The point of the article being that you should show a message saying "Username/email is not found" if you can't find the username/email in the database.

    4. Re: Except by Anonymous Coward · · Score: 2, Insightful

      And if it is the database?

      jsmith
      jsmith1
      jasmith

      etc

    5. Re:Except by Anonymous Coward · · Score: 0

      There could be the case where a user enters a valid username, but it's not theirs (typo), along with their password. The login system doesn't know any better, just that the password given does not match that of the given username.

    6. Re:Except by Anonymous Coward · · Score: 0

      But we're discussing the case where the username/email IS found in the database. The user tries to log in with a valid name, but mistypes and enters a different (but also valid) name instead. The password doesn't match but it is correct - it's the username that is typed incorrectly.

    7. Re: Except by bluelip · · Score: 4, Interesting

      ...or that not all systems allow a user to create their own accounts.

      --

      Yep, I never spell check.
      More incorrect spellings can be found he
    8. Re:Except by guruevi · · Score: 3, Insightful

      Then you say "username incorrect" or "password incorrect" as appropriate. You generally do the username lookup first anyway so the logic could be short circuited.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    9. Re: Except by Anonymous Coward · · Score: 0

      You're absolutely right. Since there is no universal solution it is better to leave it as is, rather than to fix what we can.

      Goit.

      (And in case the "goit" did not make it obvious, that was sarcasm.)

    10. Re:Except by Dragonslicer · · Score: 1, Insightful

      You generally do the username lookup first anyway so the logic could be short circuited.

      Doesn't most software check username and password with a single query?

    11. Re:Except by SScorpio · · Score: 1

      If it's a database lookup the search should be against the username and password together.

      The message should be incorrect password, or user doesn't exist.

      Validating that the username/email is valid but the password is incorrect is leaking the information that a certain user account exists.

    12. Re:Except by aix+tom · · Score: 1

      Then you say "username incorrect" or "password incorrect" as appropriate. You generally do the username lookup first anyway so the logic could be short circuited.

      The thing is, the system has no way of knowing which case is appropriate. It could be the password is wrong, or it could be the password is right, but the user name is mistyped to another existing user.

    13. Re:Except by darkain · · Score: 1

      Apparently you didn't even read the summary. This particular case was already covered right there.

    14. Re:Except by jellomizer · · Score: 4, Insightful

      Also this argument seems focused around consumer level sites, where people can make their own accounts. Systems with data that they are really trying to secure, has an Administrator create an account, and not the end user.
      Also the level of complexity to try to check if a new account is used or not, by making a login into the system, is a bit harder then just trying the login screen. Meaning the hacker will need to be more particular to the system they are trying to break into. As other then trying to put in 2 data points login name/password, it will need to navigate the account creation page.
      Finally if you setup your security in your system in a better way the computer really doesn't know if it was your login or your password was incorrect. You really shouldn't be loading the Account object until after authentication is confirmed.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    15. Re: Except by comodoro · · Score: 1

      What is this whole thread about? If it is in the database, it is correct and we can concentrate on the password, or am I missing something?

    16. Re: Except by Anonymous Coward · · Score: 1

      Are you retarded?

      What don't you understand about the problem...

      How do you know that they put in the right password for the wrong account, versus the wrong password for the right account?

      You are a fucking imbecile.

    17. Re:Except by jb_nizet · · Score: 3, Informative

      No, because that would mean the password is stored in clear text in the database, or hashed but not salted randomly, which would be a much bigger security problem.

      To securely verify credentials, you get the random salt and hashed password of the user, thanks to the provided login, in the database. Then you salt the password and hash it, and compare the result with the password you got in the database.

    18. Re: Except by Zero__Kelvin · · Score: 3, Insightful

      This has to be the most stupid thing I've seen argued about on Slashdot in years. It is possible that someone may mistype a username or a password. In the former case it is possible such a user exists that is not the intended user. If they try to log in and mistype but there is a username that matches it is still possible the username is incorrect and not the password. The system has no way of knowing. In the end, no pertinent additional information is conveyed by adding additional checks and serving up a different message when the user doesn't exist. There is added complexity with no benefit.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    19. Re:Except by Dragonslicer · · Score: 1

      You can check a salted password just fine in a single database query; I know, I've done it before. As mentioned below, the issue is whether or not the database has a built-in function for the newer hashing algorithms.

    20. Re:Except by mwvdlee · · Score: 1, Informative

      While we're being pedantic assholes; the user may have entered the correct username and password, but for a different website. So saying "username or password is incorrect" could also be misleading.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    21. Re: Except by RightwingNutjob · · Score: 1

      Quite true. When all you know is web and apps, you don't know how computers are used outside of web and apps.

    22. Re:Except by Kenja · · Score: 1

      That's why I write all my error messages to say "new database, who dis?"

      --

      "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    23. Re:Except by Anonymous Coward · · Score: 0

      Who would they know that if you typed guruevo and your password if it was you mistyping your name or the real guruevo mistyping her password?

    24. Re: Except by Anonymous Coward · · Score: 2, Informative

      If it is the database, it is a valid username (or once was), but that doesn't mean that it is *correct*.

      If I'm jsmith1 and try to log in as jsmith with my password, then it'll fail. Why did it fail? Depending on your perspective it failed either because of a wrong password (it wasn't jsmith's password!) or a wrong username (password was correct, but username was wrong).

      The whole point of the article is to have something like "oh you used the wrong username" if the username is invalid. Fine, you can do that if the username isn't in the database. But if it IS in the database, the best you can say is that either the username is incorrect, the password is incorrect, or both are incorrect. If the username's in the database you still don't know if the user typed it right or not...

    25. Re:Except by ls671 · · Score: 1

      Still, it is a single query. Example, see " // ONLY ONE QUERY!!!!" below:

      public User login(String userName, String passwd)
                              throws LoginException {
                      if (userName != null) {
                              userName = userName.trim();
                      }
                      if (userName == null || passwd == null || userName.length() 1
                                      || passwd.length() 4) {
                              throw new LoginException("No such user/passwd found");
                      }

                      Session hsession = HibernateUtil.currentSession();
                      Query query = hsession.createQuery("from User where userName=:userName");
                      query.setCacheable(true);
                      query.setString("userName", userName);
                      User user = (User) query.uniqueResult(); // ONLY ONE QUERY!!!!
                      if (user == null) {
                              throw new LoginException("No such user/passwd found");
                      }
                      passwd = HashUtil.get(user.getSalt(), passwd);
                      long userStatus = UserConstants.USER_STATUS_WAITING_FOR_EMAIL_CONFIRM
                                      + UserConstants.USER_STATUS_WAITING_FOR_PASSWORD_RESET
                                      + UserConstants.USER_STATUS_DISABLED
                                      + UserConstants.USER_STATUS_QUARANTINE;
                      if (user.getPassword() == null || !user.getPassword().equals(passwd)
                                      || (user.getStatus() & userStatus) != 0) {
                              throw new LoginException("No such user/passwd found");
                      } else {
                              user.setLastLoginDate(new Date());
                              hsession.save(user);
                              return user;
                      }
              }

      --
      Everything I write is lies, read between the lines.
    26. Re: Except by Obfuscant · · Score: 1

      What is this whole thread about? If it is in the database, it is correct and we can concentrate on the password, or am I missing something?

      The point is, I may have miss-entered my username (but it does belong to someone else) while entering my correct password. If you tell me "the password is incorrect" that's incorrect. It's the correct password, just the wrong username, for me.

    27. Re:Except by Obfuscant · · Score: 1

      You can check a salted password just fine in a single database query; I know, I've done it before.

      Ahh, the wisdom that comes with age. For absolutely DECADES, Unix stored both the username and encrypted password in the same file, both retrieved at the same time. It's amazing how some people claim that the things Unix did on a routine basis are impossible.

    28. Re:Except by Paradise+Pete · · Score: 1

      The user may have entered either the password OR username incorrectly. So saying "password is incorrect" could be misleading.

      Well, yeah. That's the point. Just tell them if the username doesn't exist. If the name is valid, tell them the password is wrong.

    29. Re:Except by Anonymous Coward · · Score: 0

      Great point. Unambiguous language is best language. Recommendation: "Password is incorrect for provided username."

    30. Re: Except by Paradise+Pete · · Score: 1

      The message should say "that password is not correct for the account [whatever you typed]." That's certainly better than "at least one of those two is wrong and I'm not telling you which."

    31. Re: Except by Anonymous Coward · · Score: 0

      The point is, I may have miss-entered my username (but it does belong to someone else) while entering my correct password. If you tell me "the password is incorrect" that's incorrect. It's the correct password, just the wrong username, for me.

      It's not the login system's purpose to allow for stupidity or typos; quite the opposite, it's its job to refuse entry to anyone who doesn't present a valid ID & password pair. If you entered an invalid username, that's a PEBKAC error, not the security system's problem.

      In order not to drop hints, a vague "ID & password combination not recognized" is a smart response, otherwise you get into potential for something akin to a social engineering exploit.

    32. Re: Except by Wycliffe · · Score: 1

      The point is that there are plenty of hints that can make it easier on your legitimate customer while not decreasing your security. It's rather trivial to validate a username or email in most systems so it doesn't add to security to inconvenience your legitimate customer by being intentionally vague.

    33. Re:Except by fropenn · · Score: 1

      Of course, it could be A username but not YOUR username, which would make it incorrect for you even though it might show up in the database. Alternatively, you would never tell a user that they entered the "correct" password but the wrong username! So why tell them that the username is "correct" if it doesn't match with the password?

      Importantly, multiple attempts to log-in using someone else's (correct) username could lock them out of the system thus resulting in an inconvenience to the other user who has to call on the phone (in many cases) to get it unlocked.

    34. Re: Except by Anonymous Coward · · Score: 0

      Yeah, tell them "that password is for another account!" So all they need is to try it on other accounts . . .

    35. Re: Except by vux984 · · Score: 1

      " It is possible that someone may mistype a username or a password."

      Ok. So if they enter a username that is not in the system, it should still say "username not valid". Sure, yes, its possible you mistyped your username with another valid user name... and the system can't know... but in a lot of cases the system assuredly does know the username does NOT exist. So in those cases it should say so.

      In the case you describe, it should just say, 'This is not not usernames password; ensure both username and password are correct."

      "In the end, no pertinent additional information is conveyed by adding additional checks and serving up a different message when the user doesn't exist."

      Of course there is. In the case username doesn't exist, and it tells me so, then I KNOW I've got the wrong username and I don't have to worry about whether my password was wrong.

    36. Re: Except by Wycliffe · · Score: 2

      We regularly get calls from irate customers who are unable to log in to our website and it's not at all uncommon for them to be either trying to log into one of our competitor's sites or trying to use credentials for our competitor's site on our site.

    37. Re: Except by Obfuscant · · Score: 1

      The message should say "that password is not correct for the account [whatever you typed]." That's certainly better than "at least one of those two is wrong and I'm not telling you which."

      It means exactly the same thing. "Username/password error" means "at least one of the two is wrong, and I'm not telling you which."

    38. Re: Except by burtosis · · Score: 1

      This has to be the most stupid thing I've seen argued about on Slashdot in years.

      I'm just wondering if the last time you logged on was years ago. CowboyNeal would never have stood for this nonsense.

    39. Re:Except by Anonymous Coward · · Score: 0

      Even if they do, sometimes they want to log on from somewhere else.
      Otherwise you should probably use certificates instead.

    40. Re:Except by angel'o'sphere · · Score: 1

      As the password should be hashed and salted, likely no.
      On the other hand, you probably would querry for the user and retrive everything that is relevant, which would include the salted, hashed passwd.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    41. Re: Except by Anonymous Coward · · Score: 0

      Holy shit, are you fucking retarded?

      You're suggesting the system divine what account name they actually meant when they entered the wrong account?

      It's unbelievable that so many ostensibly technical people in this discussion can't fathom this incredibly basic concept...

    42. Re: Except by Calydor · · Score: 1

      "Access Denied. Please verify username and password are both correct."

      --
      -=This sig has nothing to do with my comment. Move along now=-
    43. Re: Except by Dragonslicer · · Score: 1

      As I said above, the last time I did a user authentication system for a web site, salting and hashing was done by the database in the query. Salting was just string manipulation, and the database had a built-in function to do the hashing. There's no reason that databases can't have those as built-in functions, and, in my personal opinion, no reason they shouldn't.

    44. Re:Except by omnichad · · Score: 1

      Wouldn't sending the unhashed password on to the database server be an unnecessary security risk? You query for salt+hash and compare in-software with what was sent so that only one place has to see the plaintext password.

    45. Re: Except by Zero__Kelvin · · Score: 1

      Sorry you can't read :-(

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    46. Re: Except by Paradise+Pete · · Score: 1

      You're suggesting the system divine what account name they actually meant when they entered the wrong account?

      <eyeroll>Yes, that's exactly what I was suggesting.</eyeroll>

    47. Re: Except by vux984 · · Score: 1

      If I've misunderstood you, perhaps it's because you can't write?

    48. Re: Except by Paradise+Pete · · Score: 1

      Yeah, tell them "that password is for another account!" So all they need is to try it on other accounts . . .

      No, that's not a possible state. If the user name is not valid, tell them that. Otherwise, either log them in or tell them password is incorrect.

    49. Re: Except by Paradise+Pete · · Score: 1

      It means exactly the same thing. "Username/password error" means "at least one of the two is wrong, and I'm not telling you which."

      Yes, the two things you typed mean essentially the same thing. I said something different.

    50. Re: Except by Paradise+Pete · · Score: 1

      "Access Denied. Please verify username and password are both correct."

      You are simply rephrasing the current state of things. What this author is suggesting is that if the username is not valid, tell them. Otherwise either log them in or tell them the password is incorrect.

    51. Re: Except by Zero__Kelvin · · Score: 1

      Nope

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    52. Re:Except by ShanghaiBill · · Score: 1

      No, because that would mean the password is stored in clear text in the database, or hashed but not salted randomly

      Those are not the only alternatives. For instance, you can salt the password with the username.

      $hashedPw = SHA512("username,correcthorsebatterystaple");
      $userInfo = lookupUser("username", $hashedPw);

      This is just as effective as using random salt at preventing the use of rainbow tables.

    53. Re: Except by Dragonslicer · · Score: 1

      That's definitely a good thing to consider. If the web server and database and are on the same machine, or at least the same local network, it shouldn't be a problem. If they aren't on the same local network, and you can't be sure of the security between the servers, then it's probably better not to send passwords in plain text.

    54. Re: Except by Anonymous Coward · · Score: 1

      And the article only applies to a service which allows random people to sign up.

      My bank, for example, only lets you sign up if you're a customer, there's no portal where you get to pick a username.

    55. Re:Except by pr0fessor · · Score: 1

      It is true that they could have typed a username that already exist but is not the one they intended (especially with popular service) which means they still are getting "invalid username or password" as an error but if the username doesn't exist then an error that specifies the username is invalid would be nice.

    56. Re:Except by Anonymous Coward · · Score: 0

      Also this argument seems focused around consumer level sites, where people can make their own accounts.

      It really does seem like that is what the writer meant.
      It's a real shame that what the writer said was completely different, which makes the entire argument factually incorrect.

      Google and Facebook sure do accept signups, and had the writer only limited their argument to the scope of public services, they may have had a point worth reading.

      Unfortunately they implicitly stated *all signups*, with any machine anywhere.

      Thus they are factually incorrect. My home network for example does not accept signups. Nor does the work network I manage.

      In both of those cases the work around claimed will not function. As they said it is true in all cases, that makes the whole claim false.
      Since they can't even tell the difference between a login screen for a service that accepts signups and a login screen that does not, it's not really worth anyone's time entertaining their broken claims.

    57. Re: Except by Obfuscant · · Score: 1

      Yes, the two things you typed mean essentially the same thing. I said something different.

      You said:

      The message should say "that password is not correct for the account [whatever you typed]." That's certainly better than "at least one of those two is wrong and I'm not telling you which."

      Those two things MEAN EXACTLY THE SAME THING. "The password not being correct for the account you typed" means at least one of the two is incorrect and they didn't tell you which. There are four possible cases. Three of them are either the username or password being incorrect, or both. Neither of your suggested statements identifies which is wrong. The fourth case is both are correct.

    58. Re:Except by Anonymous Coward · · Score: 0

      You may type a valid username by mistake, just not the one corresponding to your password... Which of "username incorrect" or "password incorrect" is appropriate, then ?

    59. Re:Except by fahrbot-bot · · Score: 1

      Then you say "username incorrect" or "password incorrect" as appropriate. You generally do the username lookup first anyway so the logic could be short circuited.

      And if the mistyped username actually exists, but isn't yours - and you typed your password correctly?

      --
      It must have been something you assimilated. . . .
    60. Re: Except by angel'o'sphere · · Score: 1

      Which database is that and how would the query look like?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    61. Re: Except by bn-7bc · · Score: 1

      I mighthave missed something (in that case sorry, bur here is my sygestion If the usernam exsists and th password is correct log the user in, if the usernsme exsists but the password does not match the one stored , return invalid password for $user, if the user account is not in the db return user not found. Clear info to the user, ok a possible chanse of devulging a log in name but the risks posed by that can bi mitigared by setting a 1 minute timeot for loginatemptrs to an account after 5 faild atempts, this shuld be enugh to kill brute fourcevatacs but small enugh not to annoy users

    62. Re: Except by Anonymous Coward · · Score: 0

      Are you trying to be intentionally obtuse?

      Obfuscant's recommended response gives more information than the alternative.

      If the user 'johndoe' accidentally typed 'johndow', with the correct password, and the system responded with "The password is not correct for the account johndow.", Then johndoe would immediately know that he fat fingered his username, rather than scratch his head trying to remember when he changed his password.

    63. Re:Except by Anonymous Coward · · Score: 0

      username, password or site is incorrect.

    64. Re: Except by Anonymous Coward · · Score: 0

      And then if an intruder tries to log in and doesn't get that message, well now there's confirmation that the account exists and is ready and waiting to be broken into.

    65. Re: Except by Anonymous Coward · · Score: 0

      It doesn't matter if it's 1 or 2 queries... look at the code you pasted, you are throwing same exception with same message 3 different places but the conditions are different... TFS says there could be 3 different messages in your case... tell users what actually went wrong. Didn't find username in database? Given password incorrect for given username? Or whatever.

    66. Re: Except by Dragonslicer · · Score: 1

      MySQL and Postgres, but I would assume MSSQL and Oracle have the same functions. The condition is just something like "WHERE username = 'username' and password = SHA1(salt + 'password')" (obviously with bound parameters and stuff).

    67. Re: Except by Anonymous Coward · · Score: 0

      I for one wouldn't say storing the username and encrypted password together are impossible, just brilliantly stupid. I mean, encrypting passwords is bad, only slightly better than plain text.

    68. Re: Except by Paradise+Pete · · Score: 1

      Those two things MEAN EXACTLY THE SAME THING.

      The [whatever you typed] part is not literal. It would actually be what the user entered for the account.

    69. Re:Except by Anonymous Coward · · Score: 0

      What if the username is valid but incorrect? The site doesn't know if you entered your username or accidentally entered someone else’s?

    70. Re:Except by guruevi · · Score: 1

      Password incorrect obviously. Given the username typically remains visible it's less likely to happen.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    71. Re: Except by Anonymous Coward · · Score: 0

      They could read? The username isn't obscured...

    72. Re: Except by angel'o'sphere · · Score: 1

      Interesting.
      Looks like a kind of function call, is that 'standard SQL' (standard as in 'common')?.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    73. Re: Except by Dragonslicer · · Score: 1

      PostgreSQL and MySQL both have MD5 and SHA1 functions built-in, and I would assume MSSQL and Oracle do too. As I said above, I don't know what they have for newer hashing functions, but there's certainly no technical reason that they can't have all of the same hashing functions that any other cryptography library has.

    74. Re: Except by Anonymous Coward · · Score: 0

      If I've misunderstood you, perhaps it's because you can't write?

      Just to add to what the actual poster already responded to you: Nope.

      To be clear, you need to accept that you are sometimes wrong, you are not infallible, and you getting things wrong is sometimes the fault of you and not anyone else. This is one such case. This one is all on you. Accept it. Deal with it. Move on.

    75. Re: Except by Anonymous Coward · · Score: 0

      An existing username, which has been blocked for use, is still an invalid account...

    76. Re: Except by Riceballsan · · Score: 1

      well the point is the error message is to give the person a clue as to why it didn't work, IE hint to them that they need to look at the username or password. If making it easier on dumb users wasn't the idea, "login failed" or simply "wrong" is easier than any of them. It isn't particularly helpful to someone non computer savy enough to understand the possible reasons why. The point of the message is to idiot resistant at least the question of "why can't I log in".

  2. Unless... by Anonymous Coward · · Score: 5, Insightful

    There's no publicly available 'sign up' option.

    1. Re:Unless... by Breakerofthings · · Score: 1

      Exactly

    2. Re:Unless... by MightyYar · · Score: 5, Interesting

      The other thing is I may not want people knowing whether or not I have signed up for a service... Does MightyYar have an account at BigFatBootyMamas? Yes, yes he does. I don't care if you can sign in and see the beautiful ladies on my dime, but I don't want it to be easy for people to check my email address against random websites looking for where I have accounts.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    3. Re:Unless... by mysidia · · Score: 2

      There's no publicly available 'sign up' option.

      Even then, sometimes the publicly available sign up option requires more intensive/time-exhausting work than simply logging in.

      For example: you might specify your e-mail address, then be sent an e-mail with a link to continue the signup process.

      You might have to specify your E-mail address before attempting to pick a username,
      and the username availability test will be delayed, and the number of usernames you can check per e-mail address will be limited,
      AND Some usernames that aren't actually in use will be shown as Unavailable --- for example, Simple dictionary words, and
      simple dictionary words appended by 1 or 2 digits might be pre-reserved.
      ; The username is not in use but will show as Unavailable during signup.

    4. Re:Unless... by slyborg · · Score: 2

      What kind of cretin signs up for anything sketchy with their main identity? If this is your concern you have more basic Internet skills deficiencies.

    5. Re:Unless... by Anonymous Coward · · Score: 0

      I was going to say the same thing. This practice started long before public registration was a thing.

    6. Re:Unless... by JohnFen · · Score: 2

      This.

      I honestly worry about people who only have one identity they use for all purposes on the internet.

    7. Re:Unless... by gweihir · · Score: 2

      Or it is much more carefully rate-limited than the login-option or captcha'ed. Seriously, what is bullshit here is the "story".

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    8. Re:Unless... by jellomizer · · Score: 1

      Well he seems to be using is same login for Slashdot as the other sites. So he is using a different login for sketchy sites.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    9. Re:Unless... by tepples · · Score: 1

      I don't want it to be easy for people to check my email address against random websites looking for where I have accounts.

      If someone tries to create an account for mightyyar@zorlonmail.example, then you'll receive the confirmation message instead of the attacker.

    10. Re: Unless... by Zero__Kelvin · · Score: 1

      So you are saying "slyborg" isn't your main identity?

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    11. Re:Unless... by Obfuscant · · Score: 2

      If someone tries to create an account for mightyyar@zorlonmail.example,

      They're not trying to create an account, they're running email addresses through the login process. If the login process normally fails with "no such user", and it does not fail that way with "mightyyar@zorlonmail.example", then you know that MightyYar has an account there. It's worse than just using a username, since anyone could have the username "MightyYar", but only one mailbox "mightyyar@zorlonmail.example" can exist.

      If it fails with "username or password incorrect" you don't know nothin.

      then you'll receive the confirmation message instead of the attacker.

      If a website sends a confirmation email for a login attempt, or for an attempt to create an account that already exists, then it is a mailbomb waiting to happen. The victim getting the "confirmation message" is the goal, not the deterrent.

    12. Re: Unless... by Wycliffe · · Score: 1

      The point is that on most systems it's easy to check for an existing account during account creation so this information is already leaking. The only way for it not to leak would be to not notify someone that the account already exists during account creation.

    13. Re:Unless... by Dayze!Confused · · Score: 1

      Other than Slashdot I don't know of a site that lets me use my username.

      --
      "All tyranny needs to gain a foothold is for people of good conscience to remain silent." [Thomas Jefferson]
    14. Re:Unless... by pr0fessor · · Score: 1

      The account sign up on some will tell if an account exists just by popping it into the username field on the form without submitting it (like gmail) others you have to submit before you know (even the ones that use your email from another service as the username) but it's still quicker to script it out to verify the accounts before you try them.

    15. Re: Unless... by MightyYar · · Score: 1

      Maybe for a username, but the "I forgot my username" button where they send it to your email should return a generic message after submission.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    16. Re:Unless... by MightyYar · · Score: 1

      It's not "sketchy", it's embarrassing. If you are handing them your credit card, what purpose does using a fake email serve?

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    17. Re: Unless... by Wycliffe · · Score: 1

      Maybe for a username, but the "I forgot my username" button where they send it to your email should return a generic message after submission.

      I'm not talking about "forgot my password". I'm talking about just trying to create a new account for that email address. Most sites will stop you and won't let you create a second account and will tell you that you already have an account for that email address. And most sites now use the email address as the username.

    18. Re: Unless... by Anonymous Coward · · Score: 0

      And fixing that would be the correct way to solve the security problem posed in the summary. The fix is as simple as letting you continue the account creation process with a registered email, just like it would for an unregistered email, but when sending the validation email, instead let the email account holder know someone was trying to sign up that address and that they already have an account.

    19. Re: Unless... by MightyYar · · Score: 1

      Right, what the site should say is "Please click on the link in the confirmation email to continue your registration." The email can contain the actual detail as to whether you are trying to duplicate a registration or not.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  3. One of many... by Anonymous Coward · · Score: 0

    It is 2017 and people still hide SSID's and think it accomplishes something. You still have arguments that DROP on a firewall is better than REJECT rather than just rate limiting error responses.

    Smart people do pointless things all the time for feels. We say we don't but we do. This is no different.

    1. Re:One of many... by omnichad · · Score: 1

      Hiding SSIDs isn't without merit. Not for security, but let's say you're a hotel with a guest network. Hiding the staff network would decrease support calls, because everyday users won't see and won't try to connect to the wrong one.

  4. Non sequitur. by msauve · · Score: 5, Insightful

    "Only the dumbest, laziest hacker is stopped by the "username or password is incorrect" sign in. You gain no security, yet your customers lose clarity."

    By your own admission, you gain, at the very least, security from dumb, lazy hackers.

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
    1. Re:Non sequitur. by dbialac · · Score: 1

      And an extra bit of security in situations where there isn't a sign-up process for the general public, for example in a corporate network.

    2. Re:Non sequitur. by squiggleslash · · Score: 1

      That's what the article claims but I don't think that's correct either. I think the lazy dumb hacker will continue to use the most likely username, and will do that because the most likely username is the likely username. So in 99% of cases, it'll still offer no protection, even to a "lazy hacker".

      We should probably use email addresses, and preferably federated 2FA authentication systems anyway. It's easier for the user, and means the security can be centralized.

      --
      You are not alone. This is not normal. None of this is normal.
    3. Re:Non sequitur. by Anonymous Coward · · Score: 0

      2FA authentication systems

      This name brought to you by the Department of Redundancy Department.

    4. Re:Non sequitur. by jez9999 · · Score: 1

      By your own admission, you gain, at the very least, security from dumb, lazy hackers.

      And you lose a convenience for the user who can't remember what username they signed up with.

    5. Re: Non sequitur. by Zero__Kelvin · · Score: 2

      And telling them it doesn't exist helps them remember how?

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  5. Requisite XKCD by Zorro · · Score: 1

    https://xkcd.com/936/

  6. Simple Solution by Anonymous Coward · · Score: 0

    Option 1) Use Emails for usernames - respond with "an email has been sent to the supplied email address if not already registered" - if already registered send an email notifying the user of a potential attack.

    Option 2) Generate usernames pseudorandomly and tell pre-authenticated users to "too bad" - a la. federal government "its for your own protection".

    There are ways to completely secure an authentication system so that its A) possible to have two users with the same username (collision proofing) & B) encrypt the EMail/Password & Username. 2FA is also recommended regardless.

    1. Re:Simple Solution by SScorpio · · Score: 1

      Option 1 is overkill for a failed login attempt that could be a typo.

      A similar message should be for a password reset though. That way attempting to reset the password doesn't expose that an account exists.

    2. Re:Simple Solution by vakuona · · Score: 1

      Maybe not.

      Only send an email if the email actually matches an account on the site.

  7. IT Security Theater by Comboman · · Score: 5, Insightful

    There are plenty of IT "Best Practices" that have been proven useless of just plain wrong. Forcing users to change passwords regularly just trains them to use insecure passwords. Forcing upper and lower case just trains users to always capitalize their password. Forcing numbers & punctuation just trains users to adopt the standard replacements (a = @, e = 3, etc). All of it is just an excuse to blame the victim when a breach inevitably happens.

    --
    Support Right To Repair Legislation.
    1. Re:IT Security Theater by Anonymous Coward · · Score: 1

      I just had an encounter with a person at my institution's IT helpdesk (trying to get acceptable password criteria out of them after they reset my password) and she swore up and down that the first letter of every password had to be capitalized (until I got her to read the policy word-for-word on the phone and it wasn't there).

    2. Re:IT Security Theater by houghi · · Score: 2

      P@ssw0rd is the safest password know to mankind. I even use it for my luggage.
      8 charachters? Check!
      Not a word? Check!
      No standard charcater? Check!
      Upper case? Check!
      Lower case? Check!
      Letter? Check!
      Number? Cherck!

      I think it should be used by everybody because it is so safe.

      --
      Don't fight for your country, if your country does not fight for you.
    3. Re:IT Security Theater by Anonymous Coward · · Score: 1

      Most stupid people, and therefore most people, can't tell the difference between something they actually know for a fact, and something they just figure is probably true. This is the case with almost all tech support people.

    4. Re:IT Security Theater by jez9999 · · Score: 1

      That's a variation on a word.

    5. Re:IT Security Theater by admin7087 · · Score: 1

      These assertions are meaningless without comparing them to the password security you get when none of these best practices are in place. Run 10000 real passwords taken from a site A with password policies and 10000 real passwords taken from a very similar type of site B without any password policy through a fast password cracker with a huge base password list in the TB range, and then compare the results. Otherwise you're just guessing. If we're guessing, I'd guess that system A will fare better unless it also imposes limits on password length. But that's only a guess.

    6. Re:IT Security Theater by TheDarkMaster · · Score: 1

      I used to have a password that which could not be typed on a keyboard in the normal way, to type it you needed to use ALT + (character numeric code) many times (one for every character). Except that most systems and sites were unable to accept anything in the password field other than characters between A~Z and 0~9.

      --
      Religion: The greatest weapon of mass destruction of all time
    7. Re: IT Security Theater by Zero__Kelvin · · Score: 1

      You think you know that for a fact, but really you just think it is probably true.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    8. Re:IT Security Theater by Anonymous Coward · · Score: 0

      It is not security theater. The best practice being applied in this case is the "never give out more information than you absolutely have to, because you never know how it may bite you"-principle.

      It is derived from the "better err on the safe side" principle.

      Just because you think you know that in this particular case it cannot be a problem, is not enough reason to abandon the practice.

    9. Re:IT Security Theater by Artem+S.+Tashkinov · · Score: 1

      The voice of wisdom.

    10. Re:IT Security Theater by angel'o'sphere · · Score: 1

      Reminds me about a root password I once saw: "geh heim" (note the space, which means, go home), which is a 'variation' of "geheim", which means secret.
      So the password was secret ;)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:IT Security Theater by Anonymous Coward · · Score: 0

      Many still are. Some still even ignore case.

    12. Re:IT Security Theater by Anonymous Coward · · Score: 0

      You start with security risks and often define some strategies to reduce these risks.

      These strategies can be translated into "best practices".

      If you employ these best practices in a way to reduce the risk, they make absolutely sense.

      If you just follow the best practices "because", while not understanding the risks they cover, they might not make any sense at all.
      Not all risks reduced by certain "best practices" are applicable to you, and then you might end up calling them a "security theater".

      So, "best practices" and "security theater" can both describe the same method when used in different situations.

  8. Snarky post paints with too broad a brush by ScentCone · · Score: 4, Insightful

    I deal with many systems that use admin-approved accounts only, following an application processing cycle. The application process deliberately does NOT inform the applicant that they're attempting to create a duplicate account. On purpose. For exactly this reason. And when someone tries to log in, we provide the "user name and password combination not valid" response. Because we don't want to provide a test platform for someone trying to deduce legit user names. Likewise with the password reset features. While it offers to communicate (using two factors) a tokenized reset link to the user, it does NOT say that the presentation of a non-existent email address means a matching account couldn't be found. Because that's just another test platform we don't feel like offering to bad guys. End users may want it to be easier, but adequate communication/explanation of why it is the way it is generally satisfies all but the worst of the PHBs.

    --
    Don't disappoint your bird dog. Go to the range.
    1. Re:Snarky post paints with too broad a brush by T.E.D. · · Score: 1

      The application process deliberately does NOT inform the applicant that they're attempting to create a duplicate account.

      So what you're saying is that the article fails due to the fact that it didn't occur to them that sysadmins could also deal with the security failures of a common user-unfriendly setup by making it even more user-unfriendly.

    2. Re:Snarky post paints with too broad a brush by ScentCone · · Score: 1

      There's nothing user-unfriendly about taking the very basic, and very common steps I mentioned, in the sense that it prevents the VERY user-unfriendly experience of having one's account hacked. Users seem to actually appreciate that once they understand the risks of leaving it all wide open as a public credential-testing API.

      --
      Don't disappoint your bird dog. Go to the range.
  9. The entire premise is flawed by rsilvergun · · Score: 4, Insightful

    reCAPTCHA means you can't brute force user checks, because even if you can get around it most have a 5-10 second delay built in; which slows any attempt to get a meaningful list of active usernames to a crawl. This is lame click bait. Another 'article' that reads more like a poorly conceived /. post that was made on a better article.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:The entire premise is flawed by Anonymous Coward · · Score: 0

      reCAPTCHA has to have a severe impact on user retention. It's freakonomics. I use a VPN and remain logged-out of all services when I browse. I know the sites that are hard to log into and go to them significantly less than I would otherwise (usually because I need a fucking captcha just to log-in).

    2. Re:The entire premise is flawed by JohnFen · · Score: 1

      reCAPTCHA means you can't brute force user checks, because even if you can get around it most have a 5-10 second delay built in

      Unless, of course, you hire one of the services that can deploy an army of different people to brute-force user checks at the same time. It isn't even that expensive.

    3. Re:The entire premise is flawed by SethJohnson · · Score: 2
      Not trying to disprove your thoughtful post here, rsilvergun. Just want to expand people's awareness of modern vulnerability probing

      reCAPTCHA means you can't brute force user checks, because even if you can get around it most have a 5-10 second delay built in

      The delay is effective at slowing a single-source attack. Modern probing is performed by botnets numbering in the tens-to-hundreds of thousands of sources. I run a firewall monitor that tracks connections attempts and reports them to Dshield. If you look at hits and check their reports on any given IP address, you won't see a particular IP address attempting thousands of connections across a bunch of different targets. Something that hits my firewall probing for exposed mysql or MS SQL Server ports will only be reported by a few other targets if at all. This is because the attackers are distributing the probing across enormous botnets and limiting any individual member of the botnet from being identified as generating hostile network traffic.

      So, what I'm saying is that a 5-second delay on a failed login does slow down a single-sourced probe. The attacker distributes the probing across a many-thousand-member botnet and can make many thousands of requests per second.

    4. Re:The entire premise is flawed by phantomfive · · Score: 1

      To add to your comment, if it is possible for the hacker to brute-force a password using your API, brute-force dictionary attacks are so quick (and passwords people use are so short) that it doesn't matter if they know the user name exists or not.

      Once you allow brute force attacks, you've lost. Everything else is a rounding error.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:The entire premise is flawed by Anonymous Coward · · Score: 0

      agreed

    6. Re:The entire premise is flawed by Bourdain · · Score: 1

      agreed !

    7. Re:The entire premise is flawed by omnichad · · Score: 1

      After so many failures, I just return false negatives for even correct inputs. So it at least takes a bigger army. A botnet that only gets ~10 guesses per IP per hour is going to take a long time.

  10. Main point is invalid by Anonymous Coward · · Score: 0

    The article argues against "username and/or password is incorrect" vs "password is incorrect / username does not exist", claiming an attacker could easily create an account and know it exists, thereby invalidating the purpose of the error message.

    However, this is NOT the problem this error message is trying to solve. The whole reason "username and/or password is incorrect" is used is to prevent username enumeration. If you allow username enumeration, an attacker then has a much smaller number of accounts (known valid accounts) they can try to break (password guessing, phishing, etc.). If an attacker cannot determine whether or not a user exists, the list of possible account names is essentially infinite. This is a valid security control and invalidates the central premise of the article.

  11. Reduce choice? by Anonymous Coward · · Score: 0

    Simply fixed by not allowing a user to choose their username? At signup just make all usernames uniquely generated by the server, allow the user to then add an alternative 'alias username' after signup.

  12. Non-security expert throws tantrum by Anonymous Coward · · Score: 1

    The point here is to stop easily mass enumeration of user names which even the author agrees it DOES since the sign up processes use additional slow down mechanisms like captchas. This is the fucking point.

    How did this even end up on the slashdot main page?

    1. Re:Non-security expert throws tantrum by Desler · · Score: 1

      It’s because msmash is an idiot.

    2. Re:Non-security expert throws tantrum by Quirkz · · Score: 1

      Especially on sites where your user name is your email address. Verifying the account is verifying an address to spam. If you're after a mailing list, you don't need to crack a single account to get valuable information. Then, if you're a smart phisher, you can email all the addresses with an email spoofed from the company, and use it to more easily get into the accounts, and probably a good number of other things.

  13. reCAPTCHA has been fucking broken for WEEKS by DontBeAMoran · · Score: 1

    Click on all the images with cars.
    Click-click-click-click-click.

    Captcha is invalid, please try again.

    Click on all the images with roads.
    Click-click-click-click-click-click-click-click, with the image fade-in/fade-out being slower than before.

    Captcha is invalid, please try again.

    Click on all the images with store fronts.
    Click-click-click-click-click-click-click-click-click-click, with the image fade-in/fade-out being slow as fuck.

    I swear, reCAPTCHA has made me turn away more than once in the last month or so.

    --
    #DeleteFacebook
    1. Re:reCAPTCHA has been fucking broken for WEEKS by Anonymous Coward · · Score: 0

      Were you able to spam or otherwise use automated methods to abuse the websites in question on those days you were turned away? Nope? Well then recaptcha worked! Another success story!

    2. Re:reCAPTCHA has been fucking broken for WEEKS by Anonymous Coward · · Score: 0

      I find this even more annoying:

      Click on all images with signs.
      (clicks on signs)

      Captcha is invalid, please try again.

      Click on all images with signs.
      (clicks on signs and the posts that hold the signs up)

      Captcha is invalid. please try again.

      So which is it? Are the posts required? Did I miss the 1px on the next box over that you think I should have clicked as well? What?

    3. Re:reCAPTCHA has been fucking broken for WEEKS by Anonymous Coward · · Score: 0

      The answer is: google doesn't know which images have signs in them. It is using you as a trained monkey to tell it which ones have signs/no signs. It gathers the inputs from dozens of users for each image, and "learns" which ones probably have signs in them. After it puts you through the learning phase on your first "attempt" or two, it will then show you a set of images where it actually knows the answers. That's the one you'll make it through.

    4. Re:reCAPTCHA has been fucking broken for WEEKS by Anonymous Coward · · Score: 0

      I suspect this is true. If so, then where is the class action lawsuit for forcing us to do work for Google without compensation or even choice?

      I'd like to see a criminal prosecution for captcha be unconstitutional, discriminatory, violation of TOS, violation of not providing service per contract, anti-competitive, and harassment and bullying of users.

      There are numerous times I've not been able to get thru the captcha process even to services I pay for.

    5. Re:reCAPTCHA has been fucking broken for WEEKS by Ksevio · · Score: 2

      Have you considered that you might be a robot? I just click the checkbox that says "I am not a robot" and I'm in

    6. Re:reCAPTCHA has been fucking broken for WEEKS by DontBeAMoran · · Score: 1

      What really annoys me is when the signs are partially inside another square. Should I click on the square that has just the corner of the sign?

      --
      #DeleteFacebook
    7. Re:reCAPTCHA has been fucking broken for WEEKS by DontBeAMoran · · Score: 1

      Crypto-currency faucets have to use reCAPTCHA so that people cannot claim coins with automated scripts.

      So some people do use reCAPTCHA dozens of times per day (multiple times per day, over multiple websites) even though it's legit and we're not bot and we're not attempting to break into logins.

      --
      #DeleteFacebook
    8. Re:reCAPTCHA has been fucking broken for WEEKS by angel'o'sphere · · Score: 1

      Actually I have no idea what those captcha guys are doing ... (doing wrong? doing right?).
      But roughly 50% of my picture based captcha responses are considered wrong, no idea why.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:reCAPTCHA has been fucking broken for WEEKS by tender-matser · · Score: 1

      That "I am not a robot" shit doesn't work for me either. Not a single time.

      I supposed they've only tested it on windows and macs, or only with click-to-focus window managers on linux, or whatever other pretentious inadequacy I came to expect from google. And robots are probably bypassing it just fine.

      I haven't studied the subject in any depth, but the thing about how they're able to profile the "tiny movements" of the pointer movement is utter bullshit -- the GUI is already processing the raw pointer data after taking into account mouse acceleration settings, the frequency of the timer interrupt, etc. It doesn't leave much human "noise" in there. Did they release any honest stats about the error rate of that stupid toy?

    10. Re:reCAPTCHA has been fucking broken for WEEKS by Ksevio · · Score: 1

      You might also be a robot in that case

    11. Re:reCAPTCHA has been fucking broken for WEEKS by Anonymous Coward · · Score: 0

      Weird. I don't think I've ever failed a picture based captcha.

  14. Very short sighted by Kincaidia · · Score: 5, Insightful

    "a hacker could manually validate their usernames of interest by trying to sign up, then automate an attack on the sign in page." The fuck? He drops that like it's trivial. The whole point is not allowing to blast usernames until you find one that exists. You throttle EVERYTHING. Signups from an IP. Logins from an IP. Login attempts to a specific account. Everything has throttles. I think the author is seriously off on their reasoning.

    1. Re:Very short sighted by Anonymous Coward · · Score: 0

      IP addresses are not 1:1 with attackers. As sibling mentioned, blocking one IP could harm thousands of valid users. But the reverse is also true: a single person can attack you from a thousand different IP addresses. Still want to try to throttle logins? Congratulations: You just DoS'd your entire site, but I'm sure the three users left won't mind.

  15. Their solution is no feedback by Jim+Hall · · Score: 1

    The article is very short, and the summary is basically the entire article. What's missing from the summary are the screenshots that explain what is meant by "the attacker just needs to sign up." Because when you try to create a new account for most websites, the website will tell you in real time (before clicking Submit) that your username or email address is already taken. So the attacker has an easy way to figure out what accounts on there. Just enter (via a script) a bunch of email addresses and see which ones generate an error that the account is already signed up. Now the attacker has a list of valid usernames/emails.

    What should websites do, if "incorrect username or password" is not the right way? The article makes this suggestion at the end:

    To prevent attackers from knowing whether an account exists or not your signup must only take an email address and provide no feedback in the UI if the sign up succeeded or not. Instead the user would receive an email saying they’re signed up. The only way an attacker would know if an account exists is if they had access to the target’s email.

    So their recommendation is to not provide any feedback when you sign up for an account. Just let the user sign up for a new account (i.e. click Submit) and if the email address doesn't already have an account, then you send them their login details.

    I think this will really confuse people who legitimally try to sign up for a service, and don't get any feedback. That confirmation email might take a few minutes to make it to the user's Inbox. Or maybe they won't realize they will get an email confirmation. In the meantime, the user might think the sign-up failed, and attempt to create another account. Granted, only one email will get sent, but the user will be spinning their wheels and getting really agitated for the first few minutes. Not a good way to start a user experience.

    I think a better solution is not to notify the new user that the username or email already exists before clicking Submit. Just let them click Submit, then figure out if the account name already exists, and present an error message after Submit. That's not a perfect solution either, but I think it's better than the one suggested in the article.

    1. Re:Their solution is no feedback by tepples · · Score: 1

      I think this will really confuse people who legitimally try to sign up for a service, and don't get any feedback. That confirmation email might take a few minutes to make it to the user's Inbox. Or maybe they won't realize they will get an email confirmation.

      Of course they'll get feedback.

      Check your email

      Signup progress: Step 2 of 3
      Enter your email address > Check your email > Profile and password

      We've sent an email message to jhall@freedos.example that should arrive in a few minutes. This message has the next step of how to get on board.

      Click the link in the email, or enter the validation code below:
      [_______________]

    2. Re:Their solution is no feedback by Anonymous Coward · · Score: 0

      Or, let them sign up and if they already have an account, send an email telling them that.

  16. Weak argument against login username obfuscation by mysidia · · Score: 1

    Obscuring valid usernames / making them harder to figure out is RISK REDUCTION; the scheme NEEDN'T be PERFECT to be extremely useful.

    The best way to mitigate brute-forcing the signup page (IMO) will be require users fill in info such as E-mail address and Captcha before picking username, then RATE LIMIT USERNAME CHECKS for example by using a Proof of Work in the browser.... Or If you try 10 usernames in 5 minutes on the signup page, then throttle or block.

    Also, even if you can brute-force to find usernames through the signup process; it's going to be that much harder than through the LOGIN process.
    Furthermore, I have seen some websites make even THAT unlikely by requiring users to pick a username 8 or more characters and include at least two digits.
    The character comp requirement means that simple dictionary words won't be your username, and your dictionary search space is fairly large.

    However this has been broken multiple times and likely won't ever be perfect. Even if reCAPTCHA was perfect [.....]

    reCAPTCHA is currently GOOD ENOUGH protection to make guessing valid usernames hard. YOU WILL NEVER OWN A PERFECTLY SECURE SYSTEM.

  17. Big red flag by Anonymous Coward · · Score: 0

    "All a hacker has to do is sign up to know whether the username is valid or not"

    i.e. take an extra step FOR EACH ATTEMPT AT THE PASSWORD CRACK, and set off big alarms in the process as they attempt to sign up for a million accounts.

    Because they don't know FOR EACH ATTEMPT OF THE BRUTE FORCE HACK, whether the password or user account was the problem, so FOR EACH HACK ATTEMPT, they have to individually attempt a signup to see if it was the account name.

    So yeh, it's best practice.

  18. The OP is wrong about best practice by Anonymous Coward · · Score: 0

    The OP is wrong. Best practice would be to have a different login name for sign in than the name visible to 3rd parties. Sad that people with a big microphone can be so wrong.

    1. Re:The OP is wrong about best practice by Anonymous Coward · · Score: 0

      Just generate a random 48-char username every 24 hours, like: t758*5843%$()$*$8344934IFFJFjjff33434dff###43&^)

      Problem solved.

  19. As usual, I suspect the answer is "it depends". by hey! · · Score: 1

    Security is not something you ever achieve, so what you have to ask is whether a particular practice does enough good to outweigh its cost.

    Making an attacker speculatively register an account and solve a reCAPTCHA at least slows down and complicates an attack. That won't stop a determined attacker, but you can make life harder for him. However you do so at the cost of creating issues for users who occasionally forget their user names. The question is whether the the cost outweighs the obtainable benefits.

    I certainly see how username-or-password doesn't accomplish anything by itself, but as part of an overall design it might, under certain circumstances.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  20. It's not perfect... by QuietLagoon · · Score: 1
    ... but it does create another step in order to break the password. Security is not the destination, it is the process. We should not let a process that is not 100% perfect prevent that good process from being implemented.

    .
    The cited article sounds more like someone is just having a bad day and needed to vent, rather than providing any real insight.

  21. Yeah so what? by duke_cheetah2003 · · Score: 1

    Why is this even a post? So what? The error message is an error message, it's content is utterly irrelevant. How telling someone "that didn't work" any differently makes any difference is beyond me. Stupid.

  22. Try again "later" by Miamicanes · · Score: 1

    IMHO, the single WORST offense is when an app or system doesn't even have the courtesy to inform you that a username+password will NEVER succeed without intervention by some specific, identified person or group (and provide contact information for reaching them).

    Good: "Unable to log in with these credentials. The username and/or password might be incorrect, or the account might have been disabled. For assistance, please call {someone} at {specific number}."

    Bad: "Login failed. Please try again later."

    It's one thing to be purposefully vague to make enumeration attacks harder. It's another matter ENTIRELY to tell an outright lie that will do *nothing* to stop a real attacker, but will badly frustrate REAL users. You can remind users of the possibility that an account MIGHT be valid-but-locked-out without explicitly confirming that it IS.

    The only valid exception is if lockouts are self-clearing after some period of time (in which case telling them to "try later" would be valid advice).

    Almost as bad: "Please contact [sic] Your Administrator". Nobody, and I mean NOBODY who's in a situation that requires "contacting their administrator" EVER knows who "their administrator" is or has their contact information handy. If you can't furnish the helpdesk number in the error message itself, at LEAST have the decency to furnish the number of somebody (available 24/7/365) who CAN figure out whom they need to contact and tell them. This, IMHO, is another major usability sin inflicted on hapless users all the time.

    1. Re:Try again "later" by tepples · · Score: 1

      at LEAST have the decency to furnish the number of somebody (available 24/7/365) who CAN figure out whom they need to contact and tell them.

      Is it acceptable to make this "somebody" an international call for at least some of your user base, particularly in countries where you do not have an office?

  23. BULLSHIT by sexconker · · Score: 1

    The claim that this best practice is bullshit is itself bullshit.

    The hole of determining if the name is in use by trying to sign up for an account using that name or trying to initiate the recovery process using that name is a solved problem.

    The usual method is to require the login username to be an email address, and then to have a separate display name for use on the site, in the forum, in the game, etc. No one but the system should see the email address.

      - If you try to log in using an invalid email address or invalid password, you get the "Invalid email or password" message.

      - If you try to sign up using an existing email address, you get the normal success flow and "Please confirm your account by clicking the unique link sent to your email address." Legit users simply click that. Attackers simply get no email and no information. (Unless they have access to the target's email, at which point there's nothing the authenticating system can do.) The victim gets a "Someone tried to create an account using your email address." message.

      - If you try to initiate the password reset process, you're again blocked by the email address. "If we have an account registered with that email address, we will send you an email with a link to reset your password."

    You can also take it a step further by ambiguating display names used on the site, in the forums, in the game, etc. This typically involves appending a random number to the end of the user's name. Thus you can be "DipShit" in the game and "DipShit" to your friends. But to a stranger trying to get at your account, you're "DipShit51615" and there may be dozens of others with the same name.

  24. INCREASE guessing cost by redelm · · Score: 2

    Crackers play script games because zhey can. Good programming should assist genuine users (who make more mistakes than scripts) while heavily penalising automated attacks. [re]CAPTCHA is one idea, rather poorly implemented (AI is better than humans). But lockout, exponential backoff, black- and greylists, IP fail2ban, rate limiting, fail advice, provisional (honeypot?) access and other tactics will increase attack costs. Yes, some of them becomes DoS, but all cracking essentially is exactly this.

    1. Re:INCREASE guessing cost by RockyMountain · · Score: 1

      lockout, exponential backoff, black- and greylists, IP fail2ban, rate limiting, fail advice, provisional (honeypot?) access and other tactics will increase attack costs. Yes, some of them becomes DoS, but all cracking essentially is exactly this.

      Agreed! But don't go hog wild. Slowing down a password-guessing attack requires only a moderate amount of throttling. Extreme measures just piss off legitimate users.

      A rate-limiting or exponential back off scheme can reasonably be capped at a few seconds, perhaps a few tens of seconds delay at most. And lockout is never justified. A 5 second delay will be tolerable for the casual user who types clumsily, yet is more than adequate to defend against a brute-force attack.

      Always consider the frustrations experienced by a user with a motor coordination impairment -- say mild Parkinsons Disease. This user is otherwise more than capable of using online services, but will unavoidably enter more miss-typed passwords than the average user. Online services that set draconian lockout policies render themselves essentially unusable to such a user. (And YES, voip.ms with your 4 attempts limit triggering a 24-hour lockout -- I'm talking about you!).

    2. Re:INCREASE guessing cost by redelm · · Score: 1

      Agreed. Hog wild not needed -- slow escalation but keep count and watch time anyways. By the time 100 wrongs have occured, it is unlikely a legitimate user is at the far end. But you are correct, programmers (and especially PMs) ought to consider user costs. And perhaps allow users some choice over their account security tight-normal-lax to enable them to balance their security preferences agains their typing quality.

  25. Do hackers really spend time on that? by damn_registrars · · Score: 1

    I see a deluge of script kiddies try to ssh in to my home web server from time to time. It is easy enough for morons to do that, why would they bother with trying to get in through an actual web interface when the tools already exist for them to automate ssh attempts? I can also tell you that the data supports them not paying any attention whatsoever to the messages they get when they fail at this, so if they are going to go to the trouble of failing at web logins why would they care what messages they see there?

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
    1. Re:Do hackers really spend time on that? by Anonymous Coward · · Score: 0

      One easy way to mitigate the SSH attacks is to run a Windows farm instead >:)

  26. Except... by Anonymous Coward · · Score: 0

    Not everything operates on a "sign up" basis. If there is no self sign-up, this argument is bogus.

  27. Incomplete counterargument by JohnFen · · Score: 1

    The argument that saying "username or password is incorrect" is silly because hackers can just try to create accounts to discover usernames only applies to systems that allow the general public to create accounts.

    That said, the amount of added security by using that phrasing is trivial under the best of circumstance, so I pretty much agree that it's a meaningless "best practice".

    1. Re:Incomplete counterargument by tepples · · Score: 1

      The argument that saying "username or password is incorrect" is silly because hackers can just try to create accounts to discover usernames only applies to systems that allow the general public to create accounts.

      How else would you have preferred that Slashdot furnish you with the account JohnFen?

    2. Re:Incomplete counterargument by JohnFen · · Score: 1

      Not sure I understand your question. I wasn't commenting about sites (like /.) that allow the general public to create accounts.

    3. Re:Incomplete counterargument by tepples · · Score: 1

      I wasn't commenting about sites (like /.) that allow the general public to create accounts.

      Thank you for clarifying. I appear to have misguessed that you were recommending that sites stop allowing the general public to create accounts through an automated process.

  28. BITCOIN LOSES 1/3 VALUE IN A WEEK by Anonymous Coward · · Score: 0

    But THIS is the story the modwhores are running.

    SHAME.
    SHAME.
    SHAME.

  29. It's still costly enough by rsilvergun · · Score: 2

    to deter most would be 'hackers'. It's like putting a club on your car steering wheel. It gets them to move on to easier targets.

    Also, there's other things you can do. Like track IPs or use browser fingerprinting to mitigate these attacks. Real ipsec is complicated as hell. At least if you put any real effort into it, which believe it or not most companies do. Where they get hacked is they skimp on the rank and file who do the server patching or they skimp on training their employees to watch out for scams.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:It's still costly enough by JohnFen · · Score: 1

      Real ipsec is complicated as hell.

      Believe me, I know this full well. It's been my specialty for many years.

    2. Re:It's still costly enough by Anonymous Coward · · Score: 0

      heh:

      What we found out was that a pro thief would carry a short piece of a hacksaw blade to cut through the plastic steering wheel in a couple seconds. They were then able to release The Club and use it to apply a huge amount of torque to the steering wheel and break the lock on the steering column

      http://freakonomics.com/2010/06/08/what-car-thieves-think-of-the-club/

  30. Retrieve password hash, then verify it by tepples · · Score: 1

    Doesn't most software check username and password with a single query?

    No, at least not unless the query manager supports a salted slow hash as a built-in operation. As far as I'm aware, it's more common to SELECT the user ID and password hash (consisting of a salt, PBKDF2 iteration count, and hash value) WHERE the username or email address matches. Then the application runs PBKDF2 on the salt, count, and user-provided password, and compares the result to the stored hash value. (Use slow_memcmp(), not strncmp()!)

    1. Re:Retrieve password hash, then verify it by Dragonslicer · · Score: 1

      Thanks. It's been a while since I've implemented a user authentication system (i.e. we transitioned from MD5 to SHA1), so I'm used to database systems having those as built-in functions. I'm surprised that non-toy databases like Postgres, MSSQL, and Oracle, haven't added the newer hashing functions.

    2. Re:Retrieve password hash, then verify it by Anonymous Coward · · Score: 0

      "select . . ." A password check is not necessarily SQL. Could be a custom thing in C, could be PAM connecting to just about anything. (ldap, radius, AD, flat files) Quite a few just wants both password & username - and some time later you get "yes" or "no".

  31. My favorite response... by gillbates · · Score: 1

    I even made this my email sig:

    "Password update for user gillbates failed; password '12345' already used by user 'Administrator'; change the password and try again."

    --
    The society for a thought-free internet welcomes you.
  32. Require email login, not username login by tepples · · Score: 3, Informative

    Requiring users to log in with an email address, as opposed to a username, doesn't disclose that the account exists. If you try to create an account for an address that you do not control, you will not receive the verification message. If you try to create an account for an address that you do control and which already has an account, you'll begin a password reset instead.

    1. Re:Require email login, not username login by Anonymous Coward · · Score: 0

      Do try to follow along, tepples. It's really not a complicated topic.

    2. Re:Require email login, not username login by KingMotley · · Score: 1

      Every security system I've seen that allows for registration will notify you either as soon as you try to create the account, or quite often immediately after the username field loses focus. I've never seen where it does as you suggest and either sends you a verification message or a password reset if the account already exists.

    3. Re:Require email login, not username login by Anonymous Coward · · Score: 0

      I really hate this. When, not if, the database is compromised, the email address is compromised too.

      Given enough public compromises, attackers would be able to link your email with accounts at other sites and know much more about you.

      I use a password generator and long, random strings for the password but I also use different user names just so sites can't say Jimbo and Jacko are the same AC and has interests in fishing and dogs. Don't make me give up one identifier to tie them together, please!

  33. Least Worst Option by ytene · · Score: 1

    We get questions related to this topic [and on the general subject of "is the password dead yet?"] coming round on slashdot with a regular if somewhat infrequent basis. But one of the interesting things we seem largely unable to agree on [which is perhaps why the password remains so popular] is: "What, realistically, can we replace them with?"

    Tokens can be expensive and easily lost.

    Biometrics can be defeated [see iPhoneX face recognition, for example] and, worse, if your biometric signature actually *is* cracked, then it's not easy for you to "change your biometric password", short of surgery of some kind. A bit extreme, perhaps?

    Way back in 1950, an American science-fiction writer, E. E., "Doc" Smith recognized this in his space opera, "First Lensman", observing that "anything that science can devise and synthesize, science can analyze and duplicate".

    It is genuinely difficult to see where this paradigm will evolve next, but in simple terms it looks as though any solutions based on physical tokens will be too expensive for mainstream adoption; that biometric solutions should be treated with great scepticism from a strength capability and even more scepticism from a personal integrity perspective. That doesn't leave us a whole lotta choices...

    The first person to properly crack this is going to have the potential to become seriously wealthy...

    1. Re:Least Worst Option by retchdog · · Score: 1

      what the hell is it anyway, that makes security tokens so easy-to-lose, even though everyone carries around their car keys all the time and that mostly works?

      --
      "They were pure niggers." – Noam Chomsky
    2. Re:Least Worst Option by retchdog · · Score: 1

      maybe if computers made the sound of an engine revving up when you authenticated, people would manage to keep a hold of them? it's just baffling.

      --
      "They were pure niggers." – Noam Chomsky
  34. A thousand subscribers behind a NAT by tepples · · Score: 1

    You throttle EVERYTHING. Signups from an IP. Logins from an IP.

    Good luck with that if you have a substantial number of legitimate users in countries with an insufficient allocation of IPv4 addresses. The IP address of a carrier-grade network address translation (CGNAT) appliance may represent a thousand subscribers or more. Consider what happened 11 years ago when a Wikipedia administrator inadvertently blocked editing from the entirety of Qatar.

    1. Re:A thousand subscribers behind a NAT by Anonymous Coward · · Score: 0

      Who cares about wikipedia edits coming from Qatar?

      Who cares about absurd extreme edge cases?

      If we designed security to be accessible to all people in all positions, there would be no security left.

    2. Re:A thousand subscribers behind a NAT by Anonymous Coward · · Score: 0

      Good luck with that if you have a substantial number of legitimate users in countries with an insufficient allocation of IPv4 addresses.

      If you are not _really_ connected to the Internet, that's a YP, not an MP.

      There are an infinite number of ways to have an improper connection to the internet, how many are we supposed to handle?

    3. Re:A thousand subscribers behind a NAT by tepples · · Score: 1

      If you are not _really_ connected to the Internet, that's a YP, not an MP.

      When the majority of users of the Web have YP in some form or another, this overall imperfection becomes MP.

    4. Re:A thousand subscribers behind a NAT by omnichad · · Score: 1

      Carrier-grade or not, that is not Internet. That is a content consumption service.

  35. Layers of security by quietwalker · · Score: 1

    As long as we provide for eventual access to the secured location/object/mechanism/whatever, there will always be a way for an unauthorized person to overcome it. However, each layer reduces the number of individuals capable or willing to overcome it. Some of these may be small gains, but as long as the cost in accessibility (the legitimate user impact) is low, there's little reason not to add it.

    To put it another way: if you're not going to lock it, it shouldn't matter much whether or not you leave your front door wide open, right? The reality is though, that you're lowering the opportunity cost for a thief, and it makes it more likely you'll be broken into.

    Don't believe me? Leave your car door open the next time you're out shopping for food, and something valuable on the passenger seat.

    So, yes, it's not providing much, but it's providing something at almost no cost.

  36. No, this is not always good advice by rickb928 · · Score: 1

    Not many Active Directory systems permit self-enrollment. In these systems displaying the login/password message makes sense.

    --
    deleting the extra space after periods so i can stay relevant, yeah.
  37. This is fine. by Anonymous Coward · · Score: 0

    I just set my username and password to "incorrect"

    That way, the friendly reminder that I've typed something wrong gives me my username and my password!

  38. Re:Weak argument against login username obfuscatio by tepples · · Score: 1

    RATE LIMIT USERNAME CHECKS for example by using a Proof of Work in the browser

    But how do you balance this Proof of Work so that a legitimate user with a mobile phone can complete it in a reasonable time but an attacker with a beefy GPU cannot?

    Or If you try 10 usernames in 5 minutes on the signup page, then throttle or block.

    How would that work if you have ten legitimate users behind one IP address logging in at the start of their workday?

  39. MailChimp by Anonymous Coward · · Score: 0

    https://blog.mailchimp.com/social-login-buttons-arent-worth-it/

  40. This is stupid by Anonymous Coward · · Score: 0

    What he is really saying is that the best practice for login is not all that useful if you don't use the best practice for registration, which is not to give any information as to if a username is in use (you should use an email as a username and send registration emails). There is nothing wrong with the login best practice, it just is that the focus is on login, where it should also be on signup. I say that as a reasonably common last name as a gmail account, and I get soooooooo many accounts signed up by random people with my same last name.

  41. Re:Sad news ... Christopher Reimer, unnoticed at 4 by Anonymous Coward · · Score: 0

    Thanks captain obvious! Have a good one...fucker! ;)

  42. GitHub is not a good model by pezezin · · Score: 1

    Do you know what is really stupid? Not asking the user to confirm the password. Who of us has never mistyped a password, only to find they couldn't login later?

    1. Re: GitHub is not a good model by Anonymous Coward · · Score: 0

      What's really stupid is not having a momentary show password feature like some major sites now provide.

  43. A personal vow by Anonymous Coward · · Score: 0

    I vow to never click sensational headlines, whether they make a good point or not. Join me.

    Common sensational headline patterns in the IT world: Using the word "bullshit", prefixing with "Why I ....", "why you should...", and generally, using emotional words carrying no factual message.

  44. Article is retarded. by Anonymous Coward · · Score: 0

    What about services where you cannot sign up?
    For example, imagine an ssh service or anything similar.

  45. Stupid article by TiggertheMad · · Score: 1

    Good point, but the author's premise has more flaws. From the article:

    To prevent attackers from knowing whether an account exists or not your signup must only take an email address and provide no feedback in the UI if the sign up succeeded or not. Instead the user would receive an email saying they’re signed up. The only way an attacker would know if an account exists is if they had access to the target’s email.

    Sending a confirmation email w/o UI feedback isn't denying an attacker confirmation about the existence of a email address, it is just moving that confirmation from the UI to email, and in the process creating a muddled confusing sign up process. Did I succeed in singing up and the server is slow, or is there already a user with that screen name?

    The author is an idiot, because he is advocating trading simplicity and usability for a majority of your users in return for very slightly slowing (but not stopping) attackers. They will get the exact same info, it will just take their script an extra step or two.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re: Stupid article by Anonymous Coward · · Score: 0

      What's "email?" Is that something people from the late 1900s used?

  46. BITCOIN GAINS 72% VALUE IN A MONTH by DontBeAMoran · · Score: 0

    Newsflash: Bitcoin is still higher than it was at the beginning of the month. See title.

    And it's been slowly climbing back up since this morning.
    At 09:23 EST, the value of BTC was around CAD$14700.
    At 13:55 EST, the value of BTC is now CAD$17930.

    Still far from the peak CAD$25000 value of two or three days ago, but still.

    Only Bitcoin haters post asinine crap like you did.

    --
    #DeleteFacebook
  47. No, the problemis the goddamn asterisks by Applehu+Akbar · · Score: 1

    Almost all password errors are caused by those infernal masked entry fields. Today your user ID is most often your email, because this is pretty much guaranteed to be unique as well as being a code you can always remember. Because passwords are intended to be obscure, a good one is hard to enter correctly unless you can see what you're typing. Let there be a Mask This Field checkbox option for that one time in a hundred when someone might actually be looking over your shoulder.

  48. As a pentester from experience I disagree by bongk · · Score: 3, Insightful

    It is not that hard to build a login process, a registration process and a password reset process that don't disclosed if a guessed username is a correct username. And these controls do add significant value.

    Username enumeration is one of the first things I consistently look for when penetration testing a web-facing application.
    Why?

    Because if I can start enumerating valid users I can start building a bit list of usernames.
    Once I have a list of usernames I can start password spraying.

    What's password spraying? I try one password guess per day against each user account that I identified.
    Is it a company that rotates passwords every 90 days? OK then "Winter2017", "November2017", etc.
    Is it a retailer based in Wisconsin? OK then "Packers1", etc.
    This approach is probably about 80% effective at guessing at least one user's password if I can enumerate at least a few hundred usernames.

  49. Re:Weak argument against login username obfuscatio by mysidia · · Score: 1

    But how do you balance this Proof of Work so that a legitimate user with a mobile phone can complete it in a reasonable time but an attacker with a beefy GPU cannot?

    You use Argon2D. The mobile phone user will be OK if it takes 10 seconds to signup.
    It's fine if you cut 99% of attackers short here; an attacker who is willing to analyze your system and bring a beefy GPU to the table is not really the concern.

    How would that work if you have ten legitimate users behind one IP address logging in at the start of their workday?

    You shouldn't ever have ten "legitimate" users behind one IP creating new accounts at the same time, and if you do, then some will have to wait or answer a Captcha, not a big deal.

  50. All Security Is Security by Obscurity by Anonymous Coward · · Score: 0

    Think about it.

  51. Locking accounts and so on by wjcofkc · · Score: 1

    Almost every account I have anywhere locks after so many tries. Typically to the point where you have to contact the sys admin\site owners. This requires access to someone's email - usually their main account. If you can already authenticate someone's email and they are a simple everyday person, you likely already have the username and password to any and every account they have. It's easy. Take that info and hit up every bank login (or whatever) that does not require dual factor. Other possibilities apply like a question\answer which is also not insurmountable. Then again, dual factor is becoming the new norm. In a situation where a password requires a special character, and you can authenticate their primary email account, put a ! at the end you 9 times out of 10 you've got it. Past that - and maybe someone can help me out here - I can't think of any common systems that do not specify whether or not the username or password is incorrect. Now, there is a better situation where you can attempt a password reset. In this situation you will often get "if this username or email exists in the system you will get an email with instructions at that address". If you use an invalid username or email, the system will not tell you. Instead, no email will be sent if it is not registered in the system. This is the one case where quite often it will indeed flat out tell you username or email does not exist, and it is typically specific between the two which can be a big help in modifying an existing known username from another system.

    All in all this article is a bit several years ago don't ya think?

    --
    Brought to you by Carl's Junior.
  52. Re:Weak argument against login username obfuscatio by Anonymous Coward · · Score: 0

    How would that work if you have ten legitimate users behind one IP address logging in at the start of their workday?

    It goes to 11

  53. unbelievable by Anonymous Coward · · Score: 0

    Agreed! But don't go hog wild.

    yes indeed post it on slashdot if you want your opinion to be taken seriously, because this is where all of the intelligent thought on the whole planet happens

  54. Do you have a rationale argument? by Anonymous Coward · · Score: 0

    The article reads to me more like a rant than a reasoned, well-thought out argument.

    You claim that "[o]nly the dumbest, laziest hacker is stopped by the 'username or password is incorrect' sign in. You gain no security, yet your customers lose clarity." That's a self-contradicting set of statements: You say some hackers are stopped, which conflicts with the claim that there's no security gain.

    I don't understand the "customers lose clarity" claim, though. If I'm logging in somewhere (Github, Friendface, whatever), I should know my username. I can then treat the "username or password is incorrect" response as "password incorrect" because I know my username. If I don't know my username, then the response is equally apropos: "username or password is incorrect".

    Is there some other aspect of the argument you're omitting?

  55. Not necessarily a valid argument for all sites by Anonymous Coward · · Score: 0

    Some sites do not allow customers to sign up themselves.

  56. Risk mitigation? by Anonymous Coward · · Score: 0

    It's not all or nothing. It reduces risk for a specific class of attacks. The world isn't 100% web facing login pages.

  57. Why did the editors let this through? by Anonymous Coward · · Score: 0

    This is just some idiot's rant, don't post this shit.

  58. You mean like 2FA? by tepples · · Score: 1

    If a website sends a confirmation email for a login attempt, or for an attempt to create an account that already exists, then it is a mailbomb waiting to happen.

    Tell that to the operator of any Internet service that uses two-factor authentication where ability to receive a code through email, SMS, or voice call is the second factor.

    1. Re:You mean like 2FA? by Obfuscant · · Score: 1

      Tell that to the operator of any Internet service that uses two-factor authentication where ability to receive a code through email, SMS, or voice call is the second factor.

      Ok. Hey, operator of any Internet service where you allow unlimited unrestricted email/sms/voice calls generated by every login attempt, you're a mail/sms/telephone bomb waiting to happen. You could have told them that and saved me the time.

  59. Re:Weak argument against login username obfuscatio by tepples · · Score: 1

    You shouldn't ever have ten "legitimate" users behind one IP creating new accounts at the same time

    Ever?

    Say an Internet literacy class at a high school needs to provision students' accounts on various services. For example, if a Wikipedia student assignment is part of the course, students might need an account with which to edit. How would this be done?

  60. "For a certain subset of reality..." by WoodstockJeff · · Score: 2

    When someone tries to log in to one of my systems, I cannot tell which value is incorrect. There is no "look up the user name, then compare the password given", it must be a matched set.

    By the time the query to see if the user is valid is made, the user name and password have been hashed, and the query asks for a match to that hash. No match? One of them is wrong, figure it out.

    1. Re:"For a certain subset of reality..." by Anonymous Coward · · Score: 1

      Then you are likely doing it wrong: your passwords are not properly salted. If you can “hash” the password without looking-up the user record, then your user database is vulnerable to a pre-computed rainbow table.

    2. Re:"For a certain subset of reality..." by WoodstockJeff · · Score: 1

      Oh, there's a salt value, that is domain-specific. UID/PW is only part of a three-factor login. The third factor IS looked up, because it will return the salt to use for the other two. Any error in the three results in the same error message, "Unable to validate ..."

  61. What about simply responding... by rnturn · · Score: 1

    ...with one of these:

    • Oh... We're sorry.
    • No can do.
    • Nope.

    Tells you you aren't getting in but not why.

    --
    CUR ALLOC 20195.....5804M
  62. Oh you thought you were going to make us drop this by Anonymous Coward · · Score: 0

    I have a better idea. Instead of letting the customer decide on the name, cooperate with them on the creation of the ID - they pick the name, you pick a random number to attach to it. In the end, no one is the wiser whether that name has been taken. This fixes the mentioned problem.

  63. Re:Weak argument against login username obfuscatio by Anonymous Coward · · Score: 0

    Take a break, crazy. Sprinkling random capitalized and bolded words in your comment is a sure sign you need to step away for a while.

  64. Re:Weak argument against login username obfuscatio by Obfuscant · · Score: 1

    a high school needs to provision students' accounts on various services. ... How would this be done?

    One at a time? Next question.

  65. Better solution is needed. by kaybohmont · · Score: 1

    Relying on correct user error/input isn't a solution to unique identifiers or user indicators. An actual solution is needed and usernames/passphrase will never truly provide it.

  66. Not user-friendly, perhaps... but weak? No. by mark-t · · Score: 1

    The worst you could say about such a message is that it is not informative enough to the end user for them to easily recognise what they may have done incorrectly, but I don't see how on earth anyone could argue that the practice is actually weak, or that it harms security in any way.

    And for fuck's sake.... if I see an error that says that says that my username or password is incorrect, then I'm going to go back and explicitly check both my username and password anyway. Expecting the computer to tell you which one was wrong if it happened to find an account with the name you specified has negative security implications that would *VASTLY* outweigh any possible added convenience.

    I have a suggestion... instead of even mentioning the username or password, just give the message "Login failed". It's simple and entirely clear what is being said. The fact that it doesn't tell you *why* the login failed is irrelevant. That is a problem that ought to be handled by the end user anyways.

  67. Re:Weak argument against login username obfuscatio by tepples · · Score: 1

    Thirty accounts provisioned in thirty minutes, one each minute, is still technically "one at a time". But thirty accounts in thirty minutes would still be likely to activate a rate limiter. So my next question is what approximate rate you meant by "one at a time".

  68. Re:Weak argument against login username obfuscatio by Obfuscant · · Score: 1

    But thirty accounts in thirty minutes would still be likely to activate a rate limiter.

    Thirty accounts done sequentially is not "at the same time."

    So my next question is what approximate rate you meant by "one at a time".

    It's simple English. One at a time.

  69. How about a random response? by See+Attached · · Score: 1

    Why create a programmatic friendly response? Why be precise? Just say. Wrong!! Denied. Try Again. Perhaps the server that is refusing should also notify a user if the account is matched, but the password is wrong.. One on the first fail. And one on the tenth, on the fiftieth, etc... Time for us all to create an authentication scheme that is Vendor independent. Its Time.

    --
    Time for a new Political party in the US (or two!) One is off the rails Other cant pony up a leader.
  70. I'ts by Anonymous Coward · · Score: 0

    It's GitHub.

    It's even stupider than the author says. If I see a repository/commit owned by @SomeProgrammerPerson; then I know that SomeProgrammerPerson's login is... wait for it... "SomeProgrammerPerson."

    I don't even have to TRY to figure out their GitHub username. It's right there. In plain sight. The only people that this stops is the people too stupid to cause any damage - chances are the people filtered out are the ones that can't spell GitHub.

    In this case, the author's GitHub username is .. .wait for it .."travisjeffery". Yeah. No added security.

  71. Account theft is a bulk operation by Tony+Isaac · · Score: 1

    Those who want to sell account access on the black market are not trying just one user name at a time. They try thousands, maybe millions. They aren't going to try to sign up as thousands or millions of users, just to see if an account exists. Instead, they are going to use lists of guessed user names and common passwords to try to log in. Security certainly IS improved by not telling hackers whether the login failed due to incorrect user name vs. incorrect password.

  72. Security by Tom · · Score: 1

    A lot of the "best practices" are utter bullshit or outright harmful. In Information Security, we are basically at the end of the middle ages of medicine - a few people have woken up and are thinking stuff like "maybe actually check if this does anything?" but most follow ridiculous rituals because that's what the ISO or OWASP or some random website says.

    There is an alarmingly small number of actual studies and evidence to support almost all of the best practices. In fact, even when you start searching for them, good luck.
    I did a small meta-study by myself (to be published soon) and I'd love to do a large one but I'm not in the academic world anymore, hard to do that when you get paid for applying the best practices and can only work on improving the field as an aside.

    But slowly, slowly, us experts are waking up. The NIST password rules change in summer might have been a wakeup call. I sincerely hope so.

    --
    Assorted stuff I do sometimes: Lemuria.org
  73. Your solution to IPv4 address exhaustion by tepples · · Score: 1

    Carrier-grade or not, [being behind NAT] is not Internet. That is a content consumption service.

    The world's population exceeds the number of IPv4 addresses. Therefore, it's impossible to provide Internet including IPv4 to everyone. Whom would you leave out? Or would you consider a service that allows inbound and outbound IPv6 but provides no IPv4 routing at all to be "Internet"?

    1. Re:Your solution to IPv4 address exhaustion by omnichad · · Score: 1

      Therefore, it's impossible to provide Internet including IPv4 to everyone.

      You're right. That was what I said. Just because it's not possible for everyone to have it doesn't make it not true. We're long past due to be on IPv6, but don't let ISPs call carrier-grade NAT the same as Internet service. If there's no bidirectional route to you, you are not fully connected to the Internet.

  74. Re:Weak argument against login username obfuscatio by tepples · · Score: 1

    Thirty accounts done sequentially is not "at the same time."

    I am aware of that. Closely spaced sequential actions don't have to be "at the same time" to activate an automatic rate limiter.

  75. Yes, and ... by Anonymous Coward · · Score: 0

    ... can I see that in cornflower blue?

    What a stupid ass comment. Let me guess: the author is a marketing manager who's been working in tech for a year and, therefore, is a tech wunderkind now?

    Only the dumbest, laziest hacker is stopped by the "username or password is incorrect" sign in.

    I hate to break this to you, but only dumb, lazy hackers would be attempting this sort of hack. So, if it confuses and/or discourages them, then it is doing its job.

    I swear to God, the tech industry has become one gigantic Dunning-Kruger experiment. No, wait, not experiment, demonstration.

  76. What a bullshit posting by ebvwfbw · · Score: 1

    So you'd rather it say username is incorrect and password is incorrect than username or password is incorrect?

    Tell your boss you have too much free time on your hands. They need to assign you more work.

  77. Pretty simple, generate the user name by Anonymous Coward · · Score: 0

    I know of a system which lets you pick the first portion of your user name, but then assigns a psuedo random 4 digit to ensure unique-ness

    also, make sure there is a display name, also unique, that is not equal to the user name input field.

    So you may discover a users display name during account creation, but you won't be able to login with that.

  78. Duh! He gets paid to write this? by Anonymous Coward · · Score: 0

    Because the system has no way of knowing if you typed the correct name with the wrong password or if you typed someone else's name (by mistake) with your password.

    Seriously, this guy gets paid to write articles and couldn't figure THAT out?

    What really is bullshit is developers who don't understand the situation I just described, and will lock an account for "too many log-in attempts", instead of locking out the IP those attempts come from. In other words, if I mistype my user name as "Amonymous Coward" and then try to log in 5x with my (correct) password, some sites will lock the real Amonymous Coward's account, while I will be able to log in just fine as soon as I spot the typo in the user name.