Zomato security breach: 17M email addresses and hashed passwords leaked
blog.zomato.com
blog.zomato.com
1) Lure employees of big companies (especially e-commerce ones) with cash and buy email dumps of their users. I don't think email security was something many companies were vigilant about. 2) Send email campaigns for their clients, which included other e-commerce companies, colleges, and travel agencies.
The business, as I remember, was quite profitable. I can't say if something like this is at work here but there's a healthy black market of buying email lists.
See "Somnath (Spamnath ?) Bharati".
There's a healthy 100% legitimate (legally) market too. They correlate data from all sorts of retailers with things like your bank account, email address, etc.
Pay cash for anything you'd be embarrassed about someone finding out.
With the recent Hipchat hack, it is unclear if the login server was compromised or the database dump was obtained some other way.
If the Hipchat webserver that handles sign-in attempts was the one compromised, which is what I've been lead to believe, then it doesn't matter how the passwords were hashed. The plain-texts would be exposed in the majority of use cases. Sure, the DB data could also get stolen triggering reporting requirements in organizations with controls, but that may be less of a concern at that point.
What? Hashed passwords can definitely be cracked for a significant percent of users.
And even if salted, a regular (non-rainbow table) attack will crack some passwords.
2. The line about how "payment" related information is under PCI DSS compliant shows how these guys are running their business. I frequently see people, who are confronted about not following some form of compliance or hack, argue back on "segregation" of compliance. They say - X data needs (or was) to be compliant while Y doesn't. Sure not everything needed to be PCI DSS compliant but why not have better practices?
3. What about PII (Personally identifiable information) data they collect? Isn't that supposed to be rigorously protected? It seems they believe only payment and passwords are of use to hackers.
Their message is: (Ignoring the update on top):
- Para. 1: Marketing bullshit
- Para. 2: Short blurb about what happened
- Para. 3: Incomprehensible techno-babble for the average user of their service, ending with an important action point (however, I suspect most users' eyes would have glazed over by now)
- Para. 4: A random note, again with important info in the tail.
- Para. 5: Something about what they have done that will cause user impact, mixed with some more about their internal remediation, and the suspected cause.
It goes on, but I'm already bored.
Instead they should clarify their format:
- There has been an incident that resulted in an unknown 3rd party getting hold of your email address for this site, and a scrambled version of your password. This may impact you in the following ways:
-- There is a strong possibility that the thieves will be able to unscramble your password.
--- If you use the same password here as you do with other websites, you should change your password on all those websites immediately See the end of this notice for more assistance and information.
-- We will automatically change your password for our site, and this means you will have to [insert process]
- We are taking the following steps to ensure this isn't going to happen again:
-- Step 1
-- Step 2
- We have reported this incident to the relevant authorities.
- For the next x months we will contract with service y to track if any of the stolen data will surface, and will inform you if this happens.
- We recommend that you use a password manager. please see [link] for a handy guide on how to choose and get started with a password manager.
- You can always reach us via [channels] to discuss this issue further. If any part of this message isn't clear, please click [here] to chat with one of our support staff.
- Apology.
- More background details, etc.
"We hash passwords with a one-way hashing algorithm, with multiple hashing iterations and individual salt per password."
Bluntly, for a user of a site like this in 2017 there is simply no excuse for sharing passwords. In ops we used to say "If it's not backed up, it doesn't exist" - and I think a modern corollary could be "if your password isn't unique per site, then no, it's not safe". If you reuse passwords, your security is only as good as the weakest site you used it on, and you are playing with fire.
Just go and buy 1password (or similar) and use it.
If your username is...
Based on that statement it sure doesn't sound like the PWs were salted (or at least properly salted).
That's because the user specific salts were probably in the same db. This will make it difficult since a brute force attack must be done for every single password. But it is still not impossible.
Even if the salts aren't unique, can you explain how can they use the hashed password anywhere?
If I give you a hashed password and the salt used, what exactly can you do with it? (apart from brute forcing)
A password DB breach, salted or not, allows an offline, non-rate-limited, attack on those passwords.
Seems to me that you need to design your systems around the question of "how can the problem be minimised when our systems get hacked".
"We really need to invest in technical security" - Everyone after Heartbleed
If the end-user doesn't notice it, it's barely budgeted for by the business bods.
We're condemned to repeat history, much to my own chagrin.
The original quote is:
>The reason you’re reading this blog post is because of a recent discovery by our security team - about 17 million user records from our database were stolen. The stolen information has user email addresses and hashed passwords.
?The hashed password cannot be converted/decrypted back to plain text - so the sanctity of your password is intact in case you use the same password for other services. But if you are paranoid about security like us, we encourage you to change your password for any other services where you are using the same password.
> We however, strongly advise you to change your password for any other services where you are using the same password.
They're one of a variety of primitive proxies for engineering culture, depth of talent and "process maturity". IMHO there is a weak correlation with team size, but a strong small team with good culture can of course outperform a large team with worse organisational culture.
As you scale a team you get more capability, but there are more bases to cover and more value to protect. Some points along the appsec spectrum of practices and culture:
At very small team sizes, reviews of pull requests with some minimum number approvers, plus a culture of responding to comments and enough expertise on the team that someone recognises basic issues like "we shouldn't store passwords like that" or "maybe we shouldnt chuck a url parameter straight into window.location here".
Small-medium, some level of technical leadership and design going into features with security as at least a consideration. Maybe a budget for limited code reviews / pentesting now and then or someone on the team with a constructive focus on security. Some automation with mostly free tools. Issue tracking for security defects and sane priorities.
Further along / large: employees who conduct security reviews (e.g, devs cc on prs and some spelunking), pentest and work with developers during the design phase. Plug tools like static analysers, scanners / runtime analyses into ci & test envs. Conduct threat modelling. Run regular training for developers. Have devs who work on code safety (like wrapping unsafe libs or fixing bugs in key dependencies). Use an artifact repository and stay on top of bugs in dependencies. Maintain internal checklists and a security knowledge base. Sane metrics and reporting (this is surprisingly hard). Conducting 360's where you track down the root cause of bugs and see where you can stop it happening again. Processes for dealing with bug reports (security@). Bug bounties. And more.
Although all sizes of company experience a variety of incidents, where you see problems is when engineering maturity isn't commensurate with the value of the data / transactions / assets / brand.
> Do you really expect a good developer to be able to be in the zone for 12 hours straight?
> Why would we contribute to open source if we are barely able to ship what we need to ship to keep our users happy.
It seems the salt was stored in the database itself.
Today, of course you shouldn't be manually maintaining salts and instead use a proper PBKDF (which indeed uses a salt, which is stored alongside the hash).
Upvotes do not determine if information is true or not, and there's plenty of people out there who aren't the least bit concerned with whether or not HN upvotes them.
Tangentially, I don't think outsourcing is really that big of a deal. LOTS of companies do it, and it's easy to get bitten by it, but it's also easy to check over what they bring back, as well. I'm not trying to make a case for excusing this incident, as they could have very easily dedicated some dev time to quality check the code (if it's the code that they outsourced in the first place, which we don't know for sure or not) so there's really no excuse for it. People in the states outsource to india, people in india outsource to africa or south america, people in africa probably have some place they outsource to, maybe china or something. It's an economical oddity, not a moral dilemma, imo.
Companies in South Africa outsource to India quite often. Africa is huge, and hard to generalise about.
Purely coincidental, it was a joke like we normally hear about outsourcing to India.