21 votes

Kaspersky Password Manager had multiple problems in its password-generator, resulting in its passwords being predictable and easily brute-forced

23 comments

  1. teaearlgraycold
    Link
    I should probably mash my keyboard in addition to whatever a password generator gives me. It’s already an unmemorable string of characters, and I am not qualified to audit the cryptographic...

    I should probably mash my keyboard in addition to whatever a password generator gives me. It’s already an unmemorable string of characters, and I am not qualified to audit the cryptographic security of the stock results.

    6 votes
  2. [20]
    nacho
    Link
    I've advocated against on password managers on tildes for a couple of years. The response is usually negative, which is scary because password managers as a concept is fundamentally bad. Password...

    I've advocated against on password managers on tildes for a couple of years. The response is usually negative, which is scary because password managers as a concept is fundamentally bad.


    Password managers are the holy grail of hacking/cracking targets because if you get in, you get everything. A complete and integrated digital life. All the interconnected accounts mean you can recover accounts infinitely. There aren't enough services that require 2FA in ways that aren't beatable by account recovery processes to stop the take-over.


    You're much better creating your own password formula and iterate that through each site you have accounts for, then switch formula every 3 months.

    This lets you create unique, complex, rememberable passwords for every account. You're the only point of failure. Your passwords are always strong. They aren't stored anywhere. No external company is both a honey pot and the point of failure.

    3 votes
    1. [4]
      Deimos
      (edited )
      Link Parent
      While I wouldn't really call your opinion wrong, I think it puts too much weight on the wrong factors, and ends up being worse advice for most people. The most realistic security threat to almost...

      While I wouldn't really call your opinion wrong, I think it puts too much weight on the wrong factors, and ends up being worse advice for most people.

      The most realistic security threat to almost everyone's accounts is that there is a data-breach on a site they registered for, which reveals their username (often their email address) and password. This is so common that I'd be surprised if there's anyone that uses the internet frequently that it hasn't happened to, and most people have probably been affected by it multiple times (I certainly have).

      If you use the same username and password everywhere, this is obviously a complete disaster. All of your accounts are now compromised because one was. This is why the single most important thing is to not re-use passwords, regardless of how you pick them. Because of that, your method is still good advice overall.

      The problem with using a formula is that it's just a more-obscure method of re-using a password. Every revealed password gives info about how you generate your passwords. If it's a really obvious "formula", like if your Tildes password is mysecretpasswordtildes, someone could easily guess that your reddit password might be mysecretpasswordreddit. Even more complex formulas could be possible to figure out (or massively reduce the brute-force difficulty) if just a couple of your passwords leak. Changing the formula can help with this, but it also makes the system way harder—how do you know which formula to use when you're logging in? Do you go back and change all of your passwords every time you rotate formulas, or if one of your passwords is compromised?

      Randomly-generated passwords don't have these issues at all (when done better than Kaspersky did, anyway). Any one of them being revealed gives no useful information about any of your other passwords. They're all completely independent, so any of them being compromised (which, again, is an extremely common event) becomes completely meaningless.

      My advice personally is that people should use a password manager for almost all of their passwords, but not all of them. Even though it's extremely unlikely that your password manager gets compromised, to avoid the worst of the "you get everything" case you're worried about, there should be a few of the most important passwords that you don't put into the manager, just memorizing or even writing them down somewhere. One of the ones not in there should absolutely be your main email password (since, like you mentioned, this usually gives control of account-recovery), as well as passwords for online banking and any other extremely-sensitive accounts.

      27 votes
      1. suspended
        Link Parent
        I use Bitwarden and I imagine that anything like a "you get everything" case would be astronomical. My intuition screams not to worry about it.

        I use Bitwarden and I imagine that anything like a "you get everything" case would be astronomical.

        My intuition screams not to worry about it.

        5 votes
      2. [2]
        nacho
        Link Parent
        At minimum, every modern person needs online banking, an email with a secondary recovery email, encryption passwords for each of their digital storage units (which will always be several since we...

        At minimum, every modern person needs online banking, an email with a secondary recovery email, encryption passwords for each of their digital storage units (which will always be several since we all need either physical or digital back-ups) and passwords for each computer they have.

        There's no way it's easier to remember a minimum of 6+ strong passwords than a formula.

        Conclusion: Everyone should have a password formula.


        There are three simple keys to password formulas (beyond just regular password features like length, different character sets etc.

        • Different number of characters
        • Replacement cyphers
        • using something personal in the formula

        Others will not see the patterns because they're personal to you.


        So for example, a formula might have elements like the following I've just made up for the sake of this post alone:

        • if the first letter of the service is a vowel, the password starts with your mother-in-law's first name, shifted one letter forward alphabetically
        • if the first letter of the service is a consonant, the password starts with your dog's name shifted one letter backwards alphabetically
        • type the three last letters of the service's name as you would in an old cell text message numpad, holding shift down for symbols.
        • Is the second letter a consonant? Take the month of your birthday. It consists of two numbers. Consonants are capitalized. Take the words of the digits, start second letter, then alternate letter by letter in each word.
        • if you pay for the service, do something, if it's free, do something else.
        • Does the last character of the service's name appear in my wife's name?
          *' Is this a work account? last letter of the service, then Neighbour's surname backwards
        • Does the service's logo have red or blue? repeat the first element of the formula.

        Each person's unique mind is the limit here. We all work in different ways.

        1. Deimos
          (edited )
          Link Parent
          The whole thing is so convoluted and prone to failure in bizarre ways. Imagine going back to a site you only visit occasionally and needing to try to remember what color their logo used to be,...

          The whole thing is so convoluted and prone to failure in bizarre ways. Imagine going back to a site you only visit occasionally and needing to try to remember what color their logo used to be, because your password no longer works. Or maybe it wasn't the logo, could one of the other elements of the formula have changed? Or are you using the wrong formula? Or are you using the wrong formula and one of the elements in the other one changed?

          And for all that extra work, fragility, and uncertainty, the result is still worse by practically every measure than just generating a random password and writing it down.

          16 votes
    2. [7]
      JXM
      Link Parent
      That I will immediately forget (or more importantly, that my parents will immediately forget). I agree 100% that password managers are a big glowing, flashing target. But I think the benefits of...

      This lets you create unique, complex, rememberable passwords for every account.

      That I will immediately forget (or more importantly, that my parents will immediately forget).

      I agree 100% that password managers are a big glowing, flashing target. But I think the benefits of having a secure, unrelated password that can be insanely complex because I don’t need to remember it is much safer than the alternative.

      I trust 1Password or LastPass to have good security because they have a good reputation (which would be destroyed by even the tiniest breach) and they know they are a big target.

      15 votes
      1. [6]
        nacho
        Link Parent
        The key here is that you go from making individual passwords, to making a single formula that generates the unique, long, complex passwords for every service you use. You only remember the one...

        The key here is that you go from making individual passwords, to making a single formula that generates the unique, long, complex passwords for every service you use.

        You only remember the one formula, not multiple passwords.

        1. [4]
          DataWraith
          Link Parent
          There are actually certain password manager substitutes that do exactly that. They hash the website URL and the master password together to get the site-specific password. I never understood why...

          There are actually certain password manager substitutes that do exactly that. They hash the website URL and the master password together to get the site-specific password. I never understood why people would use a formula -- if the password ever needs to change, you're in trouble because you'd have to change the master password (or the formula) and thus all accounts on all websites you are registered with. If you don't change all accounts at once, you'll have to remember multiple formulas or individual passwords, at which point you're back to needing a password manager.

          9 votes
          1. [3]
            nacho
            (edited )
            Link Parent
            Everyone should be changing the passwords on all their accounts regularly. I create a new formula and change all the passwords every few months. The only exceptions are accounts I'm happy with...

            Everyone should be changing the passwords on all their accounts regularly.

            I create a new formula and change all the passwords every few months.

            The only exceptions are accounts I'm happy with losing or someone gaining access to.

            Edit: Well, and accounts I use so seldom I recover (using my well-secured email) them every time I use them, making gibberish passwords I make no attempt to remember.

            1. [2]
              babypuncher
              Link Parent
              This is actually no longer considered best practice throughout much of the corporate IT world. Requiring users to change their passwords frequently, in conjunction with requiring them to use...

              Everyone should be changing the passwords on all their accounts regularly.

              This is actually no longer considered best practice throughout much of the corporate IT world. Requiring users to change their passwords frequently, in conjunction with requiring them to use difficult to remember passwords results in users doing bad things like repeating the same pattern with a slight tweak or worse writing them down on a piece of paper.

              MFA is the only way to go. Using just one additional authentication factor on top of a static password has proven to be much more effective in the real world, even when users do practice proper "password hygiene".

              8 votes
              1. trazac
                Link Parent
                I don't remember the NIST specification in particular, but their current password recommendation (even without MFA) is 8 characters, no complexity, no expiration. Turns out even relatively long...

                I don't remember the NIST specification in particular, but their current password recommendation (even without MFA) is 8 characters, no complexity, no expiration.

                Turns out even relatively long expiration with complexity cause most people to write down passwords and reuse the same ones over and over again with slight changes that are easily scooped up in an online dictionary attack.

                3 votes
        2. TheJorro
          Link Parent
          You could do this with a self-hosted password manager though. It's at least less volatile.

          You could do this with a self-hosted password manager though. It's at least less volatile.

          7 votes
    3. streblo
      Link Parent
      I think this is true only if you're a high quality target. For most people a LastPass or Bitwarden breach will be detected and disclosed and you'll have time to change your passwords well before...

      Password managers are the holy grail of hacking/cracking targets because if you get in, you get everything.

      I think this is true only if you're a high quality target. For most people a LastPass or Bitwarden breach will be detected and disclosed and you'll have time to change your passwords well before your piece of hay gets pulled from the haystack.

      Of course you also have the option to self-host as well, and with reasonable know how you're not going to be an easy target. The odds of someone using some zero day exploit to hack your personal server is very small without good reason.

      14 votes
    4. [4]
      babypuncher
      (edited )
      Link Parent
      This sounds very labor-intensive and easy to screw up. People will naturally gravitate towards patterns that are easy to remember and thus easily crackable. What do you do if you need to change...

      You're much better creating your own password formula and iterate that through each site you have accounts for, then switch formula every 3 months.

      This sounds very labor-intensive and easy to screw up. People will naturally gravitate towards patterns that are easy to remember and thus easily crackable. What do you do if you need to change your password on a site? Write down somewhere that you added a 1 to the regular formula? Change all your passwords to match a new formula?

      The more friction you add to this process the more likely the human element is to rear it's ugly head. A self hosted password manager like KeePass will mitigate 95% of the risk posed by cloud-based options like LastPass while only adding a minimal amount of friction.

      9 votes
      1. [3]
        trazac
        Link Parent
        He's just wrong. It's not better to just create your own formula and then somehow brute force remember dozens of passwords. I'm sure I'm just like everyone else: there is one account somewhere you...

        He's just wrong. It's not better to just create your own formula and then somehow brute force remember dozens of passwords. I'm sure I'm just like everyone else: there is one account somewhere you have to use a few times a year, or maybe once a year. There is no way if I had a formula that I just remembered (writing it down would immediately disqualify it from being of good quality) from years back. I would eventually forget the formula and with that the password. Then in the case of a breach, at least some of my accounts with that formula are also immediately compromised, but what if I can't remember which ones? Do I have to just change every god damn password?

        9 votes
        1. [2]
          nacho
          Link Parent
          If you have an account you use once a year, you can spend the time to change its password when you regularly change all the passwords for your important accounts. Or you just recover the password...

          If you have an account you use once a year, you can spend the time to change its password when you regularly change all the passwords for your important accounts.

          Or you just recover the password by using your secured email every time you use the obscure account, then to replacing the recovery password with a long string of gibberish you make no attempt to remember.

          1. babypuncher
            (edited )
            Link Parent
            I have nearly 100 sets of credentials in my KeePass database right now. It is wholly unrealistic to change those every three months. And you still have to contend with the fact that any pattern is...

            when you regularly change all the passwords for your important accounts.

            I have nearly 100 sets of credentials in my KeePass database right now. It is wholly unrealistic to change those every three months. And you still have to contend with the fact that any pattern is inherently less secure than a randomized high-entropy password.

            Or you just recover the password by using your secured email every time you use the obscure account, then to replacing the recovery password with a long string of gibberish you make no attempt to remember.

            Why should I trust my email to be any more secure than my password manager? Email is unencrypted. It is less secure by default. Email and SMS are easily the two weakest factors to use for MFA.

            9 votes
    5. Wes
      Link Parent
      That seems like bad advice. People struggle with passwords, and they would struggle even harder with password formulas. I expect most of them would be along the lines up: site name + my birthday +...

      That seems like bad advice. People struggle with passwords, and they would struggle even harder with password formulas. I expect most of them would be along the lines up: site name + my birthday + single special character. You still have the problem that any database leak exposes huge information about your system.

      Password managers work because they're one strong password. After that everything is unique, properly randomized, and uses secure methods (evidently except for the Kaspersky password manager). Even normal people can remember one good password.

      Security researchers continue to recommend password managers as the number one piece of advice for online security, and it's for good reason.

      6 votes
    6. ducc
      Link Parent
      I use Enpass, which allows me to host the database wherever I want, along with requiring both a master password and private keyfile in order to decrypt it. I keep the keyfile on a USB drive and...

      I use Enpass, which allows me to host the database wherever I want, along with requiring both a master password and private keyfile in order to decrypt it. I keep the keyfile on a USB drive and copy it to devices that I log into Enpass with. I hosted the database on my own WebDav server for a bit, but just ended up using OneDrive instead because it's easier to set up and access. I figure that it's obscure enough that nobody would really bother trying to get into it, let alone they'd need physical access to my devices to get the keyfile.

      4 votes
    7. Diff
      Link Parent
      Not sure how actually practical that is. Even with a password manager I still have accounts littered across the internet with passwords I no longer have access to and that I can't recall. Not...

      Not sure how actually practical that is. Even with a password manager I still have accounts littered across the internet with passwords I no longer have access to and that I can't recall. Not writing anything down anywhere and radically changing things seems like it'd amplify that problem heavily. Any account that isn't actively used would soon be 15 formulas behind and long since dumped from memory.

      4 votes
  3. [3]
    Comment deleted by author
    Link
    1. [2]
      trazac
      Link Parent
      That is safe. Most dictionary attacks won't attempt a sentence because even properly formatted sentences (especially with names) are impossible to predict without knowing most of the sentence...

      That is safe. Most dictionary attacks won't attempt a sentence because even properly formatted sentences (especially with names) are impossible to predict without knowing most of the sentence already.

      However, revealing this information about yourself does make it less secure. Especially if you discuss books you read and like on ~tildes or other parts of the internet with usernames that are known to be you.

      4 votes
      1. Wes
        Link Parent
        Targeted attacks are rare, of course. But if you were a person of interest, such a disclosure would be a problem.

        Targeted attacks are rare, of course. But if you were a person of interest, such a disclosure would be a problem.

        3 votes