News for hackers. Stuff that matters.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by rco8786 on Sunday July 21, 2024 @08:25AM (#41024607)
Number 4 continues to be the most surprising bit to me. I could not fathom having a process that involves deploying to 8.5 million remote machines simultaneously.

Bugs in code I can almost always understand and forgive, even the ones that seem like they’d be obvious with hindsight. But this is just an egregious lack of the most basic rollout standards.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by mbreese on Sunday July 21, 2024 @11:47AM (#41025906)
For me, number 1 is the worst of the bunch. You should always expect that there will be bugs in processes, input files, etc… the fact that their code wasn’t robust enough to recognize a corrupted file and not crash is inexcusable. Especially in kernel code that is so widely deployed.

If any one of the five points above hadn’t happened, this event would have been avoided. However, if number 1 had been addressed - any of the others could have happened (or all at the same time) and it would have been fine.

I understand that we should assume that bugs will be present anywhere, which is why staggered deployments are also important. If there had been staggered deployments, the. The damage would have happened, but it would have been localized. I think security people would argue against a staged deployment though, as if it were discovered what the new definitions protected against, an exploit could be developed quickly to put those servers that aren’t in the “canary” group at risk. (At least in theory — I can’t see how staggering deployment over a 6-12 hour window would have been that risky).

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by timmytokyo on Sunday July 21, 2024 @12:13PM (#41026080)
They're all terrible, but I agree #1 is particularly egregious for a company ostensibly dedicated to security. A simple fuzz tester would have caught this type of bug, so they clearly don't perform even a minimal amount of testing on their code.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by nsguy on Sunday July 21, 2024 @03:02PM (#41027300)
Totally agree. Not only would a coverage guided fuzzer catch this they should also be adding every single file they send out to the corpus of that automated fuzz testing so they can get somewhat increased coverage on their parser.

There may not be out of the box fuzzers that test device drivers so you hoist all the parser code, build it into a stand-alone application, and fuzz that.

Likely this is a form of technical debt since I can understand not doing all of this day #1 when you have 5 customers but at some point as you scale up you need to change the way you look at risk.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by fluidcruft on Sunday July 21, 2024 @07:43PM (#41029455)
Seems like it would be easy enough to add a new checkbox for this to audits.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by jayd16 on Sunday July 21, 2024 @06:28PM (#41028844)
You admit that bugs are inevitable and then claim a bug free parser as the most important bullet. That seems flawed to me. It would certainly be nice, but is that achievable?

Policy changes seem more reliable and would catch other, as of yet unknown classes of bugs.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by marsten on Sunday July 21, 2024 @09:12PM (#41029988)
This shouldn't be an either-or situation; you do all of the above. A simple validating parser in the client would be easy to write and would have easily caught a null payload.

What looks especially bad for Crowdstrike is how many things (relatively simple things) had to fail in order for this to slip through. It's like walking into Fort Knox, grabbing a gold bar, and walking out unimpeded. A complete systemic failure.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by throwaway5752 on Sunday July 21, 2024 @06:49PM (#41029011)
I disagree. Has to be 4, something will always go wrong, so you have to deliver in cohorts.

That goes equally if it was a Windows Update rolled out in one motion that broke the falcon agent/driver, or if it was Crowdstrike. There is almost no excuse for a global rollout without telemetry checks, whether it's security agent updates or os patches.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by contravariant on Sunday July 21, 2024 @07:23PM (#41029284)
It might be the worst mistake, but number 1 was always going to happen sometime.

And even testing can't be trusted 100%, because writing code that does the right thing and code that tests things correctly are about equally hard, they just aren't always hard simultaneously.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by gitfan86 on Sunday July 21, 2024 @08:47AM (#41024701)
They probably don't get to claim agile story points until the ticket is in finished state. And they probably have a culture where vanity Metrics like "velocity" are prioritized
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by nmg on Sunday July 21, 2024 @09:07AM (#41024805)
This would answer the question that i've not heard anyone asking:

what incentivized the bad decisions that led to this catastrophic failure?

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by phs318u on Sunday July 21, 2024 @09:18AM (#41024870)
My understanding is that the culture (as reported by some customers) is quite aggressive and pushy. They are quite vocal when customers don’t turn in automatic updates.

It makes sense in a way - given their fast growth strategy (from nowhere to top 3) and desire to “do things differently” - the iconoclast upstarts that redefine the industry.

Or to summarise - hubris.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by hello_moto on Sunday July 21, 2024 @10:22AM (#41025298)
To catch 0day quickly, EDR needs to know "how".

The "how" here is AV definition or a way to identify the attack. In CS-speak: content.

Catching 0day quickly results in good reputation that your EDR works well.

If people turn off their AV definition auto-update, they are at-risk. Why use EDR if folks don't want to stop attack quickly?

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by LtWorf on Sunday July 21, 2024 @06:41PM (#41028943)
In theory you're correct. In practice it seems that crowdstrike has crashed systems with their updates much more often than 0day attacks.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by hello_moto on Sunday July 21, 2024 @08:17PM (#41029661)
How many times?

This is one bsod on windows 10. I saw another kernel panic on specific Linux distro.

What else?

One thing that is funny is that quite a few of their competitors are taking this opportunity to shit on them via Twitter and by marketing themselves as better than CrowdStrike.

Twitter, with all its issues, apparently has a feature to prevent fake news and that feature will show crowd source sentiment to debunk fake news, in this case, Twitter users showed how many times Crowdstrike competitor BSOD windows

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by phs318u on Sunday July 21, 2024 @09:01PM (#41029931)
Bottom line is this: there is absolutely no good reason for not doing rolling updates. Do a few and make sure they are ok. Keep rolling out in groups. This single approach alone would've meant that this event was of marginal impact to most of the public, as sysadmins would've had the opportunity to halt further updates and work on remediating their first group (typically non-critical servers). Rolling out to everything all at once is just bad practice, period.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by hello_moto on Sunday July 21, 2024 @09:56PM (#41030191)
Put yourself in the customer shoes: who wants to sign up to be rolled first?

There's best practice and then there's customer

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by RoyalHenOil on Tuesday July 23, 2024 @10:43AM (#41046499)
Give those customers a discount.

The solution to customer reluctance to being the guinea pig is not to force every customer to be a guinea pig.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by LtWorf on Monday July 22, 2024 @12:45AM (#41030990)
> This is one bsod on windows 10. I saw another kernel panic on specific Linux distro.

The red hat one. But they also did it to debian with a different issue, and I think another distro as well.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by 77pt77 on Sunday July 21, 2024 @11:37AM (#41025850)
> They are quite vocal when customers don’t turn in automatic updates.

I'm sorry but this is the customer's fault.

If I'm using your services you work for me and you don't get to bully me into doing whatever you think needs to be done.

People that chose this solution need to be penalized, but they won't.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by mbreese on Sunday July 21, 2024 @11:50AM (#41025926)
Customers don’t always have a choice here. They could be restricted by compliance programs (PCI, et al) and be required under those terms to have auto updates on.

Compliance also has to share some of the blame here, if best practices (local testing) aren’t allowed to be followed in the name of “security”.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by nerdjon on Sunday July 21, 2024 @12:04PM (#41026022)
This needs to keep being repeated anytime someone wants to blame the company.

Many don’t have a choice, a lot of compliance is doing x to satisfy a checkbox and you don’t have a lot of flexibility in that or you may not be able to things like process credit cards which is kinda unacceptable depending on your company. (Note: I didn’t say all)

CrowdStrike automatic update happens to satisfy some of those checkboxes.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by cruffle_duffle on Sunday July 21, 2024 @11:37AM (#41025847)
Oh the games I have to play with story points that have personal performance metrics attached to them. Splitting tickets to span sprints so there aren’t holes in some dudes “effort” because they didn’t compete some task they committed to.

I never thought such stories were real until I encountered them…

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by dboreham on Monday July 22, 2024 @02:37AM (#41031484)
Save yourself while you still can.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by thundershart on Sunday July 21, 2024 @10:06AM (#41025207)
Surely, CrowdStrike's safety posture for update rollouts is in serious need of improvement. No argument there.

But is there any responsibility for the clients consuming the data to have verified these updates prior to taking them in production? I haven't worn the sysadmin hat in a while now, but back when I was responsible for the upkeep of many thousands of machines, we'd never have blindly consumed updates without at least a basic smoke test in a production-adjacent UAT type environment. Core OS updates, firmware updates, third party software, whatever -- all of it would get at least some cursory smoke testing before allowing it to hit production.

On the other hand, given EDR's real-world purpose and the speed at which novel attacks propagate, there's probably a compelling argument for always taking the latest definition/signature updates as soon as they're available, even in your production environments.

I'm certainly not saying that CrowdStrike did nothing wrong here, that's clearly not the case. But if conventional wisdom says that you should kick the tires on the latest batch of OS updates from Microsoft in a test environment, maybe that same rationale should apply to EDR agents?

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by kiitos on Sunday July 21, 2024 @12:00PM (#41025994)
> But is there any responsibility for the clients consuming the data to have verified these updates prior to taking them in production

In the boolean sense, yes. United Airlines (for example) is ultimately responsible for their own production uptime, so any change they apply without validation is a risk vector.

In pragmatic terms, it's a bit fuzzier. Does CrowdStrike provide any practical way for customers to validate, canary-deploy, etc. changes before applying them to production? And not just changes with type=important, but all changes? From what I understand, the answer to that question is no, at least for the type=channel-update change that triggered this outage. In which case I think the blame ultimately falls almost entirely on CrowdStrike.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by cozzyd on Sunday July 21, 2024 @01:43PM (#41026687)
Arguably United airlines shouldn't have chosen a product they can't test updates of, though maybe there are no good options.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by chrisoconnell on Monday July 22, 2024 @11:11AM (#41035370)
>Arguably United airlines shouldn't have chosen a product they can't test updates of, though maybe there are no good options.

I used to work with regional parks and recreation departments, and they would not approve any updates that did not go through UAW environments that we had set up. All updates had to be deployed to their UAW, thoroughly tested, before going to their production environment.

I get this this is slightly different, but I'd imagine Airlines, Banks, and Hospitals would have far more strict UAW policies to avoid a single vendor from kneecapping operations.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by suzzer99 on Sunday July 21, 2024 @01:54PM (#41026763)
Yeah one of the major problems seems to be CrowdStrike's assumptions that channel files are benign. Which isn't true if there's a bug in your code that only gets triggered by the right virus definition.

I don't know how you could assert that this is impossible, hence channel files should be treated as code.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by thundershart on Sunday July 21, 2024 @05:58PM (#41028564)
> From what I understand, the answer to that question is no, at least for the type=channel-update change that triggered this outage. In which case I think the blame ultimately falls almost entirely on CrowdStrike.

Honestly, it hadn't even occurred to me that software like this marketed at enterprise customers wouldn't have this kind of control already available. It seems like an obvious thing that any big organization would insist on that I just took it for granted that it existed.

Whoops.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by janstice on Sunday July 21, 2024 @07:23PM (#41029286)
It seems nuts to me too - MS Defender has this out of the box. From looking at sysadmins on reddit, it seems that CS has a tiered update mechanism, but didn’t use it for this change.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by vel0city on Sunday July 21, 2024 @07:54PM (#41029540)
> Does CrowdStrike provide any practical way for customers to validate, canary-deploy, etc. changes before applying them to production?

They do, but this update bypassed all of those rules.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by jamesfinlayson on Sunday July 21, 2024 @08:53PM (#41029888)
Checks out - my company had lots of issues on Friday afternoon, and when it first happened I wondered who on Earth decided to roll out updates to prod systems on Friday afternoon.

No one at my company apparently.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by Brian_K_White on Sunday July 21, 2024 @10:28PM (#41030382)
"In which case I think the blame ultimately falls almost entirely on CrowdStrike"

I would say on the client for buying into CrowdStrike.

And also the client for having no contingencies and just accepting a vendor pinky-swear as meaningful.

CrowdStrike failed at their responsibilities too, I just mean that so did everyone else.

When you cede your own responsibilities to someone else and don't have that backed up with contractually enforced liability to make you whole when they fuck up, and also don't provide your own contingency so it doesn't really matter what some vendor does, that's on you. That's 100% entirely on you and it doesn't matter if a million other people also did the same utterly thoughtless and lazy thing.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by kiitos on Sunday July 21, 2024 @11:07PM (#41030572)
> I would say on the client for buying into CrowdStrike.

I understand this perspective but I think it misses the forest for the trees. You have to evaluate this kind of stuff in context. Purity tests really smack on tech message boards where nobody has any accountability to any kind of business requirements, but basically no real-world organization operates in that way, so it's all a bit irrelevant.

> When you cede your own responsibilities to someone else ...

This framing is a bit naive, I think. It isn't a boolean. Everything is about risk management, cost/benefit analysis.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by stoolpigeon on Sunday July 21, 2024 @10:36AM (#41025415)
I think point 3 of the grand parent indicates admins were not given an opportunity to test this.

My company had a lot of Azure vms impacted by this and I'm not sure who the admin was who should have tested it. Microsoft? I don't think we have anything to do with crowdstrike software on our vms. ( I think - I'm sure I'll find out this week.)

Edit: I just learned the Azure central region failure wasn't related to the larger event - and we weren't impacted by the crowd strike issue - I didn't know it was two different things. So my second part of the comment is irrelevant.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by thundershart on Sunday July 21, 2024 @10:58AM (#41025561)
Oh, I'd missed point #3 somehow. If individual consumers weren't even given the opportunity to test this, whether by policy or by bug, then ... yeesh. Even worse than I'd thought.

Exactly which team owns the testing is probably left up to each individual company to determine. But ultimately, if you have a team of admins supporting the production deployment of the machines that enable your business, then someone's responsible for ensuring the availability of those machines. Given how impactful this CrowdStrike incident was, maybe these kinds of third-party auto-update postures need to be reviewed and potentially brought back into the fold of admin-reviewed updates.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by volkl48 on Sunday July 21, 2024 @12:59PM (#41026387)
It's not an option. While the admins at the customer have the ability to control when/how revisions of the client software go out (and this, can + generally do their own testing, can decide to stay one rev back as default, etc), there is no control over updates to the kind of update/definition files that were the primary cause here.

Which is also why you see every single customer affected - what you are suggesting is simply not an available thing to do at present for them.

At least for now - I imagine that some kind of staggered/slowed/ringed option will have to be implemented in the future if they want to retain customers.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by layer8 on Sunday July 21, 2024 @12:19PM (#41026126)
Malware signature updates are supposed to be deployed ASAP, because every minute may count when a new attack is spreading. The mistake may have been to apply that policy indiscriminately.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by mrbombastic on Sunday July 21, 2024 @02:20PM (#41026985)
And here I thought shipping a new version on the app store was scary.

Is there anything we can take from other professions/tradecraft/unions/legislation to ensure shops can’t skip the basic best practices we are aware of in the industry like staged rollouts? How do we set incentives to prevent this? Seriously the App Store was raking in $$ from us for years with no support for staged rollouts and no other options.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by avree on Sunday July 21, 2024 @02:27PM (#41027038)
A lot of snarky replies to this comment, but the reality is that if you were selling an anti-virus, identified a malicious virus, and then chose not to update millions of your machines with that virus’s signature, you’d also be in the wrong.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by naasking on Sunday July 21, 2024 @03:14PM (#41027384)
> identified a malicious virus, and then chose not to update millions of your machines with that virus’s signature, you’d also be in the wrong.

No, for exactly the reason we just saw, and the same reason why vaccines are tested before widespread rollout.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by aforwardslash on Sunday July 21, 2024 @04:40PM (#41027904)
On the other hand, diseases vaccines prevent dont have almost instantaneous propagation, thats why they are effective at containing propagation.

As an example, reaction time is paramount to counter many kinds of attacks - thats why blocklists are so popular, and AS blackholing is a viable option.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by rco8786 on Monday July 22, 2024 @07:23AM (#41033157)
I’m not saying don’t update? I’m talking about rolling the update over the course of a short amount of time, like under an hour. With the ability to stop the rollout.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by VirusNewbie on Sunday July 21, 2024 @04:03PM (#41027703)
> But this is just an egregious lack of the most basic rollout standards.

Agreed. It's crazy that the top tech companies enforce this in a biblical fashion, despite all sorts of pressure to ship and all that. Crowdstrike went YOLO at a global scale.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by alsetmusic on Sunday July 21, 2024 @04:06PM (#41027714)
I worked at one of the big ones and we always shipped live to all consumer devices at the same time. But this was for a popular suite of products that generate a lot of consumer demand, so we had a rigorous QA process to make sure this wouldn't be a problem. As I was typing this, it occurred to me that zero people would have cared if this update was staggered making it pretty silly not to.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by trhway on Sunday July 21, 2024 @04:54PM (#41028018)
As the QA manager said in our recent product meeting - "as the canary doesn't work we roll out and test on the production cloud".
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by robomc on Sunday July 21, 2024 @05:19PM (#41028227)
I wonder if there's a concern that staggering the malware signatures would open them up to lawsuits if somebody was hacked in between other customers getting the data and them getting the data.
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by thundershart on Sunday July 21, 2024 @06:08PM (#41028668)
> I wonder if there's a concern that staggering the malware signatures would open them up to lawsuits if somebody was hacked in between other customers getting the data and them getting the data.

I'd assume that sort of thing would be covered in the EULA and contract -- but even if it weren't, it seems like allowing customers to define their own definition update strategy would give them a pretty compelling avenue to claim non-liability. If CrowdStrike can credibly claim "hey, we made the definitions available, you chose to wait for 2 weeks to apply them, that's on you", then it becomes much less of a concern.

Re:Initial details about why CrowdStrike's CSAgent.sys crashed by otabdeveloper4 on Monday July 22, 2024 @01:57PM (#41037370)
Rolling it all out at once is "security best practices".
Re:Initial details about why CrowdStrike's CSAgent.sys crashed by rco8786 on Monday July 22, 2024 @02:09PM (#41037562)
What's the reasoning here? Extreme time sensitivity?