Live data from Hacker News

MtGox salted passwords cracked

pastebin.com

41–50 of 97 posts

Re: MtGox salted passwords cracked

#41
post #37

Earlier quoted context omitted.

Your comment that this is MD5 x 1000 is very informative and got me searching for the FreeBSD MD5 crypt function, and I found this gem from /usr/src/lib/libcrypt/crypt-md5.c: /* * and now, just to make sure things don't run too fast * On a 60 Mhz Pentium this takes 34 msec, so you would * need 30 seconds to build a 1000 entry dictionary... */ for(i = 0; i ... which seems to still be the default implementation in Free…

Ease of increasing how long it takes to compute the hash is the main idea behind bcrypt: http://codahale.com/how-to-safely-store-a-password/

Yeah, it's pretty easy to change this in Devise, a popular auth library for rails that uses bcrypt by default, and to have a custom value to speed up unit tests: https://github.com/plataformatec/devise/wiki/Speed-up-your-u...

config.stretches = Rails.env.test? ? 1 : 10

Re: MtGox salted passwords cracked

#42

i suspect some people here don't really know in any detail how password cracking works. you start with a dictionary. a good dictionary combines multiple passwords, slang, common patterns of keys on the keyboard, and old, known, passwords (so all the entries here will be added, for example). but that's just the start. the cracking programs also have rules. in simple terms these can be "shift to upper case" or "combine…

Correct me if I'm wrong: you mean that in the real world, salted passwords have only one advantage over plain text passwords, which is to buy you some time ? (albeit it's a strong advantage)

Re: MtGox salted passwords cracked

#43

i suspect some people here don't really know in any detail how password cracking works. you start with a dictionary. a good dictionary combines multiple passwords, slang, common patterns of keys on the keyboard, and old, known, passwords (so all the entries here will be added, for example). but that's just the start. the cracking programs also have rules. in simple terms these can be "shift to upper case" or "combine…

I have a tangentially related question. During this LulzSec situation, I stepped into 2009 and started using LastPass. I generated 16 character random passwords for every place that I've been visiting. As I understand it, these passwords are encrypted on my machine and then uploaded to LastPass servers. When I login with my master password, I have access to all of these passwords unencrypted.

My question: is there an intrinsic weakness in storing these passwords at a central location? E.g. would it be feasible that LastPass gets targeted by a complicated blackhat attack, and then instead of losing just one of my passwords I lost them all? Or is the manner in which they are encrypted and transmitted secure enough to prevent this?

Thanks.

Re: MtGox salted passwords cracked

#44

i suspect some people here don't really know in any detail how password cracking works. you start with a dictionary. a good dictionary combines multiple passwords, slang, common patterns of keys on the keyboard, and old, known, passwords (so all the entries here will be added, for example). but that's just the start. the cracking programs also have rules. in simple terms these can be "shift to upper case" or "combine…

I have a tangentially related question. During this LulzSec situation, I stepped into 2009 and started using LastPass. I generated 16 character random passwords for every place that I've been visiting. As I understand it, these passwords are encrypted on my machine and then uploaded to LastPass servers. When I login with my master password, I have access to all of these passwords unencrypted. My question: is there an…

If LastPass uses good cryptography your passwords should be safe for a very long time.

Re: MtGox salted passwords cracked

#45
post #42

i suspect some people here don't really know in any detail how password cracking works. you start with a dictionary. a good dictionary combines multiple passwords, slang, common patterns of keys on the keyboard, and old, known, passwords (so all the entries here will be added, for example). but that's just the start. the cracking programs also have rules. in simple terms these can be "shift to upper case" or "combine…

Correct me if I'm wrong: you mean that in the real world, salted passwords have only one advantage over plain text passwords, which is to buy you some time ? (albeit it's a strong advantage)

[deleted]

Re: MtGox salted passwords cracked

#46
post #42

i suspect some people here don't really know in any detail how password cracking works. you start with a dictionary. a good dictionary combines multiple passwords, slang, common patterns of keys on the keyboard, and old, known, passwords (so all the entries here will be added, for example). but that's just the start. the cracking programs also have rules. in simple terms these can be "shift to upper case" or "combine…

