Etliche Flughäfen, Spitäler, Kassensysteme, Bancomaten, … standen am Freitag weltweit still: Ein Update der Sicherheitsfirma CrowdStrike hatte über 8 Millionen Windows-Systeme in Firmen ungeplanterweise lahmgelegt. Wir werfen einen Blick hinter die Kulissen und zeigen auf, was getan werden muss, damit sowas nicht nochmals passiert. Denn es könnte jederzeit wieder passieren, auch bei anderen Firmen.
In der Schweiz ist das Volk die höchste Macht. Wir sind eigentlich auch Chef:innen der ganzen staatlichen (und staatlich beauftragten) Infrastruktur. Die hat zum Glück in der Schweiz — abgesehen vom Flugverkehr — kaum geächzt, aber das hätte auch anders kommen können. Aber auch einige der grössten Elektrizitätsunternehmen der Schweiz waren davon betroffen, zum Glück ohne Auswirkungen auf uns Endkunden. Aber vielleicht haben wir das nächste Mal weniger Glück. Deshalb müssen wir uns alle besser vorbereiten.
Wem der Titel irgendwie bekannt vorkommt: Ja, es ist eine Anspielung auf den erfolgreichen xz-Erklärbär-Artikel im April hier bei DNIP und den folgenden Blick hinter die Kulissen. Aber auch der Artikel “Wieso wir «Move fast and break things» falsch verstehen — und wie wir Software besser machen können” kommt eine wichtige Rolle zu. Empfohlener Lesestoff für alle, denen eine funktionierende (IT-)nfrastruktur in ihrem Verein, ihrer Firma oder ihrem Land am Herzen liegt.
Siehe auch:
Teil 2 dieser Kurzserie: Wie sorgen wir dafür, dass das nicht nochmals geschieht? und
Teil 3: CrowdStrike: Sind EU und Ratingagenturen schuld? (Und: Updates)
[Neu 2024-07-24] Dieser zweite Teil enthält auch die heute veröffentlichten Erkenntnisse und Versprechungen von CrowdStrike (mit Einordnung).
[Neu 2024-07-24] Unsere anfängliche Aussage zu SkyGuide beruhte auf Missverständnissen. Hier deshalb eine Korrektur.
Inhalte
ToggleWas ist passiert?
Über 8 Millionen Windows-Systeme weltweit, welche die Software «Falcon Sensor» von CrowdStrike installiert hatten und am Freitag, 19. Juli 2024 zwischen ca. 06:00 und 07:30 (Schweizer Zeit) eingeschaltet waren, sind mittels dem bekannten BlueScreen abgestürzt. Ein Reboot half nichts, auch wenn es Anekdoten gibt, dass ein 15-facher Neustart geholfen haben solle.
Dass die Schweiz und Europa in diesem Fall so gut weggekommen ist, dürfte weniger damit zu tun haben, dass wir auf solche Fälle besser vorbereitet sind (das war hier so gut wie unmöglich), sondern dass am frühen Morgen viele der Rechner noch ausgeschaltet waren. Ganz im Gegensatz z.B. zu Neuseeland oder Indien, wo der Arbeitstag im vollem Gange war.
![Screenshot eines Windows-Systemabsturzes ("Bluescreen"): "Your device ran into a problem and needs to restart. […] Stop code: PAGE_FAULT_IN_NONPAGED_AREA; What failed: csagent.sys"](https://dnip.ch/wp-content/uploads/2024/07/CrowdStrike-blue-screen-of-death.png)
csagent.sys
verursachter Betriebssystemcrash am 19. Juli 2024. (Jonathan Flusser via Wikimedia; mutmasslich Public Domain.)Wieso sind so viele Firmen betroffen?
In vielen Firmen gehört die Installation einer EDR-Software zur Liste der Punkte, die man zur Einhaltung der Compliance einhalten muss. EDR steht für Endpoint Detection and Response, was mit «Erkennen von Sicherheitsproblemen auf den Endgeräten und Durchführen von Reaktionen zur Wiederherstellung der Sicherheit» umschrieben werden könnte. Vereinfacht gesagt eine glorifizierte Antivirus-Lösung. Und CrowdStrike ist einer der grossen Anbieter von EDR-Lösungen.
Wieso kam es zu diesem Ausfall?
Die Software «Falcon» testet als Endpoint Detection and Response-Lösung (EDR) die Rechner, auf der sie installiert ist, auf verdächtige Aktivitäten, welche auf Schadsoftware oder Cyberangriffe hindeuten. Verdächtige Aktivitäten werden weitergemeldet. Wie Virenscanner erhalten auch EDR-Lösungen regelmässige Updates der Erkennungsdateien, die beschreiben, woran die Software auffällige Aktivitäten erkennen soll.
Kurz nach 6 Uhr Ortszeit wurde eine neue Version eines dieser Erkennungsfiles zur Verfügung gestellt, damit sie von den Rechnern mit installierter Falcon-Software bei Gelegenheit zur Aktualisierung heruntergeladen werden können. Der Name der fehlerhaften Datei, einer sogenannten «Channel-Datei» (“Channel file”) beginnt mit C-00000291
und endet mit .sys
; die Informationen dazwischen sind variabel. Mit ihr sollte erkannt werden können, ob eine bestimmte neu entdeckte Art von Kommunikation zwischen diesem Windows-Rechner und einem zentralen C2-Steuerserver für Malware stattfindet.
Kasten: Was ist ein «Command and Control-Server» (kurz «C2-Server»)?
Von Viren und anderer Malware infizierte Rechner sind eine wertvolle Ressource, mit der Cyberkriminelle ihre nächsten Angriffe starten können. Deshalb enthält die Malware Code, der Kontakt zu einem Steuerungsserver (eben dem C2-Server) aufnehmen soll, der dann jederzeit Befehle an die Malware senden kann, wie z.B. eine Denial-of-Service-Attacke auszuführen oder andere Computer zu infizieren oder zu hacken.
Das Update des Channel-Files am Freitag Morgen löste aber einen «Logik-Fehler» aus; Konkreteres zur Ursache verrät uns CrowdStrike bisher nicht. «Logik-Fehler» ist einfach eine intelligent klingende Umschreibung von «irgendein Programmfehler»; es ist also voll OK, wenn Sie daraus nicht schlau geworden sind. Und wahrscheinlich sogar Absicht von CrowdStrike. (Mutmassungen zu diesem Logik-Fehler im zweiten Teil.)
Damit Falcon bösartigen Verhaltensweisen erkennen kann, sollte es schwierig sein, für die Malware, sich dieser Erkennung zu entziehen. Der von CrowdStrike gewählte Ansatz ist, dass die Erkennungskomponente («Falcon Scanner») im innersten Teil des Betriebssystems läuft, dem Kern (engl. «Kernel»).
Kasten: Programme, Fehler und Isolation
Jedes Programm hat Fehler, egal wie gut wir die zu vermeiden versuchen. Ein solcher Fehler sollte aber möglichst wenig Schaden nach sich ziehen. Es ist schon schlimm genug, wenn eine Textverarbeitung abstürzt und die Arbeit seit dem letzten Speichern mit sich in den Abgrund zieht. Viel schlimmer wäre es, wenn dieser Fehler in der Textverarbeitung dann auch alle anderen Programme mit ihren ungesicherten Daten zum Absturz bringen würde. Oder der Fehler gleich alle Dateien auf der Festplatte löschen würde.
Eine Aufgabe des Betriebssystems ist es deshalb, Programme gegeneinander zu isolieren. Dies wird dadurch erreicht, dass jedes Programm vom Betriebssystem sein eigenes Gärtchen zugewiesen bekommt. Während alle Programme nur in ihrem jeweiligen Gärtchen werkeln dürfen, hat das Betriebssystem freien Zugang zu jedem Gärtchen, damit es seinen Verwaltungsaufgaben auch nachkommen kann.
Das bedeutet aber auch, dass ein Fehler im Betriebssystem sich potenziell auf alle Programme auswirken kann. Bei der Programmierung des Betriebssystem ist also noch viel mehr Vorsicht geboten als bei der von normalen Programmen, da die Auswirkungen der Fehler viel schlimmer sind.
D.h. der Falcon-Scanner läuft im Kernel als sogenanntes Kernel-Modul mit Kernel-Rechten. D.h. wenn der Scanner irgendeinen Fehler macht, beispielsweise aus Versehen einen Bulldozer startet, plättet der einfach mal alle Gärtchen, Gartenzäune hin oder her. Und weil der Kernel beim Systemstart immer als Erstes gestartet wird (und kurz darauf automatisch das Kernelmodul und seine Konfigurationsdateien geladen werden), plättet der Bulldozer bei jedem Systemstart wieder alle Gärtchen.
Oder, wie es eine Informatikerin ausdrücken würde: Der Rechner crasht bei jedem Reboot.
Wie wurde er behoben?
Die typische Behebung des Problems sah wie folgt aus:
- Eine IT-Administratorin musste sich vor Ort zum abgestürzten Rechner begeben.
- Dort musste der Rechner mittels Tastenkombination im sogenannten «abgesicherten Modus» gestartet werden.
- Dazu war bei Geräten mit verschlüsselter Festplatte (im Firmenumfeld häufig anzutreffen) die Eingabe eines gerätespezifischen Schlüssels notwendig. (In bestimmten Fällen war dieser Schlüssel nur auf einem anderen Gerät gespeichert, welches ebenfalls vom Ausfall betroffen war.)
- Die Administratorin musste sich auf dem Gerät unter Einsatz von Administrationsrechten einloggen.
- Dort konnte dann die fehlerhafte Datei lokalisiert und gelöscht werden.
Das bedeutete, dass Personen mit Administrationsrechten von Rechner zu Rechner gehen mussten und an jedem von Hand einige Schritte ausführen mussten. Dies dürfte (ohne Anreise) mehrere Minuten pro Rechner gedauert haben. Schlussendlich dürften am Freitagmorgen alleine für das Reaktivieren der Rechner mehrere hundert Personenjahre eingesetzt worden sein.
Dies ist sowas wie der Worst-Case in einer Firma: Alle Geräte fallen gleichzeitig aus und die einzige Möglichkeit, sie wieder zum Laufen zu bringen, sich bei jedem der Geräte einzeln ans Krankenbett zu setzen und Händchen zu halten.
Das ist auch der Fall, der in vielen Notfallskripten der Firmen nicht gut abgedeckt ist.
Und eigentlich hat man ja genau zur Vermeidung diesen Falles eine teure EDR-Sicherheitslösung eingekauft…
Interessant ist auch zu sehen, dass Microsoft die Anleitung geschrieben und ein eigenes Recovery-Tool erstellt hat, wie man das von CrowdStrike verursachte Problem lösen soll. (Ich denke nicht, dass Microsoft für viele anderen Anbieter sowas machen würde.)
Andere CrowdStrike-Ausfälle
Im vergangenen Quartal produzierte CrowdStrike bereits mehrere Ausfälle auf Linux-Systemen, die aber im Ausmass kleiner ausfielen. Im April hatte CrowdStrike ein Update ausgerollt, was für eine (offiziell unterstützte) Linux-Debian-Variante «tödlich» war (das System liess sich erst nach Deaktivieren von CrowdStrike wieder starten). Auch andere Linuxsysteme schienen im Mai und Juni von ähnlichen Problemen betroffen gewesen zu sein.
Der Administrator, der den Crash seiner Rechner auszubaden hatte, beschrieb seinen Eindruck der Qualitätskontrolle bei CrowdStrike mit:
we push software to your machines any time we want, whether or not it’s urgent, without testing it
Subjektiver Eindruck von JackC über die CrowdStrike-Einstellung zu Qualitätssicherung.
(Deutsch in etwa: Wir laden unsere neueste Software auf deine Maschine wann immer es uns gefällt, ob es dringend ist oder nicht, ohne sie zu testen.)
Dies greifen wir im zweiten Teil wieder auf.
Anscheinend waren die Crashes von CrowdStrike Falcon unter Linux im April bis Juni diesen Jahres durch einen Fehler im Linux-Kernel ausgelöst. Eine detailliertere Einschätzung folgt im demnächst erscheinenden dritten Teil der Serie. [neu 2024-08-03]
History repeats itself?
Übrigens: 2010 führte mangelhafte Qualitätssicherung beim Antivirenhersteller McAfee dazu, dass eine Unzahl von Windows-XP-Rechnern in einer Rebootschlaufe gefangen waren. McAfee verlor daraufhin scheinbar das Vertrauen seiner Kunden und wurde später von Intel aufgekauft.
Wieso das hier steht? Der damalige CFO bei McAfee gründete kurz darauf CrowdStrike und ist immer noch CEO dort. Hoffen wir, dass er daraus gelernt hat.
Wer zahlt?
Der entstandene Schaden dürfte in die Milliarden gehen. Da stellt sich sofort die Frage: Bleiben die Kunden auf den Kosten sitzen oder können Sie CrowdStrike belangen oder hilft vielleicht sogar eine Cyberversicherung?
Zahlt CrowdStrike?
CrowdStrike wird versuchen, die Kunden mit Kleingeld abzuspeisen. In Absatz 10.1 der CrowdStrike-AGB stehen unter dem Zwischentitel «Limitation of liability», dass CrowdStrike nicht für Schäden der Nutzer aufkommen müsse. Natürlich gibt es auch die Ausnahmen durch geltendes Recht. Und ich gehe davon aus, dass dies ein gefundenes Fressen für Anwälte sein wird.
Und wenn die Anwälte der Geschädigten genügend hartnäckig sind, wird es möglicherweise zu teuren Urteilen oder Vergleichen kommen.
Zahlt CrowdStrike bei SkyGuide?
Korrektur 2024-07-24: Das folgende Unterkapitel beruht teilweise auf Fehlinformationen
SRF.ch berichtete am Freitag: «Betroffen war allerdings die Flugraumüberwachung Skyguide, was die Flugpläne am Flughafen Zürich durcheinanderwirbelte.» Dies führte bei uns zur Interpretation, dass der operationelle Betrieb der Flugsicherung vom CrowdStrike-Ausfall betroffen gewesen sei; weiter genährt von der sehr generischen und defensiven Aussage des CrowdStrike-Pressesprechers, die auch keinen Hinweis auf die Pressemitteilung enthielt, die SkyGuide nach dem Stellen meiner Anfrage publiziert hatte.
Laut der Pressemitteilung seien bei SkyGuide nur Systeme in der Verwaltung vom Ausfall betroffen gewesen; der Flugbetrieb sei nur reduziert worden (1) aus Vorsichtsmassnahme seitens SkyGuide reduziert und (2) auf Wunsch des Flughafens Zürich, der selbst unter technischen Problemen litt, die zur Reduktion des durch den Flughafen abfertigbaren Passagierverkehrs führten.
Mehrere interne Quellen berichten, dass neben der Verwaltungs-IT aber auch IT-Monitoringsysteme vom Ausfall betroffen gewesen seien; also Systeme, welche überwachen, ob alle Komponenten der SkyGuide-Infrastruktur so arbeiten, wie sie sollten.
Wir bitten die fehlerhafte Schlussfolgerung zu entschuldigen, dass auch der operationelle Betrieb der Flugsicherung direkt betroffen gewesen sei.
Der einzige bekannte grössere Ausfall in der Schweiz fand bei SkyGuide statt, einem Unternehmen, welches es in den letzten Jahren regelmässig mit Ausfällen in die Schlagzeilen schafften (zuletzt vor wenigen Wochen) und deshalb auch in der Kritik steht.
Bei SkyGuide sieht es bei allfälligen Forderungen an CrowdStrike noch düsterer aus als beim Durchschnittskunden. So steht im Absatz 8.6 der CrowdStrike-AGB:
8.6 Disclaimer. […] THERE IS NO WARRANTY THAT THE OFFERINGS OR CROWDSTRIKE TOOLS WILL BE ERROR FREE, OR THAT THEY WILL OPERATE WITHOUT INTERRUPTION OR WILL FULFILL ANY OF CUSTOMER’S PARTICULAR PURPOSES OR NEEDS. THE OFFERINGS AND CROWDSTRIKE TOOLS ARE NOT FAULT-TOLERANT AND ARE NOT DESIGNED OR INTENDED FOR USE IN ANY HAZARDOUS ENVIRONMENT REQUIRING FAIL-SAFE PERFORMANCE OR OPERATION. NEITHER THE OFFERINGS NOR CROWDSTRIKE TOOLS ARE FOR USE IN THE OPERATION OF AIRCRAFT NAVIGATION, NUCLEAR FACILITIES, COMMUNICATION SYSTEMS, WEAPONS SYSTEMS, DIRECT OR INDIRECT LIFE-SUPPORT SYSTEMS, AIR TRAFFIC CONTROL, OR ANY APPLICATION OR INSTALLATION WHERE FAILURE COULD RESULT IN DEATH, SEVERE PHYSICAL INJURY, OR PROPERTY DAMAGE.[…]
Auszug aus Absatz 8.6 der CrowdStrike-AGB. Grossschreibung ist vom Original übernommen, Fettschreibung von mir.
In vielen vollmundigen Grossbuchstaben schreibt CrowdStrike in ihren AGB, dass sie nicht garantieren, dass ihre Software und Angebote fehlerfrei seien. Das schreiben ganz viele Firmen. Aber wenn solche Garantien fehlen, dann ist es besonders wichtig, dass der Käufer sich von der Qualität der Produkte und Produktionsprozesse überzeugen kann. Nur so kann er einschätzen, welche Risiken das für die Geschäftsprozesse des Kunden bedeutet.
CrowdStrike schreibt zusätzlich aber explizit, dass ihre Software nicht für Flugsicherung eingesetzt werden dürfe. Da dürften noch Probleme auf SkyGuide zukommen.
(Auch wenn das in der Schweiz möglicherweise nur bedeutet, dass sie ein paar Fragen des BAZL zu beantworten haben…)
Es ist davon auszugehen, dass der Kauf der CrowdStrike-Produkte nicht einfach durch Legen von ein paar Hundert Falcon-Lizenzen in den Warenkorb erfolgt ist.
Auf meine Fragen, die versuchten herauszufinden, wieso trotz Verbot des Einsatzes von CrowdStrike im Flugsicherungsbetrieb eben dieser durch CrowdStrike beeinträchtigt wurden, antwortete ein Pressesprecher von SkyGuide:
Skyguide setzt seit einigen Jahren Crowdstrike ein. Zu Einkaufsprozessen, Vertragsverhandlungen mit Lieferanten und operativem Einsatz äussern wir uns nicht.
Antwort aus der SkyGuide-Pressestelle am 22. Juli 2024 auf meinen Fragenkatalog
Nachtrag [2024-07-23]: Der Flughafen Zürich prüft rechtliche Schritte gegen die Verantwortlichen. Wen sie damit genau meinen, ist aktuell noch offen.
Zahlt meine Cyberversicherung?
Es ist leider davon auszugehen, dass viele Cyberversicherungen nicht zahlen werden; im entsprechenden SRF-Artikel finden sich allerdings nur die Aussage ohne Begründung. Cyberversicherungen haben jedoch oft seltsame Klauseln; möglicherweise nutzen die Versicherungsgesellschaften diese zur Ablehnung der Ansprüche.
Muss meine Firma zahlen?
Etliche Firmen, welche vom Ausfall betroffen waren, haben schon direkte finanzielle und Image-Verluste erlitten. Möglicherweise kommen jetzt auch noch Geschäftspartner und Kunden auf die betroffenen Firmen zu und werden Schadenersatz fordern. Obwohl der einzige Fehler der Firma war, CrowdStrike-Software einzusetzen, könnten daraus noch weitere Kosten folgen. Die Details hängen von Rechtslage und den konkreten Verträgen ab. Für Risiken und Nebenwirkungen fragen Sie ihr Anwältin oder ihren Juristen.
Dinge, die ihr nicht wissen wollt [Neu 2024-07-24]
[Neu 2024-08-05] Dieser Absatz hat inzwischen ein eigenes, erweitertes Artikelchen bekommen: Unnützes Wissen zu CrowdStrike.
- CrowdStrike wurde für einen Pwnie Award nominiert, weil sie «Reverse Ransomware» erfunden hätten: Zuerst zahle man Geld, nachher würden die Systeme lahmgelegt. (Sie scheinen auch einen echten vorgezogenen Pwnie Award in der Kategorie «Epic Fail» bekommen haben.)
- Kunden, welche Ausfälle hatten, bekommen eine $10-Essensgutschein. Ehrlich.
- Grosskunden (also solche mit über 100’000 Geräten) scheinen mehr zu bekommen. Nämlich $100. (Ob das ein Einzelfall ist oder ob es da ein Muster gibt: Fragt mich bitte nicht!) [etwas später hinzugefügt]
- Die Gutscheine scheinen verfallen/deaktiviert worden zu sein. [noch etwas später hinzugefügt] Das scheint aber eine False Positive des Missbrauchserkennungssystems des Gutscheinanbieters zu sein [2024-07-25 hinzugefügt]
Weiter geht es in Teil 2 dieser Kurzserie: Wie sorgen wir dafür, dass sowas nicht ein zweites Mal geschieht? (mit Erkenntnissen aus dem Report, den CrowdStrike am Mittwoch veröffentlicht hat).
Und nachher gerne auch weiter zu Teil 3: CrowdStrike: Sind EU und Ratingagenturen schuld? (Und: Updates)
4 Antworten
Danke für die sehr gute Zusammenfassung von dem was wir seit Freitagmorgen verfolgen können.
V.a. die Referenzen auf die AGB fand ich sehr nützlich, da ich mir diese Frage auch gestellt hatte.
Was vielleicht etwas zu kurz kommt: haben sie den “Release” getestet? Bei aller Dringlichkeit, die das Einspielen einer Channel-Datei haben kann, würde ich doch annehmen, dass sie das mal in ihrem Stagingbereich einspielen und kurz hinschauen, ob alle Window Systeme crashen. In meiner wohl naiven Vorstellung gehe ich davon aus, dass eine solche Firma ein Testsetup hat mit Dutzenden von verschiedenen Windows (und anderen) Setups.
Danke für das Feedback! Auf Tests und Release gehe ich im zweiten Teil ein. Ich hoffe, dass dieser Teil deine Fragen beantwortet. Sonst gerne fragen!
Bei Skyguide gab es mWn keinen Ausfall. Die Reduktion des Transitverkehrs erfolgte auf Wunsch des Flughafen, der Probleme mit dem Checkin hatte.
https://www.skyguide.ch/de/media-centre/post/145486
Danke! Inzwischen hatte ich ähnliche Informationen auch aus anderer Quelle erhalten. Ich werde den Artikel entsprechend aktualisieren.