I am the journeyer from the valley of the dead Sega consoles. With the blessings of Sega Saturn, the gaming system of destruction, I am the Scout of Silence… Sailor Saturn.

  • 5 Posts
  • 227 Comments
Joined 1 year ago
cake
Cake day: June 29th, 2023

help-circle



  • Fair warning that I’ll be ranty because I hate losers talking about DEI hires.

    So why is memory address 0x9c trying to be read from? Well because… programmer error.

    So what happened is that the programmer forgot to check that the object it’s working with isn’t valid, it tried to access one of the objects member variables…

    This is a huge assumption. The last rumor I’ve read from actual cybersecurity people is that Crowdstrike’s update files were corrupt (update: disproven by Crowdstrike’s blog post). If this is true it’s likely still from programmer error at some level, but maybe not as simple as “whoopsie I forgot an if (data == nullptr) teehee”.

    He, like the rest of us that don’t work at Crowdstrike, has no idea what happened. I have seen computers do the weirdest gosh darn things. I know better than to assume anything at this point. I wouldn’t even rule out weird stuff like the data getting corrupted between release qualification and release yet.

    It turns out that C++, the language crowdstrike is using, likes to use address 0x0 as a special value to mean “there’s nothing here”, don’t try to access it or you’ll die.

    This thread is full of these sorts of small technical inaccuracies and oversimplifications so I won’t point out all of them, but nothing in the C++ standard requires null pointers to refer to memory address 0x0. Nor does it require that dereferencing a null pointer terminates the program.

    Windows died not because C++ asked it nicely to, but because a driver tried to access an address which wasn’t paged in.

    Crowdstrike should have set up automated testing using address sanitizer and thread sanitizer that runs on every code update.

    The funny thing about accessing into non-paged memory in kernel space:

    1. It will crash regardless of if it’s running under Asan or not, sanitizers are literally irrelevant based on what we know so far
    2. The Asan version he linked to is for user-space. In the windows kernel you’d need KASAN instead.

    (If this was a simple nullptr dereference on bad input data then perhaps a fuzzer would have helped. Fuzzers are great though I have no idea how hard they are to use with kernel drivers)

    C++ is hard. Maybe they have a DEI engineer that did this

    Dude would probably call me a “DEI hire”; but I bet I could beat him in a C++ deathmatch so neener neener.









  • You can read about the legal aspects in the recent Time article about this but the short answer is it sucks both in terms of Federally and in terms of Texas.

    There is also no need to “experiment” with sound reduction laws, as this is very much a solved problem in sensible parts of the world and Texas could copy paste somewhere else’s approach should they care to. But as this article says:

    Any statewide legislation is sure to hit significant headwinds, because the very idea of regulation runs contrary to many Texans’ political beliefs. “As constitutional conservatives, they have taken our core values and used that against us,” says Demetra Conrad, a city council member in the nearby town of Glen Rose.

    P.S. I do care what happens to bitcoin miners. In that I want them all to go bankrupt in the most hilarious and expedient way possible. is that too much to ask? Bananas jammed into computer fans should be involved somehow.