this post was submitted on 20 Jul 2024
413 points (98.1% liked)

Programmer Humor

19774 readers
28 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
all 17 comments
sorted by: hot top controversial new old
[–] chalupapocalypse 95 points 4 months ago (3 children)

Management: Well we lost 8 billion dollars but we still don't have any extra money for backups or remote reimaging or vdi, but we will buy you 700 plane tickets to go to each computer and boot it into safe mode, also you're fired

[–] iAvicenna 2 points 4 months ago

while management at CrowdStrike: we are doubling the number of min commits and reviews per day to make up for the damage

[–] [email protected] -3 points 4 months ago (1 children)

Much less invest in a memory safe language. If they don't take a serious look at Rust, Go, or some other memory-safe language... I'll stop right there: they won't. Management doesn't give a fuck as long as the cost is within manageable margins, or they can fire a bunch of scapegoats but change nothing.

Anti Commercial-AI license

[–] [email protected] 17 points 4 months ago (1 children)

a kernel module should not be written in Go

[–] [email protected] 4 points 4 months ago (2 children)
[–] [email protected] 8 points 4 months ago (1 children)

I don't think that rust would have prevented this one, since this isn't a compile time error (for the code loader).The address dereferencing would have been inside an unsafe block. What was missing was a validity check of the CI build artifacts and payload check on the client side.

I do however, think that the 'fingers-crossed' approach to memory safety in C and C++ must stop. Rust is a great fit for this use case.

[–] Valmond 2 points 4 months ago

Well, modern c++ with smartpointers is quite good IMO.

C on the ither hand is like swimming with sharks, with a nosebleed.

[–] [email protected] 1 points 4 months ago (1 children)

I might be wrong, but from how I understand it it probably wouldn't help. Kernel drivers have a rigorous QA and cert by Microsoft if you want to get them signed, which is a process that may take a long time - longer than you can afford when pushing updates to AV/EDR to catch emerging threats. What Crowdstrike does to bypass this requirement is that the CS Falcon is just an engine, that loads, interprets and executes code from definition files. The kernel driver code then doesn't need to change, so no need for new MS cert, and they can just push new definition files. So, they kind of have to deal with unsafe in this case, since you are executing a new code.

[–] [email protected] 3 points 4 months ago

What Crowdstrike does to bypass this requirement is that the CS Falcon is just an engine, that loads, interprets and executes code from definition files.

If Microsoft really has "rigorous QA and cert" for kernel drivers then they shouldn't have certified this, because now it's a certified bypass for the certification.

[–] FuglyDuck 35 points 4 months ago* (last edited 4 months ago)

I’m willing to bet the threat of evil admin attacks will keep people up for a while.

[–] [email protected] 29 points 4 months ago (1 children)

If they made it malicious, we probably wouldn’t have noticed though

[–] Buddahriffic 8 points 4 months ago (1 children)

Plus this event doesn't rule out the existence of a malicious aspect.

[–] [email protected] 4 points 4 months ago

Nobody ever learned from the solarwinds attack. If a massive amount of your infrastructure is backed by some obscure software, bad actors will either try to insert a backdoor or find a zero-day exploit. If people are going to neglect what just happened, crowdstrike will fall heals up, faster than solarwinds did.

[–] [email protected] 5 points 4 months ago (1 children)

Wall Street bets regards linked to an evil admin attack? 😕

[–] [email protected] 9 points 4 months ago

Some guy posted a short thesis for crowdstrike just hours before the thing happened