How Many Seconds Would It Take To Crack Your Password?
DillyTonto writes "Want to know how strong your password is? Count the number of characters and the type and calculate it yourself. Steve Gibson's Interactive Brute Force Password Search Space Calculator shows how dramatically the time-to-crack lengthens with every additional character in your password, especially if one of them is a symbol rather than a letter or number. Worst-case scenario with almost unlimited computing power for brute-forcing the decrypt: 6 alphanumeric characters takes 0.0000224 seconds to crack, 10 alpha/nums with a symbol takes 2.83 weeks."
I wonder if he's caching every string entered into a dictionary file...
That's silly. I just use my SS#. That has a LOT of digits. Who is going to guess that?
https://www.grc.com/haystack.htm
http://xkcd.com/538/
There's still websites out there that limit you to 8 characters maximum. When Citi held my student loans (studentloans.com), their website would just use the first 8 characters of whatever password you entered.... of course, the field would accept more and they wouldn't tell you this so the first time you went to log in, it was a very WTF moment because you'd get a Password Incorrect error even though the password matched the one you signed up with. It was one of the main reasons I was actually happy when they sold my loan to Sallie Mae six months ago.
Anytime I read articles like this, I just assume someone is trying to see something...
The best way to limit an attack like this is to limit how fast the attempts can be made. Rerun his "test" when the server only allows one password submit ever 10 seconds and see how long it takes. More secure you say?? Well, after 5 bad attempts, lock the account for 30 minutes?? Please, however, never lock the account entirely like SOME companies do. That makes a script kiddies actions my problem...
Good passwords can never stop common sense computing procedures...
Not to be suspicious, but "doublecheck you password strength! Just enter your passwords below...." even from a relatively trusted source is a little tough to trust....
My password would take 8.52 hundred thousand centuries to crack in an Massive Cracking Array Scenario. Not bad. Add the fact that every password I have is different, I should be safe. An uppercase character added would take 1.41 hundred million centuries. Maybe it's time I put in an uppercase too :)
Can I light a sig ?
Too bad there are still so many services that will not allow special characters in a password during registration. I have to juggle 4 different types of passwords because of this retarded limitation. If you operate such a site/service, please fix it.
And raise you a xkcd 792
If the computing power was "almost unlimited" you could crack any password you want since it is essentially unbounded in its parallelism.
Well, almost any password.
What a great way to generate a new wordlist...
I worked on a random desktop rollout contract that was paying stupid amounts of money, and one evening I observed one of my fellow contractors entering his password.
clickity clickity clickity clickity...
I said "wow... hardcore password", he replied "yeah, I worked on a contract before this where we had to manually put in the MS Office CD Key across a few hundred desktops, so I've memorised it. It's now my go-to password"
Must have been the only time I've seen an MS CD-Key actually being wanted.
Pasting the first CD Key I could find on serials.ws (V4933-88FR7-9P3KK-D2QF4-9M9CM) into the GRC tool produced:
Online Attack Scenario:
(Assuming one thousand guesses per second) 68.45 thousand trillion trillion trillion centuries
Offline Fast Attack Scenario:
(Assuming one hundred billion guesses per second) 6.84 hundred million trillion trillion centuries
Massive Cracking Array Scenario:
(Assuming one hundred trillion guesses per second) 6.84 hundred thousand trillion trillion centuries
Anyway, in actual practice: passphrases using 2-3 words. I've found that 4 words and above is a bit much. And writing down your password/passphrase on a post-it is not a bad thing so long as your obfuscate it!
And moving from the "traditionally strong" password to employing XKCD's suggestions, I go from 2.29 Minutes on the "Massive Cracking Array Scenario" to 1.07 million trillion trillion trillion centuries.
I just have to hope that nobody comes around with a $5 wrench...
What system would allow someone to make thousands of attempts per second to login?
That's not the problem. The problem is that the lists of user logins and corresponding hashed passwords get in the wrong hands, whether it be due to bad design and/or coding, insecure software, or unfaithful servants. When you have that list, you run brute force against it to get the actual passwords.
Breaking into servers is much more attractive than breaking individual user accounts, simply because the yield is so much higher. Make a good trojan delivered through good social engineering, and you may catch 1% of the users. Breach the server, and you get the account info of all of them, and by running a crack session, you likely have 20-50% of the passwords within hours. Choose a very hard to crack password, and they may never get it even if they have the hash.
This happens a lot more than what we think. A server breach doesn't have to leave traces that anyone actually sees. We mostly know about the cases where the culprits brag about it or publish lists, which is unlikely to be more than the tip of the iceberg.
Companies are going to insist that their data is safe until proven otherwise, but you're stupid if you believe them.
Sony, Steam, LinkedIn, eHarmony - there are hundreds of server breaches with stolen user/hash lists that we know about. And likely an enormous amount we don't know about.
I checked my password, and found that it will take 25.76 million trillion centuries. Hooray - no one that's never read XKCD will ever guess my password.
Obligatory: http://xkcd.com/936/
Take it to the limit, everybody to the limit, come on, everybody fhqwhgads.
You forget that if a procedure is too cumbersome for the users, it won't be used.
Same with a procedure that deviates so much from standard practice that what the users already know is wrong.
Your suggestion fails on both counts.
President Skroob: 1-2-3-4-5?
Colonel Sandurz: Yes!
President Skroob: That's amazing. I've got the same combination on my luggage.
Well I entered in "Go to my office and look at the post-it on my terminal" and it said that will take "4.97 hundred billion trillion trillion trillion trillion trillion trillion centuries"
I and many of my friends send that junk to bob@aol.com. I don't know who he is, but he's got to have the largest database of generic passwords in the world.
I wrote a nice long reply rebutting every single point then lost it when I hit backspace and focus was in the wrong part of the window. Grrr.
The author gets lots of things confused:
- He seems unaware that a rainbow table is equally effective against a good password as a bad one.
- He seems to think a dictionary attack comprises wholly and exclusively of words taken from a dictionary with no added numbers, symbols or punctuation. Bruce Schneier doesn't seem to agree with this, and I'm far more inclined to believe Mr. Schneier.
- He believes that a likely avenue for attack is constantly guessing a given user's password on a website. Any half-sane web service will block you long before you've tried a few thousand passwords against one username.
- He fails to note that in the case of LinkedIn, the list of password hashes itself was leaked - and this is Bad News.
- He also fails to note that in the case of LinkedIn, the password hashes were unsalted - Much Worse News.
- He also fails to note that if an unsalted list of password hashes is leaked, then it doesn't really matter how strong your password is, it's going to get found rather quickly. There's very little you or I can do about this. You could refuse to use systems that have such terrible security, but usually you only learn their security is this bad when it's far too late.
- He tops it off by recommending 10 character passwords with symbols and/or numbers. In other words, he falls foul of the problem described by Randall Munroe in XKCD some time ago.
let's say you know 100% for sure that somebody is using xkcd's method.
there are 15,222 words in the english language according to oxford english dictionary. how many are common 5, 6, and 7 letter words? hard to say for sure. I think 3000 or 4000 would be a good conservative guess, what do you think? let's say 3000 to err on the side of caution.
how many combinations of common 5,6, and 7 letter words does that give us to build a password based on xkcd's suggestion?
3000^4
that's 8.1 x 10^13 discrete combinations, counting the ability to reuse the same word.
I'm asuming you didn't build a plaintext dictionary with all those possible combinations... at 1 byte per letter, and an average of 6 bytes per component word, that's 4.86 x 10^14 bytes, or a 442 terrabyte dictionary file. where the hell are you storing that?
no, i'm assuming you probably built a program specifically to build combinations of component words and brute force using that. sure that will eventually work, after it goes through its 8.1 x 10^13 itterartions (worst case)... but hell, why are you trying to crack that hard a password when there are thousands out people out there whose password is just "Password1"? the club doesn't make your car theftproof, it just makes it less inviting to the thief than the car next to it. you don't need to outrun the lion, you just need to outrun the slowest person in your group.
and this is all assuming:
1. you somehow -know- which password generation method the person is using
2. they didn't do what I do with that method, and throw a few uppercase and numbers in there anyway.
Very nice, MD5 hashes can be cracked quickly in massive parallel on GPU hardware. This only matters after the hashes have already been stolen.
Actual security should be more systemic -- the cost of a wrong guess is more than a nanosecond of GPU. There are at least network delays, and in many cases lockouts. The latter make random guessing too costly/slow, especially progressive systems that allow 5 wrongs immediately, 10 in an hour, 20 in a day, and lock hard (manual intervention) above that.
My father had one of the early ATM cards but had me operate the machinery. It had an 8 digit assigned PIN, but dropped quickly to 4 when it was realized the 8 were hard to remember, and swallowing the card after 3 wrong guesses was more than adequate.
It actually is stronger. Dictionary attack for single words pass is effective, but for 3+ words it is not, and if you add word separators like you have, it's even stronger.
Also, oblig. xkcd: http://xkcd.com/936/
The Zeitgeist Movement
I'm not a programmer so this may be a dumb question, but do cracking programs somehow go around the normal web interfaces we all usually have to use? Because many that I use only allow a certain number of tries or the refresh time after each unsuccessful attempt is not instant. Sure if you put the program in a standalone it could do the cracking fairly quickly but that's not always real world is it unless you have some direct access to the server?
The one for my email - trillions of years. Dumb sites emailing me my own private data means it needs to be secure.
Having a locked mailbox to prevent anyone from reading your postcards might be considered a false sense of security. Not that the lock is a bad idea, it's just that something else that's also important may have been overlooked.
I am not a crackpot.
It's actually a great prank by a French Grande Ecole.
Here's what you get when you enter one:
Security assessment for password "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM"
Thanks for disclosing password "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM" to us!
Password Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
Score
0 % - Insecure
Assessment
You just disclosed password "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM" to an untrusted third party (us). You have no way to find out what we intend to do with it. Maybe we logged it and intend to publish it or to use it against you? For this reason, password "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM" is now compromised. It is therefore insecure and should not be used in any situation.
Suggestions
Do not disclose your passwords to any untrusted third party for any reason.
If you are actually using password "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM", stop using it and change it immediately.
Change any other password you may have compromised in this way before you used the Estatis Password Security Checker.
with almost unlimited computing power for brute-forcing the decryptt: 6 alphanumeric characters takes 0.0000224 seconds
With "almost unlimited" computing power any password will almost take "almost no time" to decrypt.
sic transit gloria mundi
I have to wonder why anyone listens to Steve Gibson about anything, ever. He goes back a long way, making sweeping claims about things he kind of understands based on research done by actual security professionals. Has he gotten better at things in the last decade or so? He always had a tendency to hear something, run off on a tangent creating press releases and small tools, and then get shouted down by the security community at large. Examples including who did the heavy lifting: Raw Sockets (l0pht/@stake IIRC [and whoever the initial researcher was, they did NOT spin it as the apocalypse, as Gibson did), WMF (Ilfak Guilfanov), SYN Cookies (djb), DNS (Dan Kaminsky), and this article right here.
Slashdot always seems to be his willing dupe and publicizes whatever he is concerned with at the moment.
I like music
My personal favourite is to translate some of the words into random languages after I have made the passphrase. It's not difficult to learn a few foreign words, but since the attacker doesn't know which languages you used he gets the fun task of trying ALL languages that use the latin script. Since there is more than 100 languages using latin characters in the world, even a moderate dictionary size of 10000 or so would give you a total of more than a million words, resulting in the generated passphrase having in excess of 10^24 possible combinations. If the attacker can try a billion passphrases per second, it would take 31.7 million years to try them all.