Ubisoft hacked, account data compromised
support.ubi.com
support.ubi.com
Why are all these companies adamant about trying to bootstrap their own services. It's maddening, and it only causes things like this to happen. Steam exists, and it's amazing. Stop trying to do better -- you won't.
Edit: I just went through Ubi's password change process, they also restrict password lengths to 8 to 16 characters. Annoys the heck out of me when companies do this.
http://arstechnica.com/gaming/2011/11/valve-confirms-steam-h...
No company is immune from hacking, the best anyone can hope for is secure hashing functions are in place and that financial and user account data are properly separated.
A potential common excuse may be, "No one will remember a secure password in excess of 16 characters, we are trying to minimize support volume", but this is not a "reasonable" excuse.
1KB: 0.279 secs
1MB: 0.277
10MB: 0.293
100MB: 0.473
1000MB: 2.169
Getting the 1GB string allocated in Python locked my system up for longer than the 20 loops over bcrypt did. :)
I should probably find a machine with a little more RAM to test 10GB...
1MB -- 0.310421895981 seconds
10MB -- 0.317299044132
100MB -- 0.409169948101
1GB -- 1.3299703002
10GB -- 10.8254830956
100GB -- 133.936514747
I noticed during the 100GB loop that the process oscillated between 100GB and 200GB, making me suspect that the 100GB string is actually being copied somewhere, which is inefficient and surely has a significant effect on the timings at larger string sizes. As such, I didn't go for a 200GB string.
And just 'cause most of us don't see 200GB python processes every day:
https://dl.dropboxusercontent.com/u/14571816/python%20200gb....
edit: also, merely saying "bcrypt" isn't quite sufficient; we'd have to know what work factor you were testing with. bcrypt with a work factor of 2 is vastly different in performance from bcrypt with a work factor of 12.
Parentheses are not made to be ignored.
But I don't think it matters, which is why it was a parenthetical. The point is the relative differences between different sized strings, not the absolute timings.
The check on that should (and, AFAIK, is) done server-side, with the server closing the connection after a certain amount of data or time.
Edit: after reading https://en.wikipedia.org/wiki/Bcrypt#Algorithm, it looks like bcryt's make-work loop does refer to the key in each iteration. I can't tell on a cursory reading whether access to the original key can be memoized, though hashing the large input once before passing it into bcrypt would have the same effect.
I'm not arguing that if this functionality were already present in an app that you should remove it; however if it's not there already there's very little value it could add that would justify any development time. That's just my opinion though.
I'd had preferred if they used a one way hash instead, obviously with a secure hash algorithm, uniquely salted and rehashed multiple times. All passwords would then be the same length when stored and users wouldn't have to have such a low maximum limit.
There are worse offenders for low character limits, like Adobe with a 12 char maximum. Used to be a site that listed some, just a shame it's no longer available http://web.archive.org/web/20100526105638/http://www.weakpas...
Really though, just reject passwords over a few KB. Nobody will ever notice that limit except for people trying to fuck with you.
On the other hand, I think that competition will drive Steam to be better (or maybe, just maybe, result in something better than Steam), and so I don't necessarily want the other companies to stop trying to compete entirely, either.
It'll be exciting when the fogies in charge of these companies die out. They seem to have difficulty grasping the concept of computers and digital distribution.
If either of those companies wants to make a real effort at getting a distribution platform off the ground by competing with Steam on the developer side and the pricing side, then that's competition I'm willing to see. As it stands, they're simply trying to leverage their developers' work into membership.
"Girls, stop trying to be as good at math as boys -- you won't."
"Google, stop trying to do better than AltaVista/HotBot/Lycos/Excite -- you won't."
"Apple/Linux, stop trying to do better than Microsoft -- you won't."
"PlayStation/Xbox, stop trying to do better than Nintendo -- you won't."
"Tesla, stop trying to do better than Toyota -- you won't."
"Renewable energy companies, stop trying to do better than fossil fuels -- you won't."
It's also better for That One Service... but that's besides the point. ;-)
This doesn't matter though in regards to personal information. Any service where you buy the game will have your information for the sake of enabling purchase. Steam is no better here, and even GOG. If either of them is hacked - your personal info will be leaked.
So I don't know exactly what they mean, but it's at best symmetric encryption.
Ouch... that's oversimplified... Here: https://en.wikipedia.org/wiki/Symmetric-key_algorithm http://cseweb.ucsd.edu/~mihir/cse207/w-se.pdf
So this is what I got from their change password screen:
"No account was found matching those entries. No email will be sent."
So I'm glad I learned that I don't have my password compromised. but I think someone at Ubisoft need to take web security 101 again
p.s. Who encrypts passwords anyway? isn't there a consensus to hash using bcrypt / scrypt + random salt?
Why? Because if I go to register an account with a given email or username, it's going to tell me if that account is already registered! Unless you make multiple accounts with a given username/email possible (please, please don't do that), the forgot password oracle is a non-issue.
You lose absolutely nothing by saying "this email does not exist", and you gain a tremendous amount of user friendliness.
This way, we don't leak the emails of registered users. If we use emails as usernames, we don't leak usernames either.
Might also help whoever has foo@bar.com and similar, too.
Thanks for this insight.
In fact, there are some large vendors of software that truly use encryption instead of some form of one way hashing. Sadly, I have to deal with software like this and there's no chance it's going to change any time soon.
I know this because I received such an email-- intended for someone else who accidentally used my email address for their account. So not only is Ubisoft storing raw passwords and sending them via email, they're not verifying email addresses during account creation.
>As a result, we are recommending that you change the password for your account: dclowd9901
All I see is the plaintext representation of my username.
They should have a cert on the splash redirect page. I wasn't sure if ubi.com was actually Ubisoft. Even worse, the email I got had some terrible font - practically unreadable. Those two factors combined did not make me feel that giving them my password is a good idea.
I find that's the biggest hurdle that average users can't grasp, it's not about one website getting hacked.. it's that if your ubisoft password is the same as your email address password then they can now log into your email address, which means they can probably take over every online account you have.
hexdump -n 16 -v -e '/1 "%02X"' /dev/urandom
...as a password generator openssl rand 48 -base64 cat /dev/urandom |base64 |head -c20 && echo pwgen 20https://github.com/kzahel/passwordmaker https://github.com/kzahel/passwordmaker_android
I simply don't trust 1password, lastpass, etc.
The one problem I have is that many websites place artificial restrictions on password length, types of non-alphanumeric characters, requirements on number of numeric digits, etc. It would be nice if there were an updated collaborative list of these artificial restrictions somewhere.
Currently I simply update the password generator to conform to these restrictions whenever I need to create a password for a dumb website.
That said, the interface is definitely terrible. It could use a refresh at this point.
I'd rather by in control of my data.
Sure they can't read the data right of the disk, but what about a MITM? If the intruder had access to the application server, there's a good chance the credit card data was in memory at some point. If the data ever touches the server memory in an unencrypted form, the intruder could have it...
Deleted comment
The shaming should be for storing your sensitive data in an insufficiently secure manner. If a company used scrypt to hash their passwords then they would essentially have no issue with getting hacked.
Openness about this kind of thing should be encouraged.
I believe I recall Sony getting hacked, and tons of plain-text credit card numbers were hacked. It was discovered that Sony didn't even follow even the most simple of PCI compliance.
It's things like that that deserve the "hall of shame"