back to article AI slurps, learns millions of passwords to work out which ones you may use next

Eggheads have produced a machine-learning system that has studied millions of passwords used by folks online to work out other passphases people are likely to use. These AI-guessed passwords could be used with today's tools to crack more hashed passwords, and log into more strangers' accounts on systems, than ever before. …

Page:

  1. Dan 55 Silver badge

    I'm OK

    They'll never guess bringbackdarkmatter!

    Anyway, this is yet another reason for disposable e-mail addresses, at least until the AI cottons onto the prefix.

    1. Steve Button Silver badge

      Re: I'm OK

      5..4..3..2..1.. boom. It's guessed your "disposable" email prefix. Ta da.

    2. Anonymous Coward
      Anonymous Coward

      Re: I'm OK

      Anyway, this is yet another reason for disposable e-mail addresses, at least until the AI cottons onto the prefix.

      Nonsense. I have quit a few email accounts, but even the spam honeypots "info@" and "<my name>@" have never been breached, although one of them has a password of "123456", just to prove a point (it's monitored, though, just in case - never take anything for granted). It really doesn't take much effort to properly secure an email account against dictionary attacks even from a distributed botnet, but you must put in the effort.

      Secondly, the AI approach is based on patterns, which is why knowing how to shape a good password is far more important than using a generator. The only thing that ties my passwords together is that they will all contain upper and lowercase, numbers and special characters together, but the only discernible pattern they share is that they do not share a discernible pattern :)

  2. Giles C Silver badge

    Hmm my passwords are usually based on something i have done In the last month, could be home, work, hobbies just something significant. Chances of correlation virtually none, and as I am not on social media you would have to know me really well to stand a chance.....

    Mind you I do have about 10 different systems to log in to at work which require password changes every 6 weeks or so....

    1. Anonymous Coward
      Anonymous Coward

      "which require password changes every 6 weeks or so...."

      And there is your issue.

      One day, maybe, just one day, people will realise this is just pointless. Even worse when they expire at random times and people struggle to remember which one is which.

      Password1!

      Password2"

      Password3£

      Oh no! Need to change again eeerrrr

      Password4$

      1. Lee D Silver badge

        People already know it's pointless.

        GCHQ and NIST advice is to NOT force people to change passwords regularly. It's counter-productive.

        Anyone who keeps up with industry best practice knows this. When was the last time your bank forced you to change your password / PIN?

        Don't force password changes. Just make sure you can detect and limit brute-force attacks, and discourage particularly weak passwords in the first place.

        1. Just Enough

          If every 3 months is secure, every 30 days must be x 3 as secure! Right?

          "Don't force password changes."

          Unfortunately this message has not got through to many system developers. You still encounter new systems that force you into regular password changes. Sometimes at ridiculously short frequency.

          And the frustrating thing is that if you asked them why they were forcing this on their users, they wouldn't be able to give an answer. They're just copying what they recall seeing elsewhere. No idea why it was done, or whether it is best practice.

          And the same goes for the ones that have simplistic "how many 'special' characters do you have?" rules.

      2. Tikimon

        Password changes, and trix for good ones

        There IS a ray of sunshine! For me, anyway. Our security consultants (we can't be experts at everything) have finally come around to realizing that frequent changes REDUCE security. So we have stopped forcing password changes. Hang in there, mates.

        The passphrase databases will have the most common quotes from movies and such. Swapping characters doesn't help anymore. So for the moment, I'm using the first two letters per word of direct quotes from movies... with a word or two wrong. Such as "These isn't the droids you're looking for!". That gives two levels of obfuscation - the quote is changed and the first-letters trick gives Thisthdryolofo! Hack that, eh?

        1. Rich 11

          Re: Password changes, and trix for good ones

          So for the moment, I'm using the first two letters per word of direct quotes from movies... with a word or two wrong. Such as "These isn't the droids you're looking for!". That gives two levels of obfuscation - the quote is changed and the first-letters trick gives Thisthdryolofo! Hack that, eh?

          Thanks for telling everyone your trick. I'm sure it'll be picked up by the rule-generators shortly.

          1. Wensleydale Cheese

            Re: Password changes, and trix for good ones

            "Thanks for telling everyone your trick. I'm sure it'll be picked up by the rule-generators shortly."

            Back in the day we had a discussion about obfuscating Usenet email addresses to thwart spammers, but still make them decipherable by humans who wanted to reply directly.

            What many didn't realise was that it would only take one glance from a competent regex programmer to devise a rule to grab the correct address for each scheme suggested.

      3. ITS Retired
        Happy

        I used to use street names and town on Oahu. But then I used a spreet sheet to keep track on my passwords.

      4. Arthur the cat Silver badge

        Password1!

        Password2"

        Password3£

        A friend worked at a company that required password changes on the first of every month and refused to let you reuse a password. You could get into about half the accounts by using passwords of the form Sep2017 or 2017Sep.

    2. Anonymous Coward
      Anonymous Coward

      Hmm my passwords are usually based on something i have done...

      So that’s Masturbate1. Too easy...

      1. Trigonoceps occipitalis

        "So that’s Masturbate1. Too easy..."

        Only once?

        1. Anonymous Coward
          Anonymous Coward

          Re: "So that’s Masturbate1. Too easy..."

          Masturbate60

          He did specify "in the last month..."

          (I am posting as AC, right? ok, had to be sure)

  3. Anonymous Coward
    Anonymous Coward

    Feed this

    Pick a subject you are not interested in (so no social media pointers)

    Pick an item in the subject

    Get it's technical details

    Use that to build a password

    Add at least one error

    You can even print the item page out for a prompt

    E.G. I have zero interest in rock polishing but a quick search finds one from UKGE, 2lb Evans (max 8lb)

    UKGE-Ev@ns2lb<8bl

    Reminder prompt of "stone" would probably get you going and type that a few times and it will stick better than *9kL?o'

    Obviously I do a bit more than that in real life but you get the idea.

    1. Lee D Silver badge

      Re: Feed this

      Length of password.

      Everything else is a nonsense.

      All the special characters in the world just make your password harder to remember, harder to type (especially on a mobile device). And it's not as effective as just adding another character to the end of your existing, normal, boring password.

      (number of characters available in alphabet) ^ (length of password)

      The latter grows the complexity of a password FAR quicker than the former.

      An 8-character, all-ASCII password would be 256^8

      It's beaten by an alphanumeric (A-Z, a-z, 0-9) password of length 11: 62^11 (three times as large a number).

      And nobody can use/type most of the ASCII character set anyway.

      1. Anonymous Coward
        Anonymous Coward

        Re: Feed this

        "Everything else is a nonsense." unless you work somewhere where people who watch you type passwords, also I find it easy and do very little from a phone.

        1. Lee D Silver badge

          Re: Feed this

          Why would you ever let someone watch you type a password?

          That's got NOTHING to do with the complexity.

          I guarantee you that if you type on a keyboard in my field of vision, I can get the majority of your password instantaneously, sometimes before you can press Enter at the end, just by the sight of the motion of your fingers.

          I don't even care what the characters you hit were, or if the keyboard is foreign language, I can see the pattern you typed, including modifier keys. Everything from cybercafes in Europe to people on front-desks at hotels, to my own users who then say "Would you like me to write down my password?"... no thanks, I've just got it. To be honest, I have passwords myself that I don't even know what they are unless I type them out on a keyboard, so weird characters and foreign layouts wouldn't hinder me at all.

          Don't type passwords in front of people, ask them to look away or move to a token system if you absolutely can't avoid it. That's got nothing to do and you're not protected AT ALL by the complexity of your password in that case (only by the sight skills of someone watching).

          P.S. It's a pain. Because I can tell you that 99.9999% of all actors NEVER TYPE what they are claiming to type. Even when it's not obviously home-row scatterings to "look good".

        2. Anonymous Coward
          Anonymous Coward

          Re: Feed this

          Long ago I set my personal policy of turning away completely whenever someone is logging into whatever was required. Similarly, I'd tell people to turn away while I am doing the same, especially when using system administrator and domain-level credentials. I don't want to know what your login looks like. Hell given my druthers, I don't want to even know how long a string it is. What you don't know, access-wise, as a matter of policy generally won't come back and bite you in the ass.

      2. handleoclast
        Coat

        Re: Feed this

        If you're on a mobile, use emojis in your password. Half the time the keyboard switches to emojis for no damned reason anyway, so you might as well use them.

        1. Anonymous Coward
          Anonymous Coward

          Emojis

          And if it actually accepts them due to taking Unicode input you'll be screwed when you want to login from a PC!

    2. Adam 1

      Re: Feed this

      SoundingSqualidMopeAntler is both easier to remember (you probably already have) and several orders of magnitude harder to brute force than your suggestion.

      As long as you choose the words randomly from a dictionary of reasonable size. Even a 5 word pattern from a very modest 10000 word dictionary gets you 1e20 possibilities, and it isn't too hard to use a 50000 dictionary. You might even learn a new word....

      1. Rich 11

        Re: Feed this

        You might even learn a new word....

        Sedulous.

        (Obviously I won't be using that in any password now.)

    3. Anonymous Coward
      Anonymous Coward

      Re: Feed this

      I sometimes take a look at the cars offered for sale in the local paper. Many pictures include the reg No's. Combine two registrations from that random selection and you have IMHO a pretty uncrackable password.

      Cut the page out and keep it safe at home(locked away) and there you are.

      I'd love to see these so called AI systems try to crack them.

      Just don't use registrations of vehicles you have owned.

    4. handleoclast

      Re: Feed this

      Bonus tip.

      Do not, under any circumstances, give out your "porn star" name.

      A popular question on social media, I'm told. You're supposed to construct it from your first pet's name and your mother's maiden name. Examples: Fido Farrage or Tiddles Trump.

      A nice little bit of fishing to entice the answers for commonly-used security questions for password resets.

      1. Anonymous Coward
        Anonymous Coward

        Re: Feed this

        Not to mention all the "second factor" questions that sites like to use. Probably 90% of those questions can be gleaned from the average idiot's facebook feed. Ok, 90% might be hyperbole, but most of those you can get from someone's timeline or from knowing which Star Wars character they are.

        1. Tannin

          Re: Feed this

          Second factor questions are an utterly stupid idea. On those brain-dead sites which still use them, I NEVER provide sensible answers. (Not that there are any sensible answers: most of those questions either ask for something that any fool could guess if they know anything about you, or else for something you don't know yourself.)

          Much, much better to provide nonsense answers and keep them somewhere secure. E.g., Q: "What is your favourite colour?" A: elephant. Q: "Who was your first girlfriend?" A: Glasgow". Q: "Where were you born?" A: Uncle Arthur. Q: "What is your favourite song?" A: sodium pentaflouride. Or, if you prefer, instead of "Glasgow" as your first girlfriend answer, use "kdKYTEKYE&J$KDTY9".

          (Unless, of course, you are from the robo-sex generation and your first girlfriend really was named kdKYTEKYE&J$KDTY9.)

  4. Paratrooping Parrot
    Mushroom

    I guess password generators will be cracked as well. :(

    1. wyatt

      Interesting point, could you reverse engineer a password generator and take its algorithm and build that into AI?

  5. MacroRodent

    /dev/random

    I guess this AI spells the end of any easy to remember password rules. It is entirely random strings from now on, kept in a password manager.

  6. Richard Gray 1
    Pint

    Password Generator ..

    I have suggested to people to use a location to generate long passwords that ARE recoverable by you.

    Using the site map.what3words.com you can choose a location memorable to you, your favourite seat in the bar you went to on holiday where you met that ...... anyway... it creates 3 random words that are retrievable, but highly unlikely to be guessed.

    For example the centre of St Paul's Cathedral (like I'm going to tell you lot where that good bar is...) is "tamedbeatshangs"

    and Voila !!! A nice strong password that YOU can recover but no one else

  7. Milton

    Password Creation Rules

    1. Be someone capable of remembering things, and knowing HOW to remember things.

    2. Make up a word that is pronounceable nonsense, containing no typical English letter sequences. i.e. don't automatically follow a 'q' with a 'u'; use 'f' where 'th' might go, etc. Be creative.

    3. Identify and memorise two or three symbols you will *never* use in a password, e.g. "(" and "%".

    4. So you get something like "meguphlubateaqin" (which you'll pronounce, in your mind, like "mEH-goo-flubb-ate-a-quin" (it comes off the tongue easily enough).

    5. Add the odd digit to get "me9uph1ub8aqin"—note '9' for 'g', '1' for 'i', '8' for 'ate', etc. Zeroes, fives, threes and sevens can all work for 'o', 's', 'B' and 'T' as you like.

    6. Bung in a symbol or two if you wish, for say "me9u-ph1ub+8aqin".

    7. Write it down a few times and when you put it into your password book/encrypted list/whatever, remember to break it up into disordered chunks, separated by the symbols you memorised as never going into a password (step 3), so you get, say "8aqin%me9u-(ph1ub+%".

    *Do not * put all your trust in a "secure password store"!

    8. You do not need to remember the broken order of step 7, because as soon as you see the chunks of the password, the word itself will speak in your mind (because it's ridiculous and memorable).

    9. I haven't mentioned upper-case, but *of course* use the odd capital here and there.

    10. You now have a 16-byte password using around 70 different possible values in each position. It is not guessable by dictionary attack. Assuming that wherever you have applied this password the guardian software is so abysmally crap (and fast) that an adversary could try a brute-force attack of one million attempts per second—to exhaust even half the possibilities would take 5 quadrillion years.

    None of this is difficult. With practice it is literally childishly easy.

    DO NOT use the same password anywhere twice, ever.

    DO NOT take GCHQ/NSA "advice"—it's intended to make their access easier, and they hate and fear strong passwords. Be someone who is *not* afraid of changing passwords; making them impossible to guess; and saving them in a way that *still* makes them useless.

    None of this helps if the guardian software (which checks your password to let you in to your service) is crap. Your password must be securely transmitted, properly hashed, hashes properly seeded, databases secured, etc, and that's why El Reg and others do a great job of embarrassing the corporate f***wits who are too lazy or incompetent to enforce proper security.

    You will be pleasantly surprised and how good you get at knocking up horrible passwords that you can easily remember.

    Other Tips:

    a. With a nonsensical, weird password, you may have plausible forgettability.

    b. In any case, if you need deniability, encrypt at least twice, with the first level (e.g. disk-level) encrypted to look like random garbage, which you can sacrifice when you've lost enough fingernails, and the second, invisible, deniable level being as many as needed low-bandwidth steganographs ... even Homeland Security can't jail you for keeping 10,000 poor-quality family photos on your laptop.

    c. You *could* use fingerprints, but that's the same as as printing your password in big letters on everything you touch.

    d. You *could* use facial recogntiion, if you want to make it even more pitifully easy for the Stasi to break into your device, just by waving it at you.

    e. Improve this technique using extended characters, because there are many which, in print or screen, are indistinguishable from ordinary ones. The ALT-NUM sequence is your friend.

    The choices: are yours.

    1. Robert Carnegie Silver badge

      Re: Password Creation Rules

      Random non-repeated consonants, a couple of digits, a symbol if some idiot system insists. Then convert your consonants to a phrase to remember. For instance Gchqnsa04 - "God can hear quiet nuns saying Angelus." (No, A isn't a consonant.)

      A class of password that maybe does need to be reset is the shared one. You may have ceased to employ somebody who knows a lot of your important system passwords, whether they were supposed to know them or not. Just routinely changing these passwords protects against this.

  8. John Robson Silver badge

    XKCD

    correcthorsebatterystaple

    That is all...

    Or use a reasonably trusted automatic generator.

    Since most of the time I let my machine log me into things (generally low value logins) I just let it use pseudo random garbage for passwords.

    For those things I have to type I make a random selection of words (shuf -n 4 /usr/share/dict/words) and concatenate them - good for WiFi passwords etc, because easy to remember/type, hard to guess

    Alternate login scheme

    1. Richard Gray 1
      Joke

      Re: XKCD

      RE Alternate login scheme:-

      Now depreciated .. please see Solar password hacking tool

      1. John Robson Silver badge

        Re: XKCD

        But beware of fake hacking tools being sold:

        https://www.theregister.co.uk/2017/08/14/amazon_recalls_solar_eclipse_glasses/

    2. Anonymous Coward
      Anonymous Coward

      Re: XKCD

      Anyone else tired of XKCD for everything? (Ok I realise I should not have asked that).

      Does using dictionary words not simplify the brute force attack?

      Rather that multiplying each character by it's number of options, with for example three correctly spelt words, the attack is dictionary:dictionary:dictionary which to me is much simpler to brute.

      That one has been doing the rounds for so long, it is charged and trotted out as the ultimate solution to passwords everytime something (anything) else is mentioned on the net.

      I think it may be a sponsored message.

      1. John Robson Silver badge

        Re: XKCD

        "Anyone else tired of XKCD for everything? (Ok I realise I should not have asked that)."

        Yes - it's traditional though.

        I will also defend myself slightly, I didn't say to use it for everything - I use it for things I need to type every so often, normally on devices without full keyboards (phones/tablets/games consoles/TV sticks etc).

        It actually provides a decent level of 'non guessability'

        My /usr/share/dict/words has >200k words, even if I exclude those under three characters (which isn't strictly necessary in this scheme.

        So it's 200k^4 (1.6e21)

        That's basically equivalent to the 256 bits of ASCII over 9 characters - and many of those characters aren't actually type-able. Let me assume that we are actually limited to chars 32 through 126 (95 chars) - then we need an 11 char password to match the 4 word scheme.

        It's actually quite a good way of generating fairly easy to remember and type passwords which are hard for a computer to guess.

        Now the issue comes if you try to choose the words yourself, because the average person may have a vocab of 80k words, but we only use ~5k in speech and ~10k when writing (Source - first google hit on the matter)

        That drastically reduces the search space...

        Or you could add a fifth word - and you add another 5 orders of magnitude to the search space, but it's still pretty easy to remember/type five words.

        The key, as pointed out in the article is to prevent brute force attacks, by not leaking the salted and hashed password, and by rate limiting attempts.

        1. Rimpel

          Re: XKCD

          see diceware, it's based around rolling dice to select the words from it's dictionary. www.diceware.com

          As suggested by The Intercept. https://theintercept.com/2015/03/26/passphrases-can-memorize-attackers-cant-guess/

          "The Diceware method is secure even if an attacker knows that you used Diceware to pick your passphrase, knows how many words are in your passphrase and knows the word list you used. The security of Diceware comes from the huge number of combinations that an attacker must search through even with that knowledge . The Diceware word list contains 7776 words, so if you pick a five-word passphrase, there are 7776 x 7776 x 7776 x 7776 x 7776 combinations. That is over 2**64 (2 to the 64 power or 2.6 X 10**19) possibilities. A six word Diceware passphrase confronts an attacker with 2**77 (2 X 10**23) combinations; seven words 2**90 (1.5 X 10**27)."

      2. Ogi

        Re: XKCD

        > Anyone else tired of XKCD for everything? (Ok I realise I should not have asked that).

        Heh, I remember when it was "obligatory userfriendly.org" link, but when that webcomic ended, people switched to xkcd.com, which is the current default "oblig" link.

        Usually the reason is that techie comics tend to reflect current tech issues (such as the password one) in an easily understandable form, so that rather than have to re-explain each time, you just post a link to the relevant comic. If nothing else, it gets some chuckles out of people, and can kick start a conversation.

        Traditions modify themselves with time, but they don't necessarily go away. If xkcd.com shuts down, or becomes less relevant to tech culture, something else will replace it.

        You are of course welcome to post alternative comic links. I learned about UF.org years ago that way, then learned about xkcd, and maybe I will find new interesting webcomics that way too :)

      3. Adam 1

        Re: XKCD

        > Does using dictionary words not simplify the brute force attack?

        Reimagine every word as a character in your alphabet, and then the number of words used as the length. Using English and a 50,000 word dictionary and taking 5 words at random*, the number of permutations is 50,000^5 or 54 bits of entropy or roughly the same as an 9 character completely randomly selected password of mixed case and digits.

        So it's well beyond brute forcible.

        * That is absolutely essential for this scheme. Don't choose them manually because your brain is too predictable.

    3. Mystic Megabyte
      Pint

      Re: XKCD @John Robson

      For those things I have to type I make a random selection of words (shuf -n 4 /usr/share/dict/words) and concatenate them -

      Thanks for that, have a concatenator :)

      shuf -n 4 /usr/share/dict/words | paste -sd "\0"

      irregularitiesextensionsChippewa'sfancies

    4. Stevie
      Meh

      Re: XKCD 4 John Robson

      That is NOT all.

      Try typing that enormous string into anything while on a train or bus sans typos.

      Grodon Benten!

      PS xkcd stole that whole thing from a stage magician's trick so old it has mammoth hairs on it. Gak Eisenberg was probably using it before his life was so tragically cut short.

      1. John Robson Silver badge

        Re: XKCD 4 John Robson

        Typing a long string of common characters is, IME, easier than a shorter string of rare characters...

        And I never claimed that XKCD was the originator of the idea, but the presentation there is quite accessible - and therefore a good source to point towards.

        1. Stevie

          Re: XKCD 4 John Robson

          My experience is that you first statement doesn't hold water like a collander doesn't. Gonna have to call shenanigans on that one. (on a train now, and had to retype parts of that first sentence four times due to motion-induced typos).

          I wasn't claiming you said xkcd invented the technique. I was trying to get the next person to weigh in to not automatically link that same cartoon to make their case.

          1. John Robson Silver badge
            Pint

            Re: XKCD 4 John Robson

            "My experience is that you first statement doesn't hold water like a collander doesn't. Gonna have to call shenanigans on that one. (on a train now, and had to retype parts of that first sentence four times due to motion-induced typos)."

            Get off the train and into the pub man... it's beer O'Clock...

            Realistically though... on a phone/tablet the dodgy character set is going to mean that most (certainly a clear majority of) characters will take two or more 'button presses' any of which could go wrong - I suspect the 'button push' count is actually more similar between the schemes than it appears. Actually even on a normal keyboard many of the characters rely on multiple presses.

            I've not come across a better cartoon to illustrate the technique - if you know of some that are equally as good then feel free to link to them...

  9. Anonymous Coward
    Anonymous Coward

    Hashing and salt

    I'm not a technically trained person, as such I find some things harder to understand than others.

    When salting a password to make the hash unique, the salt is something specific to your user profile - correct?

    If so the system must know which salt to use, when you want to login. So if I steal the hashed passwords I cannot easily guess the passwords - but wouldn't one be able to steal the table sal... salt table, and make it easy again?

    Are those typically stored elsewhere or somehow better protected than the actual hashed passwords?

    1. John Robson Silver badge

      Re: Hashing and salt

      "When salting a password to make the hash unique, the salt is something specific to your user profile - correct?"

      Yes - it can even be your username.

      The idea is to prevent the use of rainbow tables - because a password of 'Password1' can be hashed once, and then compared with all the other hashes in a table to see if anyone used that password.

      If the password has the username slapped on the front then you need to hash 'AnonymousCowardPassword1', and that obviously won't be any use for any other user on that system.

      You could improve the salt by using something else in the user profile (maybe the email address - so a userid/password list doesn't give you the salt) combined with the URL of the service being provided (so that a rainbow table only applies to this service)...

      'Anonymous@coward.com|theregister.co.uk|Password1' - what's the use of that hash anywhere else?

    2. Adam 1

      Re: Hashing and salt

      Usually you to both. A secret string known to the server but not in the database, and a secret they is unique to each account. Your goal is to increase the cost of each guess that the bad guys need to make whilst not making your validation unfeasibly slow. They are used for protection against different attack vectors. Both will protect against a rainbow table (just a reverse dictionary measuring in GB or TB of millions or billions of hashes and the corresponding password). The power of a rainbow table is in reusability across multiple attacks and pretty much any reasonable length salt will mean that the hash won't be known up front (ie the bad guys need to invest a lot more, which is good)

      A per server salt (rather per environment/application/etc) is useful because your validation logic knows that secret but it isn't in the database. That means that when the mongodb is left open to the world (don't get me started) it is still not possible to find the relation between password and hash.

      A per user salt will inevitably require something accessible in the database (either encoded into the hash itself or in a field pertaining to the same field that doesn't change like username). The prime benefit of a per user hash is that if you and I use the same password because we like the same footy team or the same book (and we like most people don't follow recommended practice with password generation) then figuring out my password doesn't give away yours as it would if the hashes matched. Worse still, if my password hint gives away my password and my hash matched yours, that further weakens things. Worse again, I can find common hashes and collate all the password hints and join the dots. A per user hash solves all those.

      Either way, don't roll your own scheme. Find a framework and use it. Recommended either bcrypt, scrypt or argon2 which use schemes that are much better at protecting against this and other attack vectors and generally require very little effort to implement.

Page:

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like