Correct me if I'm wrong: you mean that in the real world, salted passwords have only one advantage over plain text passwords, which is to buy you some time ? (albeit it's a strong advantage)

A salted, hashed (with a slow hash function) strong (long, random, large character set) password, will take hundreds, thousands, or millions of years (average case) to crack with brute force.

It's only technically "buying some time." In reality it's keeping it completely secure.

And what use would a hacker have attacking a whole database full of them? It would take too long to do it, even with less secure passwords. It takes your fruit out of the "low hanging" category, which is a bit of security in itself.

Re: MtGox salted passwords cracked

#47
post #30
post #23

Earlier quoted context omitted.

The purpose of salting is to prevent the use of "rainbow tables" (precomputed hashes). With salted passwords, the attacker has to compute the password hash for every password he tries (takes time), he cannot use pre-computed hash tables and just compare the password hash to the precomputed hashes (a simple string compare). Using one salt defeats rainbow tables. Using multiple salts does not defeat it any better. Usin…

I accidentally up-voted parent, so felt I had to reply since this part is somewhat wrong: > Using multiple salts would seem to help defeat brute forcing or dictionary attacks, but that is only true if the salts are secret If I have a dictionary of common passwords, I need to hash this with the salt used by MtGox and then I can test the hashes against all the passwords from MtGox. Had they used a different salt for ea…

Using multiple salts makes it more expensive, but it doesn't defeat an attack unless it makes the attack impossibly expensive. My contention is is that multiple salts by themselves will not make the attack impossibly expensive.

Better encryption, e.g. bcrypt http://en.wikipedia.org/wiki/Bcrypt attempts to make it impossibly expensive to crack passwords. Part of their technique is to use per-password salts to increase the time for all passwords, but the key is to have an encryption algorithm that takes an "impossibly" long time per password as well. Key is that it is "an adaptive hash: over time it can be made slower and slower so it remains resistant to specific brute-force search attacks against the hash and the salt."

Rainbow tables are O(1). Salts are O(n). Bcrypt is O(big), where "big" can be increased to keep it bigger than a "practical" attack will be willing to attempt.

Re: MtGox salted passwords cracked

#48
post #45
post #42

Earlier quoted context omitted.

Correct me if I'm wrong: you mean that in the real world, salted passwords have only one advantage over plain text passwords, which is to buy you some time ? (albeit it's a strong advantage)

[deleted]

[deleted]

Re: MtGox salted passwords cracked

#49

i suspect some people here don't really know in any detail how password cracking works. you start with a dictionary. a good dictionary combines multiple passwords, slang, common patterns of keys on the keyboard, and old, known, passwords (so all the entries here will be added, for example). but that's just the start. the cracking programs also have rules. in simple terms these can be "shift to upper case" or "combine…

I have a tangentially related question. During this LulzSec situation, I stepped into 2009 and started using LastPass. I generated 16 character random passwords for every place that I've been visiting. As I understand it, these passwords are encrypted on my machine and then uploaded to LastPass servers. When I login with my master password, I have access to all of these passwords unencrypted. My question: is there an…

If someone managed to compromise LastPass' servers, they would be able to modify the content that was sent to your browser, and thereby do anything they wanted with your master password after you typed it in.

That's the weakness of services that are supposedly "Host-proof". If the host is sending you the webapp/javascript/webpage in which your data is decrypted, each and every time you visit their website, you have to trust that they wont (or someone else wont) modify it in a malicious way in order to gain access to your data.

The only way to be safe from this kind of attack is to use the same trusted copy of the code, and not use any new versions until you trust that it is also safe, or to somehow verify that the webpage sent to your browser is exactly what you expect it to be.

Cortesi has a very good write up on this issue: http://corte.si/posts/security/hostproof.html

Re: MtGox salted passwords cracked

#50
post #40
post #10

Earlier quoted context omitted.

But if the salt is global and its value is "1", it might.

The $1$ part of the hash is purely to indicate that MD5 was the encryption algorithm used. The salt used is the first 12 characters, so from "$1$" to the next "$" For example, for "$1$JVf3ep..$uvo634QwxDsAuHMOZlKws1:riprip" the salt is "$1$JVf3ep..$" (although those periods may just be padding, IIRC).

Ahh. I misunderstood. Thanks.
Post reply on HN