Marriott CEO shares post-mortem on last year's hack
zdnet.com
zdnet.com
> Uncovering the full scope of the attack took significant forensic work, the CEO said. However, despite the RAT's presence on the Starwood IT system, at that point, there was no evidence that unauthorized parties had accessed customer data located in Starwood's guest reservation database.
> By the next month, in October, the forensic firm also found Mimikatz [...]. The tool was most likely used to help hackers acquire passwords for other Starwood systems and help them move to other parts of the IT network.
> Yet again, investigators didn't find evidence that hackers had accessed customer data.
> Yet again, there was still no evidence of hackers accessing customer data.
With infrastructure so compromised, and so few protective measures, the default assumption has to be some kind of customer data was accessed. Spin at its worst.
And while I haven't watched the hearing, you'd expect a post-mortem to include maybe how they gained access, and measures to fix it in future. Even if the CEO didn't elaborate, you'd expect a reporter to ask similar questions, and at least point out nothing was said.
This has to be one of the most disingenuous phrases one could possibly utter about an event like this. The fact that the attacker left no evidence (or that you failed to identify whatever evidence was left behind) in no way assures people that their data wasn't stolen. It's fallacious and it reeks of negligence and a complete disregard for accountability.
I'm never staying at a Marriott again if I can help it. It's not much, but it's better than nothing... Last year I hosted a corporate event at a Marriott in NY and we paid north of $15k.
I don't think any company would do that differently.
Even though the system was compromised, they assumed the best case instead of the worst case as would be expected with customer data.
The money seems to be a proof that their impact will be larger than just a person who stays at a hotel twice a year.
You're reading a postmortem and not necessary exactly what they were thinking at the time.
"The Guardium alert was triggered by a query from an
administrator's account to return the count of rows from a
table in the database," Sorenson said.
Such queries are considered dangerous because the software
that runs on top of a database doesn't usually need to make
them.
Really?It sounds like they had some software watching for any out-of-the-ordinary queries, which they then manually verified with the apparent person who was executing them. When that person had no idea what they were talking about, that's when the red flags went up.
That said, I wonder if what’s going on here is that the admin account was never supposed to be used directly, so that’s why the alert triggered.
And unfortunately, I don't think that's so uncommon.
That sort of situation is constantly costing the company money for no good reason, it'd be fiscally sound to spell out these costs and contrast them with any estimates you could assemble on making the application start working again. Manually replaying queries is expensive, terrible, terrifying, and can potentially break data-integrity really badly.
Assumes poster works at a company where management cares past "Does it work?"
That's less rare than it used to be, but HN sometimes underappreciates how much of the economy is still governed by companies with CFOs who couldn't tell you the first thing about their enterprise infrastructure.
I was the lone technical hire at a startup I was at a couple of years ago. We ran our app on top of postgres, and I used a native macos postgres client to keep an eye on our database (accessed via an SSH tunnel). The startup is very high-touch with clients - we built personal relationships with our clients.
Unsurprisingly our CEO loved looking at the numbers and the data. We could see conversion, and keep an eye on what our users were up to and how they were using our product. I was the sole engineer and I was only working 3 days a week. I didn't have time to build monitoring dashboards and all that; so instead I spent half an hour teaching our CEO the basics of how to do postgres read queries, and how to pull the results of a query out into CSV and into excel. That was probably the most productive half hour of my time at that startup - it was a huge enabler for him, allowing him to explore the data in arbitrary ways. I showed him how to sort, filter, select specific fields and join tables.
If I had instead built a specialised dashboard, it would have taken me away from our product. And I wouldn't have any idea what queries to display - any dashboard I made would have been worse for him than just querying the database directly. I'm still convinced that I made the right call.
(We did eventually build a dedicated admin panel, but months later - only when we actually needed it because some common tasks were too difficult through SQL alone).
I'm not religious about this. My team automates anything we have to do more than a couple of times, and from time to time we do have to manually alter something in a prod db. Do it often/long enough though and someone _will_ screw something up.
If your audit system knows that this application never runs such queries, and today it did, it knows something changed and flags it.
How often do you design a database query to get the count of all rows from a table? It sounds like an uncommon use case, but probably one you could mute from the audit if you do it intentionally.
Any time I paginate a list, so it can show the "x of y pages"?
A search makes more sense here.
Not much, but that doesn't mean folks won't.
https://stackoverflow.com/questions says "17,335,212 questions " and the pagination goes "1 2 3 4 5 … 346705", if you want a real-world example.
Meaning, something that indicated some software was doing queries that were both unusual and somewhat high frequency?
Anyone know of some lightweight foss monitoring tools that are in this arena? (for single server MySQL setups).
"As part of our investigation into the alert, we learned that the individual whose credentials were used had not actually made the query,"
I know few companies use it on even fewer DB's but it can really help to identify "rogue access" to your data. It takes (a lot) of time to tone it down to your specific needs and DB access, but once it is up and running it can trigger at the right time (as in the article).
There are different kinds of DAM, inline just reading the network traffic, missing the direct access accounts would have from the DB server itself, and the ones that monitor the DB service memory directly. Of course you could start way cheaper / simpler with some proper logging from the DB software itself.
It is a growing security area that is a nice (once tamed) additional information source.
So the clearly sophisticated hacker(s) had access to the network for four years yet somehow forgot the private keys to decrypt the millions of records they went through all that effort to steal?
That is my read of it anyway.
I thought it was normal to run a security audit of whatever systems a business uses prior to the acquisition?