this post was submitted on 20 Jul 2024
267 points (98.2% liked)

Programmer Humor

32373 readers
554 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 20 comments
sorted by: hot top controversial new old
[–] RandomLegend@lemmy.dbzer0.com 46 points 3 months ago (1 children)

You called our instance? :D

[–] JPAKx4@lemmy.blahaj.zone 27 points 3 months ago (2 children)

I had no idea that's what dbzer0 stood for!

[–] kionite231@lemmy.ca 21 points 3 months ago (1 children)

Ohhh dbzer0 = divide by zero

TIL

[–] ArchAengelus@lemmy.dbzer0.com 13 points 3 months ago (1 children)

There are dozens of us. Dozens!

[–] RandomLegend@lemmy.dbzer0.com 11 points 3 months ago (1 children)

Well actually we have 12,572 registered users :D

[–] CanadaPlus@lemmy.sdf.org 19 points 3 months ago

A kilodozen.

[–] emergencyfood@sh.itjust.works 4 points 3 months ago

I thought it was a Dragon Ball Z reference.

[–] Yondoza@sh.itjust.works 28 points 3 months ago (1 children)

Was this the root cause??? Hahahaha

[–] yogthos@lemmy.ml 29 points 3 months ago (1 children)
[–] CanadaPlus@lemmy.sdf.org 11 points 3 months ago* (last edited 3 months ago) (2 children)

Lit, I've been waiting for this.

Edit: That's mostly a high-level overview. Do you have some actual reverse-engineering you can point me to?

[–] Morphit@feddit.uk 9 points 3 months ago (1 children)

It's a proprietary enterprise security product so I think it'll be difficult to get information until they give a proper post-mortem (if they do so). Here's hoping someone can put it all together though.

From what we have from CrowdStrike so far, the Channel File 291 update was to combat some use of Named Pipes in Windows malware.

This seems to have triggered a null pointer exception in the Falcon kernel driver as it loaded this Channel File. CrowdStrike say this is not related to the large null sections of one of the files but haven't really explained what did trigger it.

Regardless, the kernel driver ought to have been statically analysed to detect this kind of memory hazard, or written in a language that prevents this class of bugs altogether. This is a priority of the US government right now, but CrowdStrike doesn't seem to have got the memo.

[–] CanadaPlus@lemmy.sdf.org 1 points 3 months ago (1 children)

I mean, even basic testing would have caught this. It's not like it's particularly infrequently triggered.

[–] Morphit@feddit.uk 2 points 3 months ago (1 children)

For this Channel File, yes. I don't know what the failure rate is - this article mentions 40-70%, but there could well be a lot of variance between different companies' machines.

The driver has presumably had this bug for some time, but they've never had a channel file trigger it before. I can't find any good information on how they deploy these channel files other than that they push several changes per day. One would hope these are always run by a diverse set of test machines to validate there's no impact to functionality but only they know the procedure there. It might vary based on how urgent a mitigation is or how invasive it'll be - though they could just be winging it. It'd be interesting to find out exactly how this all went down.

[–] CanadaPlus@lemmy.sdf.org 1 points 3 months ago* (last edited 3 months ago) (1 children)

I'm a bit OOTL on what exactly a channel file is, being a Linux person, or how it relates to a driver. Are they in userspace, then? That would make it slightly less insane they didn't check it thoroughly before their Friday update.

[–] Morphit@feddit.uk 1 points 3 months ago

It's a proprietary config file. I think it's a list of rules to forbid certain behaviours on the system. Presumably it's downloaded by some userland service, but it has to be parsed by the kernel driver. I think the files get loaded ok but the driver crashes when iterating over an array of pointers. Possibly these are the rules and some have uninitialised pointers but this is speculation based on some kernel dumps on twitter. So the bug probably existed in the kernel driver for quite a while, but they pushed a (somehow) malformed config file that triggered the crash.

[–] yogthos@lemmy.ml 1 points 3 months ago (1 children)

sorry, I haven't looked if there's a more detailed analysis yet

[–] CanadaPlus@lemmy.sdf.org 4 points 3 months ago (2 children)

Unfortunately most of the stuff I see linked is Twitter, and I'm not in the walled garden.

[–] Morphit@feddit.uk 2 points 3 months ago

Same. I can see some of it in between popovers about my account being suspended, getting rate limited, or of course "something went wrong". I don't understand why there are people who still only post there.

[–] yogthos@lemmy.ml 1 points 3 months ago

I'm sure somebody will do a proper write up in a few days.

[–] beeng@discuss.tchncs.de 10 points 3 months ago

Inserting Rust comment here :)