The CrowdStrike Windows outage that hit the world this week stems back to an EU-Microsoft deal from 2009 that meant Microsoft had to give antivirus vendors the same Windows API access it had.
Personally, I don't see the issue. Microsoft shouldn't be responsible for when a third party creates a buggy kernel module.
And when you, as a company, decide to effectively install a low-level rootkit on all your machines in hopes that it will protect you against whatever, you accept the potential side effects. Last week, those side effects occurred.
Hard to say yet, if Microsoft is responsible or not. The thing is they certified it, as a stable and tested driver. But it isn't just a driver, but an interpreter/loader that loads code at runtime and executes it. In kernel mode. If Microsoft knew this they're definitely responsible for certifying it, but maybe crowdstrike hid this behavior until it was deployed to the customers.
We all hate Microsoft for turning Windows into an ad platform but they aren't wrong.
They are legally required to give Crowdstrike or anyone complete low level access to the OS. They are legally required to let Crowdstrike crash your computer. Because anything else means Microsoft is in control and not the software you installed.
It's no different than Linux in that way. If you install a buggy device driver on Linux, that's your/the driver's fault, not Linux.
You are not wrong, but people don't want to hear it. Do we want to retain control over what goes into kernel space or not? If so, we have to accept that whatever we stuff in there can crash the entire thing. That's why we have stuff like driver signatures. Which Crowdstrike apparently bypassed with a technical loophole from how I understand it.
The thing is, Microsoft's virus-scanning API shouldn't be able to BSOD anything, no matter what third-party software makes calls to it, or the nature of those calls. They should have implemented some kind of error handler for when the calls are malformed.
So this is really a case of both Crowdstrike and Microsoft fucking up. Crowdstrike shoulders most of the blame, of course, but Microsoft really needs to harden their API to appropriately catch errors, or this will happen again.
I'm an idiot. For some reason, I was thinking about the Windows Defender API, which can be called from third-party applications.
I actually agree, I own my computer / OS and I should be able to do what you're saying (install and break things). But Microsoft is a trillion dollar multi national corporation and I am certainly going to give them grief about this because I owe them less than nothing, let alone any good will.
But what if Windows have something similar to eBPF in Linux, and CS opted to use it, will this disaster won't happen at all or in a much smaller scale and less impactful?
But in this case Microsoft certified the driver. If they knew the driver included an interpreter that can run arbitrary code, they shouldn't have certified it because they can not fully test it. If they didn't know, then their certification test are inadequate. Most of the blame lies with the security software. If Microsoft didn't certify it, they would have had zero fault.
Security software are also "apps". Since Microsoft is also in the security software business locking down access for their competitors could definitely be seen as anti-competitive practices.
Apple doesn't have a monopoly with MacOS so other rules apply.
I know who that is and he's also a Microsoft employee these days which makes this a funny sequence of statements:
"EU bad because they made us open up Windows to 3rd party anti-virus vendors. Oh, btw, the fully open Linux operating system can cope with such a problem if properly configured. Here's the documentation to make that configuration."
I don't know enough about Windows 10/11, but aren't they supposed to boot into a menu thet allows you to pick the last known good configuration before it evens boots to the gui?
It's been a while since I had such a massive problem under Windows but the last time you could try to restore one of the last backups and usually that failed because Windows restore points are/were crap.
The document states that Microsoft is obligated to make available its APIs in its Windows Client and Server operating systems that are used by its security products to third-party security software makers.
The document does not, however say those APIs have to exist. Microsoft could eliminate them for its own security products and then there would be no issue.
It's a third party kernel module, which Microsoft would love to be able to block, but legally can't. It's technically possible to write a virus scanner that runs in user space instead of the kernel, but it's easier to make sure everything gets scanned if it's in the kernel.
Why should MS do that? I guess if they saw a market value for it, they could. Like how Defender came to be after 20 years of third party anti-virus.
They certainly developed the tech for it - I remember reading about some of their research circa 2000 making the OS and everything on it a database. They've kind of been working that direction for years (see MyLifeBits).
I suppose they could provide an add-on tool for this, but I suspect there's a political barrier (imagine the blowback of MS providing such a tool).