Microsoft’s research team studied this extensively. They looked at what actually happens when you enforce complexity requirements. Users don’t create randomly generated passwords. They follow predictable patterns. Capital letter at the start. Numbers at the end. Exclamation point at the very end. The word “Password” appears in about eight percent of “complex” passwords. When you force rotation, users increment numbers. Summer2024 becomes Fall2024. Or they add exclamation points. Or they change a single character and call it done. The false sense of security is dangerous. IT departments see compliance numbers go up. Everyone is following the password policy. The auditors are happy. Meanwhile, actual security hasn’t improved at all.

  • VitoRobles@lemmy.today
    link
    fedilink
    English
    arrow-up
    82
    ·
    3 days ago

    I was so happy when we finally hired a director of security and the first thing he did was stop forcing us to rotate passwords every month.

    It was so fucking insane.

    • FineCoatMummy@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      12
      ·
      2 days ago

      Even NIST stopped recommending pw rotations.

      To their credit, none of the businesses I have a pw for require changes anymore. Also, to their credit, I can use long pw’s now. Some used to restrict to 8 chars max (!?) But against their credit, many still restrict the pw content, like you can’t use non-letter symbols or w/e.

      • ricecake@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        Very old operating systems used to have a method for password hashing built in that could only handle 8 characters max. The need for compatibility with it, or things that were too zealous in being compatible lingered for a very long time.

        It’s not good, but some services end up behind firewalls that reject inputs that look like SQL injection. Sometimes they decide it’s better to prevent sql-ish passwords than risk some weird fluke.
        Sometimes they just say |, I, and l all look too similar and our users are idiots. Which is awful practice.

        My personal feeling is that password length should be capped with the length of input the system can handle. Plaintext copy of Alice in wonderland from project guttenberg? Go for it.

        • FineCoatMummy@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          Don’t most of those systems turn the user pw into a salted hash? I suppose that would limit the effective pw length, given random pw’s. Like if the hash was 128 bits or w/e, lots of 256 bit pw’s would hash to the same value.

          But IDK how big those hashes are. Maybe they’re huge?

          • ricecake@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 day ago

            You would be correct. However, they would truncate the password to eight characters, and 7 bits per character. This allowed the password to fit inside a 56 bit block for a des based hashing scheme.

            This is an old scheme, but it was very compatible so it lingered on and on.

      • sawdustprophet@midwest.social
        link
        fedilink
        English
        arrow-up
        11
        arrow-down
        1
        ·
        2 days ago

        It’s monthly at my company. Combined with other complexity requirements, it’s pushed everyone into such predictable patterns that I could probably guess my way into any manager’s PC in probably a few minutes.

        Also, there’s no lockdown after X attempts. I can try infinitely, as far as I’m aware.

        • Cricket@lemmy.zip@lemmy.zip
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 days ago

          Also, there’s no lockdown after X attempts. I can try infinitely, as far as I’m aware.

          Eh, AFAIK that’s not a best practice anyway, at least not any low number. From what I recall, the recommendation is to either have a high number of attempts that causes a lockout (50+?) or high-priority alerts when a large number of invalid attempts is detected. One of the problems with lockouts based on X attempts, especially low numbers like you often see, at least in my mind, is that it opens people up to a denial of service attack. Let’s say that all account names are predictable, like first initial and last name. A rogue user could lock out anyone they wanted to with that knowledge. What if they know or can easily predict the usernames for all admins or IT people in the organization and they lock them all out?

          • ricecake@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 days ago

            Typically you want to do the lockout for a location, not the user, or you step up the auth level. 3 bad logins -> please mfa before trying again.

            But yeah, letting an attacker do that at will is bad. I’m a fan of token bucket rate limiting with exponential back off. You get 10 attempts. A new attempt is added every second. An attempt while the bucket is empty makes that become two, then four and so on.

            Most people never notice because a buffer of ten and a new attempt every second just never runs out. If you accidentally hold down enter you’re only blocked for a few moments. A dumb attacker quickly locks themselves out forever.

      • Corkyskog@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        11
        ·
        3 days ago

        Our organization got hacked and there was about a year after where CISO had us changing passwords every two weeks.

        • scytale@piefed.zip
          link
          fedilink
          English
          arrow-up
          12
          ·
          3 days ago

          It was commonly 90 days for regular user accounts, and 30 days for admin/privileged accounts.

          • vrighter@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            3
            ·
            3 days ago

            with automated password rotation, and no api access (no permission to use api access, that is) to the keyvault. And they expected us to automate stuff too!