<story><title>LivingSocial Hacked – 50 Million Customers Affected</title><url>http://allthingsd.com/20130426/livingsocial-hacked-more-than-50-million-customer-names-emails-birthdates-and-encrypted-passwords-accessed/</url></story><parent_chain><item><author>gruseom</author><text>I have a dumb question about this. It was a smart question when someone asked me it the other day, but it&apos;s a dumb question now because I feel like I should know the answer and I don&apos;t. Why can&apos;t you get away with using some trivial but obscure modification of one of the standard fast hashing algorithms? It will be just as vulnerable as the standard algorithm, of course, once you know what it is. But now the attacker has to figure out which algorithm you modified and how you modified it. How do they do that?&lt;p&gt;I get that this is a bad idea that won&apos;t work, blah blah security by obscurity and so on. But when I was asked why it doesn&apos;t work, I was unable to give a very satisfying answer.</text></item><item><author>gdeglin</author><text>It&apos;s actually very possible for hackers to still decode many of the passwords.&lt;p&gt;An attacker could simply put together a dictionary of 10,000 common passwords then hash them against each user&apos;s salt value and see they they get a match for that user&apos;s password Hash. Assuming Hashes are stores as SHA-256, with a GPU hashing setup they&apos;ll be able to scan through 50 million users in very little time at all.</text></item><item><author>danielpal</author><text>They said they Hashed and Salted password so it&apos;s unlikely the hackers will get &quot;actual&quot; passwords by brute-force&lt;p&gt;However what I&apos;ve seen happen after this attacks is usually they attacker use the e-mail addresses to do phishing attacks and just get passwords that way. They already know their e-mail and that they are living-social customers. Expect a phishing e-mail that looks like coming from living social.</text></item></parent_chain><comment><author>mdasen</author><text>These things are really hard: &lt;a href=&quot;http://en.wikipedia.org/wiki/National_Security_Agency#SHA&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/National_Security_Agency#SHA&lt;/a&gt;.  Here we see the NSA suggesting a modification to SHA-0 to make SHA-1.  For years, incredibly smart mathematicians didn&apos;t see what the NSA saw.  So, I&apos;d say there&apos;s a decent enough chance that you&apos;d weaken the security.  I don&apos;t think many people on here would have the crypto chops to make their on security algorithms - people like cpervica are the exception and even they want to publish their algorithms.&lt;p&gt;I mean, there is a certain logic to what you&apos;re suggesting.  Let&apos;s say you&apos;re cpervica and you know what you&apos;re doing.  You make mistakes like any human being, but you know crypto.  So, some cracker gets access to your database.  OK, they&apos;re probably not smart enough to find a weakness in what you&apos;ve done and might not even be able to figure it out.  But there might be a weakness there.&lt;p&gt;Plus, you have to think: what if someone gets my code and my database?  Then they have the modification you made.  If the modification doesn&apos;t require more computation, then it&apos;s just unknown without the source code.  So, with the source code, we&apos;re back to the trivial to cracking case.&lt;p&gt;The thing is: there are solutions out there to handle this by making the calculations take longer.  PBKDF2, bcrypt, and scrypt all exist.  They deal with this specific problem in a way that even if someone gets your hashes, salts, and code, you&apos;re less vulnerable.&lt;p&gt;tl;dr: with the obscure case, you&apos;re not gaining protection if they get your code along with your database.</text></comment>
<story><title>LivingSocial Hacked – 50 Million Customers Affected</title><url>http://allthingsd.com/20130426/livingsocial-hacked-more-than-50-million-customer-names-emails-birthdates-and-encrypted-passwords-accessed/</url></story><parent_chain><item><author>gruseom</author><text>I have a dumb question about this. It was a smart question when someone asked me it the other day, but it&apos;s a dumb question now because I feel like I should know the answer and I don&apos;t. Why can&apos;t you get away with using some trivial but obscure modification of one of the standard fast hashing algorithms? It will be just as vulnerable as the standard algorithm, of course, once you know what it is. But now the attacker has to figure out which algorithm you modified and how you modified it. How do they do that?&lt;p&gt;I get that this is a bad idea that won&apos;t work, blah blah security by obscurity and so on. But when I was asked why it doesn&apos;t work, I was unable to give a very satisfying answer.</text></item><item><author>gdeglin</author><text>It&apos;s actually very possible for hackers to still decode many of the passwords.&lt;p&gt;An attacker could simply put together a dictionary of 10,000 common passwords then hash them against each user&apos;s salt value and see they they get a match for that user&apos;s password Hash. Assuming Hashes are stores as SHA-256, with a GPU hashing setup they&apos;ll be able to scan through 50 million users in very little time at all.</text></item><item><author>danielpal</author><text>They said they Hashed and Salted password so it&apos;s unlikely the hackers will get &quot;actual&quot; passwords by brute-force&lt;p&gt;However what I&apos;ve seen happen after this attacks is usually they attacker use the e-mail addresses to do phishing attacks and just get passwords that way. They already know their e-mail and that they are living-social customers. Expect a phishing e-mail that looks like coming from living social.</text></item></parent_chain><comment><author>rajivm</author><text>Well if they don&apos;t have your source code, why modify the algorithm, you can just use sha1(password + user_salt + site_secret) -- that site_secret just made the sha1 unique to your site. Of course, if they have your source code, then it doesn&apos;t matter: they would have your &apos;site_secret&apos; or your modified algorithm. Better would be not storing your site_secret in a accessible way (not on disk).&lt;p&gt;Edit: See udk1 below -- he&apos;s right, sha1 is an outdated algorithm for this purpose. Poor example choice on my part.</text></comment>