…according to a Twitter post by the Chief Informational Security Officer of Grand Canyon Education.

So, does anyone else find it odd that the file that caused everything CrowdStrike to freak out, C-00000291-
00000000-00000032.sys was 42KB of blank/null values, while the replacement file C-00000291-00000000-
00000.033.sys was 35KB and looked like a normal, if not obfuscated sys/.conf file?

Also, apparently CrowdStrike had at least 5 hours to work on the problem between the time it was discovered and the time it was fixed.

  • Gork@lemm.ee
    link
    fedilink
    English
    arrow-up
    25
    arrow-down
    2
    ·
    7 months ago

    How can all of those zeroes cause a major OS crash?

    • tiramichu@lemm.ee
      link
      fedilink
      English
      arrow-up
      205
      arrow-down
      2
      ·
      7 months ago

      If I send you on stage at the Olympic Games opening ceremony with a sealed envelope

      And I say “This contains your script, just open it and read it”

      And then when you open it, the script is blank

      You’re gonna freak out

      • Gork@lemm.ee
        link
        fedilink
        English
        arrow-up
        42
        arrow-down
        1
        ·
        7 months ago

        Ah, makes sense. I guess a driver would completely freak out if that file gave no instructions and was just like “…”

          • planish@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            37
            arrow-down
            1
            ·
            7 months ago

            That’s what the BSOD is. It tries to bring the system back to a nice safe freshly-booted state where e.g. the fans are running and the GPU is not happily drawing several kilowatts and trying to catch fire.

              • Aatube@kbin.melroy.orgOP
                link
                fedilink
                arrow-up
                20
                ·
                7 months ago

                what do you propose, run faulty code that could maybe actually nuke your system, not just memory but storage as well?

              • Morphit @feddit.uk
                link
                fedilink
                English
                arrow-up
                9
                ·
                7 months ago

                A page fault can be what triggers a catch, but you can’t unwind what a loaded module (the Crowdstrike driver) did before it crashed. It could have messed with Windows kernel internals and left them in a state that is not safe to continue. Rather than potentially damage the system, Windows stops with a BSOD. The only solution would be to not allow code to be loaded into the kernel at all, but that would make hardware drivers basically impossible.

              • reddit_sux@lemmy.world
                link
                fedilink
                English
                arrow-up
                7
                ·
                7 months ago

                BSOD is the ultimate catch statement of the OS. It will gracefully close all open data streams and exit. Of course it is not the usual exit so it gives a graphic representation of what not have gone wrong.

                If it would have been nuking it wouldn’t show anything.

          • Kaboom@reddthat.com
            link
            fedilink
            English
            arrow-up
            5
            arrow-down
            1
            ·
            7 months ago

            For most things, yes. But if someone were to compromise the file, stopping when they see it invalid is probably a good idea for security

      • deadbeef79000@lemmy.nz
        link
        fedilink
        English
        arrow-up
        18
        arrow-down
        1
        ·
        7 months ago

        Except “freak out” could have various manifestations.

        In this case it was “burn down the venue”.

        It should have been “I’m sorry, there’s been an issue, let’s move on to the next speaker”

        • the_crotch@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          12
          ·
          7 months ago

          In this case it was “burn down the venue”.

          It was more like “barricade the doors until a swat team sniper gets a clear shot at you”.

          • deadbeef79000@lemmy.nz
            link
            fedilink
            English
            arrow-up
            12
            ·
            7 months ago

            Hmmmm.

            More like standing there and loudly shitting your pants and spreading it around the stage.

        • tiramichu@lemm.ee
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          3
          ·
          7 months ago

          You’re right of course and that should be on Microsoft to better implement their driver loading. But yes.

          • Morphit @feddit.uk
            link
            fedilink
            English
            arrow-up
            7
            ·
            7 months ago

            The driver is in kernel mode. If it crashes, the kernel has no idea if any internal structures have been left in an inconsistent state. If it doesn’t halt then it has the potential to cause all sorts of damage.

      • Imgonnatrythis@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        11
        arrow-down
        1
        ·
        7 months ago

        Maybe. But I’d like to think I’d just say something clever like, “says here that this year the pummel horse will be replaced by yours truly!”

        • Takios@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          17
          ·
          7 months ago

          Problem is that software cannot deal with unexpected situations like a human brain can. Computers do exactly what a programmer tells it to do, nothing more nothing less. So if a situation arises that the programmer hasn’t written code for, then there will be a crash.

          • deadbeef79000@lemmy.nz
            link
            fedilink
            English
            arrow-up
            10
            arrow-down
            7
            ·
            7 months ago

            Poorly written code can’t.

            In this case:

            1. Load config data
            2. If data is valid:
              1. Use config data
            3. If data is invalid:
              1. Crash entire OS

            Is just poor code.

            • Takios@discuss.tchncs.de
              link
              fedilink
              English
              arrow-up
              10
              ·
              7 months ago

              I agree that the code is probably poor but I doubt it was a conscious decision to crash the OS.

              The code is probably just:

              1. Load config data
              2. Do something with data

              And 2 fails unexpectedly because the data is garbage and wasn’t checked if it’s valid.

              • Morphit @feddit.uk
                link
                fedilink
                English
                arrow-up
                3
                ·
                7 months ago

                You can still catch the error at runtime and do something appropriate. That might be to say this update might have been tampered with and refuse to boot, but more likely it’d be to just send an error report back to the developers that an unexpected condition is being hit and just continuing without loading that one faulty definition file.

                • Gadg8eer@preserve.games
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  7 months ago

                  Unfortunately, an OS that covers such cases is a lost monetization opportunity, fuck the system, use a Linux distro, you get the idea. Microsoft makes money off of tech support for people too unversed in computers to fix it themselves.

        • Hazzia@infosec.pub
          link
          fedilink
          English
          arrow-up
          9
          arrow-down
          2
          ·
          7 months ago

          I’m gonna take from this that we should have AI doing disaster recovery on all deployments. Tech CEO’s have been hyping AI up so much, what could possibly go wrong?

          • Couldbealeotard@lemmy.world
            link
            fedilink
            English
            arrow-up
            7
            ·
            7 months ago

            What are the chances that Crowdstrike started using ai to do their update deployments, and they just won’t admit it?

      • DigitalDilemma@lemmy.ml
        link
        fedilink
        English
        arrow-up
        11
        arrow-down
        2
        ·
        7 months ago

        Nice analogy, except you’d check the script before you tried to use it. Computers are really good at crc/hash checking files to verify their integrity, and that’s exactly what a privileged process like antivirus should do with every source of information.

      • JasonDJ@lemmy.zip
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        7 months ago

        The funny bit is, I’m sure more than a few people at Crowdstrike are preparing 3 envelopes right now.

      • CeeBee_Eh@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        7 months ago

        Ah yes. So Windows is the screaming in terror version and other systems are the “oh, sorry everyone, looks like there’s an error. Let’s just move on to the next bit” version.

    • driving_crooner@lemmy.eco.br
      link
      fedilink
      English
      arrow-up
      14
      arrow-down
      3
      ·
      edit-2
      7 months ago

      The file is used to store values to use as denominators on some divisions down the process. Being all zeros is caused a division by zero erro. Pretty rookie mistake, you should do IFERROR(;0) when using divisions to avoid that.

      • sugar_in_your_tea@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        18
        arrow-down
        2
        ·
        7 months ago

        I disagree. I’d rather things crash than silently succeed or change the computation. They should have done better input and output validation, and gracefully fail into a recoverable state that sends a message to an admin to correct. A divide by zero doesn’t crash a system, it’s a recoverable error they should 100% detect and handle, hot sweep under the rug.

      • Morphit @feddit.uk
        link
        fedilink
        English
        arrow-up
        5
        ·
        7 months ago

        IFERROR(;0)

        Maybe they should use a more appropriate development tool for their critical security platform than Excel.