Ein System, das so sehr auf dem kritischen Pfad liegt, hätte keine ordentliche CI-Pipeline passieren dürfen
Ich bin nicht extrem streng, was automatisierte Tests angeht, aber bei einem System dieser Wichtigkeit muss das Zustandsmanagement außergewöhnlich gut sein
Ohne Integrationstests für alle Umgebungen, die man zu unterstützen behauptet, sollte man nichts in die Produktion ausrollen, und es ist absurd, dass ein Unternehmen dieser Größe und Bedeutung nicht einmal Staging- oder Entwicklungstestserver hat, auf denen das gesamte Spektrum unterstützter Images geprüft wird
Ohne weitere Informationen sind das zu viele Annahmen. Es könnte zum Beispiel tatsächlich eine korrekte Datei gegeben haben, und die Fehlerstelle war vielleicht der Code, der verifizierte Artefakte in ein CDN hochlädt
Dann könnte das Problem erst nach vielen Prüfungen vor dem Deployment entstanden sein. Ich würde nicht vorschnell schließen wollen, dass sie den Export nach Windows überhaupt nicht testen
Wer sagt, dass es eine solche Umgebung nicht gibt? Wer sagt, dass all diese Tests nicht bestanden wurden? Im Moment sind das zu viele Annahmen
Als ich vor ein paar Jahren bei einem Team im Vorstellungsgespräch war, das für eine im Kernel laufende Sprache zuständig war, erinnere ich mich, dass deren CI 20.000 bis 40.000 Maschinen-/OS-Kombinationen und Konfigurationen durchlaufen ließ
Darunter war ziemlich sicher auch ein Standard-Windows
Wenn das Akzeptanzkriterium lautete: „Bei einer fehlerhaften Datensignatur das Booten der Maschine verhindern“, dann könnte das eine beschädigte Auslieferung oder ein Netzwerkproblem bedeuten, und nicht zu booten wäre im Nachhinein vielleicht das korrekte Verhalten
Es könnte so entworfen gewesen sein, dass die Maschine nicht vollständig booten darf, bis eine Datei mit gültiger Signatur heruntergeladen wurde
Es ist schwer zu glauben, dass eine komplett mit Nullzeichen gefüllte Datei ein Artefakt einer automatisierten Build-Pipeline war
Ich würde eher darauf tippen, dass nach dem Build und nach bestandenen CI-Tests in einem nachgelagerten Schritt, in dem Dateien für die Bereitstellung kopiert werden, etwas kaputtging. Aber im Moment ist das alles nur Spekulation
In diesem Zusammenhang wirkt es nicht wie ein Zufall, dass die zwei größten technischen Katastrophen der Geschichte – CrowdStrike und der SolarWinds-Hack vor ein paar Jahren – beide von außer Kontrolle geratener Sicherheitssoftware ausgingen
Ich vermute, dass Hacker-Typen, die gern eine Sicherheitssoftware-Firma gründen, am wenigsten Interesse daran haben, die langweiligen Teile einer prozessorientierten Kultur umzusetzen. Bei SolarWinds kam ans Licht, dass die interne Sicherheitskultur des Unternehmens schrecklich war, und wenn hier die eigentliche Ursache bekannt wird, sieht es stark danach aus, dass es ein schneller und lockerer Deployment-Prozess war
Ich stimme nicht zu. Sicherheitsfirmen leiden am „too big to fail“-Syndrom, und das Geld fließt leicht, weil Kunden nur ihre Checkboxes abhaken wollen Sicherheit ist kein Produkt, das man kauft, sondern eine Kultur, und sie muss vom ersten Tag an durch aktives Bemühen und harte Arbeit verankert werden. Es gibt kein Produkt auf dem Markt, das einem Sicherheit liefert; es gibt nur Produkte, denen man die Schuld zuschieben kann, wenn etwas schiefgeht
CrowdStrike wurde ursprünglich in Irvine, Kalifornien, gegründet und hatte dort seinen Hauptsitz
Der Großteil der frühen Engineering-Organisation war remote/im Homeoffice oder in Irvine, und als das Unternehmen wuchs, kam ein Büro in Sunnyvale hinzu, bevor später der offizielle Hauptsitz nach Austin, TX, verlegt wurde
In den letzten Jahren wurden auch Engineering-Aktivitäten im Ausland ausgebaut, was möglicherweise auch Offshoring einschloss
Eine separate Hypothese, aber mit der anderen vereinbar. Sicherheitssoftware braucht im Allgemeinen breite und starke Zugriffsrechte
Deshalb sind die Auswirkungen bei Fehlern oder Kompromittierungen oft viel größer
Die Bilanz der Branche ist schon ziemlich ungewöhnlich. Was mir spontan einfällt, sind CrowdStrike, SolarWinds, Kaspersky und https://en.wikipedia.org/wiki/John_McAfee
Wahrscheinlich vergesse ich noch einiges. Vielleicht ist die Struktur ähnlich wie beim Problem der Selbstselektion, das die legale Cannabisbranche plagt
Sicherheitssoftware braucht Zugriff auf Kernel-Ebene. Wenn etwas kaputtgeht, führt das zu Boot-Loops und Abstürzen
Die meiste andere Software braucht keinen so tiefen Zugriff, reißt beim Absturz nicht das ganze System mit und kann außerdem schnell automatisch aktualisiert werden
Wenn man dieser Katastrophe unbedingt etwas Positives abgewinnen will, dann gibt es vielleicht einen winzigen Hoffnungsschimmer, dass Organisationen Zugriff auf Kernel-Ebene noch einmal überdenken
Man kann nicht davon ausgehen, dass irgendeine Spielefirma kompetent genug ist, um Anti-Cheat-Software auf Kernel-Ebene einzusetzen
Solange Microsoft nicht extrem hart durchgreift, wird Gaming-Software vermutlich nicht betroffen sein
Trotzdem gehören Microsoft Spielefirmen, also wird es für Spiele wahrscheinlich weiterhin Hooks geben. Unternehmensorganisationen werden bei Riots Anti-Cheat-Praktiken nicht mit der Wimper zucken, weil sie LoL nicht auf Arbeitsrechnern installieren
Die Gegner, gegen die man kämpfen muss, sind Cheat-Käufer, die sagen: „Zufälliger Kernel-Level-Treiber? Kein Problem!“
Anti-Cheat sollte meiner Meinung nach größtenteils serverseitig und verhaltensbasiert sein
Unter macOS ist Kernel-Zugriff meines Wissens zumindest nicht möglich, was immerhin gut ist
Das sieht aus wie eine Testdatei, die ein QA-Verantwortlicher als zweites oder drittes nach einer leeren Datei und einer minimal gültigen Datei ausprobiert hätte. Das hier offenbarte Ausmaß an umfassender Inkompetenz ist schockierend.
In einem umkämpften Markt, in dem man nichttechnische Führungskräfte mit Präsentationen beeindruckt, ist es auch nicht überraschend, dass technisch kompetente Unternehmen keinen Vorteil gegenüber inkompetenten Unternehmen haben.
Ich habe kürzlich das Urteil zu Craig Wright gelesen https://www.judiciary.uk/judgments/copa-v-wright/. Er hatte fälschlich behauptet, Satoshi Nakamoto zu sein, verfügte aber selbst in Bereichen, in denen er sich als Weltklasse-Experte ausgab, nicht über grundlegende technische Kompetenz. Im Zeugenstand wusste er nicht einmal, was „unsigned“ bedeutet, und es wirkte so, als habe er seit den 90ern bei Sicherheitsarbeit für Großunternehmen Menschen mit Fachjargon, manipulierten Demos und gefälschten Dokumenten getäuscht.
CrowdStrike-Gründer und CEO George Kurtz war CTO, als McAfee vor 14 Jahren fast dasselbe tat: https://old.reddit.com/r/sysadmin/comments/1e78l0g/can_crowd...https://en.wikipedia.org/wiki/George_Kurtz
CrowdStrike selbst hat vor drei Monaten unter Debian stable dasselbe Problem verursacht: https://old.reddit.com/r/debian/comments/1c8db7l/linuximage6...
Es ist furchtbar, dass PCI-Compliance-Vorgaben CrowdStrike und Antivirus-Software heute in nahezu jeden Winkel der IT-Infrastruktur gedrückt haben.
Ironisch ist auch, dass Compliance als gewaltiger Single Point of Failure die größte Schwachstelle geschaffen hat.
Aber so ist staatliche Regulierung nun einmal.
Das Schlimmste an diesem Vorfall ist, dass staatliche Akteure nun eine klare Blaupause für groß angelegte Infrastrukturangriffe bekommen haben.
Es ist amüsant, dass sich die Leute im Link darüber aufregen, wenn man das eine „Microsoft-Störung“ nennt, und sagen, es sei „CrowdStrikes Schuld“.
Aber das ist auch ein Versagen von Microsoft. Und in größerem Maßstab wieder ein Versagen der Branche.
Wie oft muss so etwas noch passieren, bevor es Branchenreformen gibt, die uns ermöglichen, sichere und zuverlässige Systeme zu bauen, an denen wir seit 70 Jahren forschen? Es fühlt sich an, als würde sich 1988 erneut wiederholen.
Es ist ziemlich ironisch, dass Craig Wright vorgeschlagen hat, digitale Zertifikate nicht von einem einzelnen Computer oder Cluster ausstellen zu lassen, sondern sie auf die Blockchain zu bringen.
Wenn sie an einem Ort liegen, werden sie zum Ziel; ein Peer-to-Peer-Netzwerk ist gegenüber Angriffen viel widerstandsfähiger.
Falls dieses Problem damit zu tun gehabt hätte, dass die Root-Zertifikate aller Computer durch CrowdStrike ersetzt wurden, könnten auf einer Blockchain registrierte Zertifikate eine Lösung sein. Ich bin kein Kryptografie-Experte, aber es klingt plausibel.
Nebenbei: Erst als ich Craig Wrights Erklärung der Blockchain gehört habe, begann ich das Bitcoin-Whitepaper ziemlich gut zu verstehen. Er ist vielleicht nicht der beste Coder, aber Mathematiker sind in der Security doch nicht nutzlos, oder?
Ich will nicht nach Verschwörungstheorie klingen, aber es scheint noch zu früh, um Böswilligkeit allein mit Hanlon’s Razor auszuschließen.
Die meisten Fehler haben nicht so ein absurdes weltweites Ausmaß. Es wirkt wie der größte Fehler bisher, also wie Y2K, das nicht eingetreten ist.
Dieser Beitrag ist falsch, und da es keine andere Möglichkeit gibt, ihn von der Frontpage zu bekommen, habe ich ihn geflaggt.
Nur weil man auf einem kaputten Computer eine Datei findet, die nur aus Nullen besteht, heißt das nicht, dass diese Datei von Anfang an komplett als Nullen verteilt wurde. https://x.com/craiu/status/1814339965347610863 https://x.com/cyb3rops/status/1814329155833516492
CrowdStrike verhält sich so, dass eine Datei, die über einen Netzwerk-Socket übertragen wird, durch Nullen ersetzt wird, wenn sie zu einer Malware-Signatur passt.
Wenn diese Dateien selbst Malware-Signaturdateien sind, ist es nicht überraschend, dass es einen Treffer gibt.
Das passt zu dem, was ich von einem Freund gehört habe, der jemanden kennt, der bei CrowdStrike arbeitet.
Der Bug schlummerte jahrelang im Kernel-Treiber und wurde durch fehlerhafte Daten ausgelöst. Diese Daten wurden in einem Nachverarbeitungsschritt eines Konfigurationsupdates hinzugefügt, nach dem Testen, aber bevor es auf die Update-Server kopiert wurde, von denen die Clients es abrufen.
CrowdStrikes Testaufbau war für die Konfigurationsdaten selbst offenbar in Ordnung, hat es aber vor dem Gang in die Produktion nicht abgefangen. Sie testeten das Falsche.
Falls sie eine Postmortem-Analyse veröffentlichen, hoffe ich, dass sie dieses Problem anerkennen und erklären, was sie tun werden, um ein weiteres Prozessversagen mit weltweiten Auswirkungen zu verhindern.
Endlich eine Erklärung, die einigermaßen Sinn ergibt.
Jeder kompetente Systemadministrator dürfte inzwischen von Grönland bis Neuseeland automatische Updates deaktivieren, per Firewall blockieren und einen Plan ausarbeiten, dieses Produkt so schnell wie möglich aus dem Serverbestand zu entfernen.
Die Marketingbudgets der Konkurrenzprodukte dürften in diesem Quartal steigen.
CrowdStrike muss weit mehr erleben, als das einfach nur „anzuerkennen“.
Auch wenn in den Verträgen eine „Haftungsbeschränkung“ steht, hoffe ich auf ernsthafte Untersuchungen, Geldstrafen und rechtliche Konsequenzen.
Das Ausmaß des durch diesen Vorfall verursachten Schadens ist kaum zu berechnen, und es wird noch größer, wenn man die verschwendete Zeit von Unternehmen und normalen Menschen einbezieht, etwa von Leuten, die einen Flug nehmen wollten.
Für diese Nachlässigkeit muss es zwingend einen Preis geben.
Ich dachte, Windows verlange für alle Kernel-Module eine Signatur
Wenn es sich nicht nur um ein einfaches Test-Leak handelte, sondern um mehrere beschädigte Kopien, stellt sich die Frage, wie sie die Signaturprüfung bestehen und vom Kernel geladen werden konnten
Möglicherweise war das nicht der ursprüngliche Dateiinhalt, sondern das Ergebnis einer manuellen Reaktion, um den Schaden zu stoppen
Jemand könnte erwartet haben, dass das Update harmlos wird, wenn man die fehlerhafte Datei mit einer gleich großen, komplett aus Nullen bestehenden Datei überschreibt
Oder, falls man der Hypothese folgt, dass „wegen einer kritischen Schwachstelle die QA umgangen wurde“, könnte das Stoppen der tatsächlichen Patch-Auslieferung auch ein Versuch gewesen sein, den Zugriff auf die echten Daten zu reduzieren und das Reverse Engineering der Schwachstelle zu verlangsamen
Einer Erklärung auf dem Technik-Board von 4chan zufolge bestand das Problem aus zwei Stufen
Ein signierter Kernel-Treiber namens CSAgent.sys parste die Virendefinitionsdateien von CrowdStrike, und der Fall, dass eine malformed Definitionsdatei einen fehlerhaften Speicherzugriff auslöst, wurde nicht korrekt behandelt
Es gab also einen Zeitbomben-Kernel-Treiber, der mit normalen Definitionsdateien monatelang problemlos lief, und irgendwann begann der Webserver oder das CDN, das die Definitionsdateien bereitstellt, fehlerhafte Inhalte wie leere Dateien, beliebige Bytes oder Dateien anderer Software auszuliefern
Der Update-Client lud diese unter C:\Windows\System32\drivers herunter, CSAgent.sys las und parste sie erneut und geriet dabei mit PAGE_FAULT_IN_NONPAGED_AREA in einen Bluescreen- und Reboot-Loop, so die Erklärung
Beim Vergleich von CSAgent.sys_18511.sys und CSAgent.sys_18513.sys sehe man Spuren davon, dass Größenprüfung und Puffergröße geändert wurden, damit künftig fehlerhafte Definitionsdateien keinen Absturz mehr verursachen
Es klingt so, als hätte auf dem Server, der die Definitionsdateien bereitstellt, irgendeine Virenschutzfunktion das Lesen von der Festplatte blockiert und statt eines Fehlers Ausgabedaten als Nullen geliefert
Wenn tatsächlich irgendein Antivirus-Paket die Ursache gewesen wäre, wäre das ziemlich komisch
Wenn so etwas mehrfach passiert ist, könnte es ein Hackerangriff gewesen sein, der auf einen schlecht geschriebenen Kernel-Treiber zielte
Besonders im Kontext des aktuellen Wahlzeitpunkts und einer Firma, die Trump mag, könnte das auch eine Machtdemonstration gewesen sein
Früher ist es schon einmal passiert, dass Sicherheitssoftware eine ganze Datei in Nullen verwandelt und dadurch die Kompilierung von Software kaputtgemacht hat
Ich sage nicht, dass es diesmal so war, aber überraschen würde es mich trotzdem nicht
Im Grunde konnte der Linker unter Windows eine Datei nicht öffnen, weil ein anderer Prozess sie zum Scannen gesperrt hatte. Statt jedoch einen Fehler auszugeben, verwandelte er den zu linkenden Objektcode in Nullen
Die Leute fanden die Ursache nicht, bis sie den Debugger öffneten und sahen, dass große Blöcke des Objektcodes durch Nullen ersetzt worden waren
Ich habe viel zu oft erlebt, dass Visual Studio nicht in eine gerade kompilierte Datei schreiben konnte
Der Virenscanner schnappte sich das neu erzeugte Binary genau in dem Moment, in dem mt.exe es schreiben musste, daher habe ich sogar einen mt.exe-Wrapper gebaut, der Retries hinzufügt. Auch CI-Builds scheitern deswegen immer wieder zufällig
1 Kommentare
Meinungen auf Hacker News
Ein System, das so sehr auf dem kritischen Pfad liegt, hätte keine ordentliche CI-Pipeline passieren dürfen
Ich bin nicht extrem streng, was automatisierte Tests angeht, aber bei einem System dieser Wichtigkeit muss das Zustandsmanagement außergewöhnlich gut sein
Ohne Integrationstests für alle Umgebungen, die man zu unterstützen behauptet, sollte man nichts in die Produktion ausrollen, und es ist absurd, dass ein Unternehmen dieser Größe und Bedeutung nicht einmal Staging- oder Entwicklungstestserver hat, auf denen das gesamte Spektrum unterstützter Images geprüft wird
Dann könnte das Problem erst nach vielen Prüfungen vor dem Deployment entstanden sein. Ich würde nicht vorschnell schließen wollen, dass sie den Export nach Windows überhaupt nicht testen
Darunter war ziemlich sicher auch ein Standard-Windows
Es könnte so entworfen gewesen sein, dass die Maschine nicht vollständig booten darf, bis eine Datei mit gültiger Signatur heruntergeladen wurde
Ich würde eher darauf tippen, dass nach dem Build und nach bestandenen CI-Tests in einem nachgelagerten Schritt, in dem Dateien für die Bereitstellung kopiert werden, etwas kaputtging. Aber im Moment ist das alles nur Spekulation
In diesem Zusammenhang wirkt es nicht wie ein Zufall, dass die zwei größten technischen Katastrophen der Geschichte – CrowdStrike und der SolarWinds-Hack vor ein paar Jahren – beide von außer Kontrolle geratener Sicherheitssoftware ausgingen
Ich vermute, dass Hacker-Typen, die gern eine Sicherheitssoftware-Firma gründen, am wenigsten Interesse daran haben, die langweiligen Teile einer prozessorientierten Kultur umzusetzen. Bei SolarWinds kam ans Licht, dass die interne Sicherheitskultur des Unternehmens schrecklich war, und wenn hier die eigentliche Ursache bekannt wird, sieht es stark danach aus, dass es ein schneller und lockerer Deployment-Prozess war
Sicherheit ist kein Produkt, das man kauft, sondern eine Kultur, und sie muss vom ersten Tag an durch aktives Bemühen und harte Arbeit verankert werden. Es gibt kein Produkt auf dem Markt, das einem Sicherheit liefert; es gibt nur Produkte, denen man die Schuld zuschieben kann, wenn etwas schiefgeht
Der Großteil der frühen Engineering-Organisation war remote/im Homeoffice oder in Irvine, und als das Unternehmen wuchs, kam ein Büro in Sunnyvale hinzu, bevor später der offizielle Hauptsitz nach Austin, TX, verlegt wurde
In den letzten Jahren wurden auch Engineering-Aktivitäten im Ausland ausgebaut, was möglicherweise auch Offshoring einschloss
Deshalb sind die Auswirkungen bei Fehlern oder Kompromittierungen oft viel größer
Wahrscheinlich vergesse ich noch einiges. Vielleicht ist die Struktur ähnlich wie beim Problem der Selbstselektion, das die legale Cannabisbranche plagt
Die meiste andere Software braucht keinen so tiefen Zugriff, reißt beim Absturz nicht das ganze System mit und kann außerdem schnell automatisch aktualisiert werden
Wenn man dieser Katastrophe unbedingt etwas Positives abgewinnen will, dann gibt es vielleicht einen winzigen Hoffnungsschimmer, dass Organisationen Zugriff auf Kernel-Ebene noch einmal überdenken
Man kann nicht davon ausgehen, dass irgendeine Spielefirma kompetent genug ist, um Anti-Cheat-Software auf Kernel-Ebene einzusetzen
Trotzdem gehören Microsoft Spielefirmen, also wird es für Spiele wahrscheinlich weiterhin Hooks geben. Unternehmensorganisationen werden bei Riots Anti-Cheat-Praktiken nicht mit der Wimper zucken, weil sie LoL nicht auf Arbeitsrechnern installieren
Das sieht aus wie eine Testdatei, die ein QA-Verantwortlicher als zweites oder drittes nach einer leeren Datei und einer minimal gültigen Datei ausprobiert hätte. Das hier offenbarte Ausmaß an umfassender Inkompetenz ist schockierend.
In einem umkämpften Markt, in dem man nichttechnische Führungskräfte mit Präsentationen beeindruckt, ist es auch nicht überraschend, dass technisch kompetente Unternehmen keinen Vorteil gegenüber inkompetenten Unternehmen haben.
Ich habe kürzlich das Urteil zu Craig Wright gelesen https://www.judiciary.uk/judgments/copa-v-wright/. Er hatte fälschlich behauptet, Satoshi Nakamoto zu sein, verfügte aber selbst in Bereichen, in denen er sich als Weltklasse-Experte ausgab, nicht über grundlegende technische Kompetenz. Im Zeugenstand wusste er nicht einmal, was „unsigned“ bedeutet, und es wirkte so, als habe er seit den 90ern bei Sicherheitsarbeit für Großunternehmen Menschen mit Fachjargon, manipulierten Demos und gefälschten Dokumenten getäuscht.
CrowdStrike-Gründer und CEO George Kurtz war CTO, als McAfee vor 14 Jahren fast dasselbe tat: https://old.reddit.com/r/sysadmin/comments/1e78l0g/can_crowd... https://en.wikipedia.org/wiki/George_Kurtz
CrowdStrike selbst hat vor drei Monaten unter Debian stable dasselbe Problem verursacht: https://old.reddit.com/r/debian/comments/1c8db7l/linuximage6...
Es ist furchtbar, dass PCI-Compliance-Vorgaben CrowdStrike und Antivirus-Software heute in nahezu jeden Winkel der IT-Infrastruktur gedrückt haben.
Aber so ist staatliche Regulierung nun einmal.
Aber das ist auch ein Versagen von Microsoft. Und in größerem Maßstab wieder ein Versagen der Branche.
Wie oft muss so etwas noch passieren, bevor es Branchenreformen gibt, die uns ermöglichen, sichere und zuverlässige Systeme zu bauen, an denen wir seit 70 Jahren forschen? Es fühlt sich an, als würde sich 1988 erneut wiederholen.
Wenn sie an einem Ort liegen, werden sie zum Ziel; ein Peer-to-Peer-Netzwerk ist gegenüber Angriffen viel widerstandsfähiger.
Falls dieses Problem damit zu tun gehabt hätte, dass die Root-Zertifikate aller Computer durch CrowdStrike ersetzt wurden, könnten auf einer Blockchain registrierte Zertifikate eine Lösung sein. Ich bin kein Kryptografie-Experte, aber es klingt plausibel.
Nebenbei: Erst als ich Craig Wrights Erklärung der Blockchain gehört habe, begann ich das Bitcoin-Whitepaper ziemlich gut zu verstehen. Er ist vielleicht nicht der beste Coder, aber Mathematiker sind in der Security doch nicht nutzlos, oder?
Die meisten Fehler haben nicht so ein absurdes weltweites Ausmaß. Es wirkt wie der größte Fehler bisher, also wie Y2K, das nicht eingetreten ist.
Dieser Beitrag ist falsch, und da es keine andere Möglichkeit gibt, ihn von der Frontpage zu bekommen, habe ich ihn geflaggt.
Nur weil man auf einem kaputten Computer eine Datei findet, die nur aus Nullen besteht, heißt das nicht, dass diese Datei von Anfang an komplett als Nullen verteilt wurde.
https://x.com/craiu/status/1814339965347610863
https://x.com/cyb3rops/status/1814329155833516492
Wenn diese Dateien selbst Malware-Signaturdateien sind, ist es nicht überraschend, dass es einen Treffer gibt.
Das passt zu dem, was ich von einem Freund gehört habe, der jemanden kennt, der bei CrowdStrike arbeitet.
Der Bug schlummerte jahrelang im Kernel-Treiber und wurde durch fehlerhafte Daten ausgelöst. Diese Daten wurden in einem Nachverarbeitungsschritt eines Konfigurationsupdates hinzugefügt, nach dem Testen, aber bevor es auf die Update-Server kopiert wurde, von denen die Clients es abrufen.
CrowdStrikes Testaufbau war für die Konfigurationsdaten selbst offenbar in Ordnung, hat es aber vor dem Gang in die Produktion nicht abgefangen. Sie testeten das Falsche.
Falls sie eine Postmortem-Analyse veröffentlichen, hoffe ich, dass sie dieses Problem anerkennen und erklären, was sie tun werden, um ein weiteres Prozessversagen mit weltweiten Auswirkungen zu verhindern.
Jeder kompetente Systemadministrator dürfte inzwischen von Grönland bis Neuseeland automatische Updates deaktivieren, per Firewall blockieren und einen Plan ausarbeiten, dieses Produkt so schnell wie möglich aus dem Serverbestand zu entfernen.
Die Marketingbudgets der Konkurrenzprodukte dürften in diesem Quartal steigen.
Auch wenn in den Verträgen eine „Haftungsbeschränkung“ steht, hoffe ich auf ernsthafte Untersuchungen, Geldstrafen und rechtliche Konsequenzen.
Das Ausmaß des durch diesen Vorfall verursachten Schadens ist kaum zu berechnen, und es wird noch größer, wenn man die verschwendete Zeit von Unternehmen und normalen Menschen einbezieht, etwa von Leuten, die einen Flug nehmen wollten.
Für diese Nachlässigkeit muss es zwingend einen Preis geben.
Auf Mastodon gibt es die Behauptung, dass die Datei, die Kevin Beaumont erhalten hat, je nach Kunde unterschiedlich sei
https://cyberplace.social/@GossiTheDog/112812454405913406
Man muss nur ein Stück nach unten scrollen
Wenn es sich nicht nur um ein einfaches Test-Leak handelte, sondern um mehrere beschädigte Kopien, stellt sich die Frage, wie sie die Signaturprüfung bestehen und vom Kernel geladen werden konnten
Möglicherweise war das nicht der ursprüngliche Dateiinhalt, sondern das Ergebnis einer manuellen Reaktion, um den Schaden zu stoppen
Jemand könnte erwartet haben, dass das Update harmlos wird, wenn man die fehlerhafte Datei mit einer gleich großen, komplett aus Nullen bestehenden Datei überschreibt
Oder, falls man der Hypothese folgt, dass „wegen einer kritischen Schwachstelle die QA umgangen wurde“, könnte das Stoppen der tatsächlichen Patch-Auslieferung auch ein Versuch gewesen sein, den Zugriff auf die echten Daten zu reduzieren und das Reverse Engineering der Schwachstelle zu verlangsamen
Einer Erklärung auf dem Technik-Board von 4chan zufolge bestand das Problem aus zwei Stufen
Ein signierter Kernel-Treiber namens CSAgent.sys parste die Virendefinitionsdateien von CrowdStrike, und der Fall, dass eine malformed Definitionsdatei einen fehlerhaften Speicherzugriff auslöst, wurde nicht korrekt behandelt
Es gab also einen Zeitbomben-Kernel-Treiber, der mit normalen Definitionsdateien monatelang problemlos lief, und irgendwann begann der Webserver oder das CDN, das die Definitionsdateien bereitstellt, fehlerhafte Inhalte wie leere Dateien, beliebige Bytes oder Dateien anderer Software auszuliefern
Der Update-Client lud diese unter C:\Windows\System32\drivers herunter, CSAgent.sys las und parste sie erneut und geriet dabei mit PAGE_FAULT_IN_NONPAGED_AREA in einen Bluescreen- und Reboot-Loop, so die Erklärung
Beim Vergleich von CSAgent.sys_18511.sys und CSAgent.sys_18513.sys sehe man Spuren davon, dass Größenprüfung und Puffergröße geändert wurden, damit künftig fehlerhafte Definitionsdateien keinen Absturz mehr verursachen
Wenn tatsächlich irgendein Antivirus-Paket die Ursache gewesen wäre, wäre das ziemlich komisch
Besonders im Kontext des aktuellen Wahlzeitpunkts und einer Firma, die Trump mag, könnte das auch eine Machtdemonstration gewesen sein
Früher ist es schon einmal passiert, dass Sicherheitssoftware eine ganze Datei in Nullen verwandelt und dadurch die Kompilierung von Software kaputtgemacht hat
Ich sage nicht, dass es diesmal so war, aber überraschen würde es mich trotzdem nicht
Im Grunde konnte der Linker unter Windows eine Datei nicht öffnen, weil ein anderer Prozess sie zum Scannen gesperrt hatte. Statt jedoch einen Fehler auszugeben, verwandelte er den zu linkenden Objektcode in Nullen
Die Leute fanden die Ursache nicht, bis sie den Debugger öffneten und sahen, dass große Blöcke des Objektcodes durch Nullen ersetzt worden waren
Der Virenscanner schnappte sich das neu erzeugte Binary genau in dem Moment, in dem mt.exe es schreiben musste, daher habe ich sogar einen mt.exe-Wrapper gebaut, der Retries hinzufügt. Auch CI-Builds scheitern deswegen immer wieder zufällig