Latest / Coding Buddies | Tech & Dev-Mindset / Big Software Fails #3 - Das CrowdStrike Update
Transcript
- 0:01Es ist Freitag, der 19.7.2024 stell dir vor, du bist auf dem
- 0:05Weg zum Flughafen, du kommst an, du bist voller urlaubsvorfreude,
- 0:08du gibst deinen Koffer ab und auf einmal, wie es dazu kommen
- 0:12konnte, dass genau an diesem Tag ca 8,5 Millionen Rechner
- 0:16ausgefallen sind, das erfährst du in der heutigen Folge Coating
- 0:20Bodys dein Podcast rund um Softwareentwicklung und
- 0:23aktueller Technews. Herzlich.
- 0:26Willkommen. Halli Hallo und herzlich
- 0:39Willkommen zur neuen Folge ist Cody Buddies Podcast schön, dass
- 0:41du wieder eingeschaltet hast. Natürlich mal wieder dabei,
- 0:44deine Gastgeber, meine Wenigkeit, der Tino und auch der
- 0:47fantastische Fabi, der sitzt mir hier gegenüber.
- 0:49Fabi Grüße dich. Gut.
- 0:51Morgen Tino, Guten Morgen ist auch gut.
- 0:55Ja ist n bisschen fortgeschritten der Tag schon,
- 0:58aber ich weiß ja was du meinst. Hallo schönen Guten.
- 1:01Tag. Guten Tag, aber guten Tag, ist
- 1:04auch merkwürdig oder so, guten Tag.
- 1:07Tag Hallo Fabi. Was geht ab bei dir?
- 1:12Was geht ab? Ich bin jetzt wieder so, mal
- 1:16mehr oder weniger. Verhältnismäßig frisch zurück
- 1:19aus dem Urlaub. Das heißt, ich bin voll erholt,
- 1:22bin voll am Start und wir können loslegen.
- 1:25Schön schön, das freut mich, das freut mich, das freut mich, dass
- 1:29du wieder richtig Energie getankt hast.
- 1:30Das kaschiert dann wahrscheinlich, dass ich hier
- 1:32richtig meinen Akku niedrig nein, bei mir ist auch alles gut
- 1:36soweit, wir können direkt loslegen und ich würde sogar den
- 1:42Urlaub mal als Aufhänger nehmen, weil du bist ja.
- 1:45Letzte Woche, nee vor 2 Wochen geflogen, quasi ne an einem
- 1:49Flughafen den es am 19 7 und das ist auch das Thema unseres
- 1:53heutigen Folge, ebenfalls erwischt hatte.
- 1:56Bei einem sehr spannenden Vorfall, den wir in dieser
- 2:00heutigen Folge beleuchten wollen, denn es handelt sich mal
- 2:03wieder um eine Big Fail Folge, denn es ist was sehr sehr
- 2:06krasses. Yeah, was sehr sehr krasses
- 2:09passiert am 19.7.2024, also noch nicht lange her.
- 2:14Ja, möchtest du mal kurz beschreiben, was denn da so an
- 2:18diesem Freitag so spektakulär war?
- 2:20Und was ist mit deinem Urlaub da?
- 2:21Auch auf sich hatte? Ich war ja zum Glück nicht
- 2:24betroffen, weil ich quasi ja so der 19.
- 2:27Ist. Ja, im Endeffekt genau letzten
- 2:29Freitag und ich bin glaube ich eine Woche vorher gelandet.
- 2:35Also Glück im Unglück gehabt, besser als einige andere, die es
- 2:38dann leider getroffen hat. Es sind ja am 19 7, also letzten
- 2:44Freitag sind ja 8,5 Millionen windowsrechner.
- 2:49Mit wurden ja lahmgelegt mit einem Bluescreen.
- 2:54Und ja, das ist auch im Flughafen BER Berlin Brandenburg
- 2:58passiert, wo ich gelandet bin, aber zum Glück ein bisschen
- 3:02früher, als hättest du es geahnt bei der Urlaubsbuchung.
- 3:07Wusste es, ich wusste es, nein, aber es ist natürlich.
- 3:11Also es ist krass, weil es ist ja, also man hat das ja
- 3:15mitgekriegt, es kam ja auch gefühlt verschiedenen whatsapp
- 3:20Kanälen bei Instagram in den Nachrichten und.
- 3:23Sich überall, eigentlich überall, genau das ja am diesem
- 3:27Freitag eben weltweit viele, viele, viele Systeme, also viele
- 3:32Windows Rechner einfach mit einem Bluescreen ja da standen.
- 3:38Ja, blasenelektronen quasi, ja. Mit so einem Blue Screen of
- 3:42Death nennt sich das Ganze. Das klingt dann noch mal n
- 3:44bisschen. Dramatischer, ja.
- 3:47Und das war schon echt krass, weil im Endeffekt wurden ja
- 3:50weltweit Flughäfen außer Gefecht gesetzt, wie zum Beispiel eben
- 3:53auch der BER. Auch Polizei, Feuerwehr,
- 3:58Wirtschaftssysteme wurden ausgehebelt, also da hat es echt
- 4:01ne Menge getroffen. Also so, dass zum Beispiel auch
- 4:04Krankenhäuser nicht wussten, wie viele Patienten eingeliefert
- 4:08wurden an dem Tag oder überhaupt gerade im Krankenhaus behandelt
- 4:12wurden. Ja, und auch Banksysteme haben
- 4:15nicht richtig funktioniert, in einigen Ländern ging sogar der
- 4:18Notruf nicht, also das hatte schon weitreichende
- 4:21Konsequenzen. Wie du schon meintest, auch sehr
- 4:23global. Das ist halt so das krasse
- 4:25dabei. Also wirklich heftig.
- 4:28Ich also an mir ist es tatsächlich in dem Sinne ein
- 4:30bisschen vorbeigegangen, weil ich ja überhaupt nicht mit in
- 4:33diesem Kontext. Wirklich quasi keines dieser,
- 4:36ich nenne es jetzt mal, Services in Anspruch genommen, also die,
- 4:41die betroffen waren, eine Woche vorher schon deswegen hab ich es
- 4:45halt nur so mitgekriegt und hab aber in dem Moment überhaupt
- 4:48noch gar nicht diese. Dieses dieses Ausmaß erfasst,
- 4:51weil ich find ich weiß nicht wie es dir geht.
- 4:53Bei mir ist es immer so, man hört das so erstmal und denkt
- 4:55sich so ah ja gut Windows Rechner mit Bluescreen alles
- 4:59klar Windows Windows hat mal wieder n Problem weißt du so?
- 5:04Aber ist ja auch ein Klassiker. Ich mein glaub ich glaube jeder
- 5:06der sich n bisschen tiefgründiger oder länger mit
- 5:10Windows System beschäftigt kennt ja auch einfach den berühmt Blue
- 5:14Screen. Neustart und meistens läuft es
- 5:17auch wieder, wenn jetzt nicht wirklich was arg kaputt ist.
- 5:21Was aber in dem Fall ja nicht funktioniert hat, sondern eine
- 5:24Endlosschleife entstanden ist, dass quasi die Systeme neu
- 5:26gestartet sind und wieder im Blue Screen gelandet sind und
- 5:30dementsprechend wirklich komplett out of Order waren da.
- 5:33Also da ging ja gar nichts mehr und deswegen konnte man ja gar
- 5:37nicht mehr auf die eigentlichen Funktionalitätensysteme, die
- 5:41quasi auf. Windows Computern liefen gar
- 5:44nicht mehr zurückgreifen das, was ja das Tragische dabei ist,
- 5:47oder das Problematische. Genau.
- 5:51Und wie du schon meintest, in den Nachrichten wurde das
- 5:53natürlich auch weitreichend kommuniziert und ist ja auch
- 5:58eine krasse News. Also dass du sagen kannst, hier
- 6:01sämtliche Systeme sind ausgefallen, Microsoft,
- 6:04Microsoft. Aber es ist ja nicht nur
- 6:06Microsoft der Name gefallen und wenn dann auch zu unrecht, weil
- 6:10es ging ja um eine ganz andere Firma dabei, und zwar hat man
- 6:13dann überall den Namen Crowdstrike gelesen und um
- 6:18dieses Unternehmen soll es auch in dieser Folge geben, weil man
- 6:21kann es sich schon denken, diese Firma ist auch Schuld an diesem
- 6:26ganzen Debakel, aber magst du vielleicht noch mal kurz
- 6:30einleiten für diejenigen die nicht wissen?
- 6:33Wofür das Unternehmen Crowdstrike steht und was für
- 6:35Produkte sie haben mal kurz pitchen?
- 6:38Ja, also ein Unternehmen ist genau crowdstrike, ist im großen
- 6:42und Ganzen ein Cyber Security Unternehmen und sorgt eben.
- 6:48Ich mach das jetzt mal auf einem ganz oberen Niveau.
- 6:51Sorgt halt für die Security auf dem Rechner, ne also
- 6:53beziehungsweise so zum Beispiel, weil jeder kennt ja
- 6:57wahrscheinlich Virenscanner, ne, also es werden halt quasi nach
- 7:00Problemen auf dem Rechner gesucht sag ich jetzt mal und
- 7:03halt eben dann geguckt, ob man irgendwie etwas findet oder
- 7:06nicht, also sag ich jetzt mal, das ist im großen und Ganzen der
- 7:10Service oder? Die Service sparte, die von
- 7:14Crowdstrike da eben sozusagen den Auslöser gegeben hat dafür
- 7:18und kleine witzige Side Note dabei ist, dass der CEO von
- 7:24Crowdstrike, der war früher mal der CTO von mcafee.
- 7:30Mcafee kennt man vielleicht, das ist ein antivirenprogramm.
- 7:32Genau. Genau, und da war es dann halt
- 7:34so, dass vor ungefähr, sagen wir mal 15 Jahren, wenn ich jetzt
- 7:38richtig rechne, roundabout, also das war.
- 7:42Am ab 21 April 2010 da gab es auch bei Mc Affe einen großen
- 7:48Vorfall, der viele Rechte mit einem Blu Screen lahmgelegt hat
- 7:52und dann wurde quasi. Ja, also ja, also das war also
- 7:58und daraufhin ist der CTO von mcafee aus von mcafee
- 8:02ausgetreten. Ich glaube, mcafee wurde dann
- 8:05auch aufgekauft und dann wurde dann hat der CTO von mcafee ne.
- 8:11Crowdstrack gegründet und ist deswegen jetzt CEO von
- 8:14Crowdstrack. Jetzt ist 15 Jahre später ein
- 8:16sehr, sehr ähnlicher Fehler. Wieder aufgetreten.
- 8:19Ob das jetzt genau das gleiche war, sei mal dahingestellt,
- 8:22hatte bestimmt andere Gründe, aber also also meinst du er
- 8:25dachte sich Jungs gibt mir 15 Jahre und ich krieg das noch im
- 8:29größeren Stil hin das ganze oder wie ich weiß das ist natürlich
- 8:33eine super Randnotiz also klar das mag jetzt Zufall sein, aber
- 8:37es ist schon sehr witzig, danke. Für diese Info, ich weiß jetzt
- 8:40nicht genau, was er sich dabei gedacht hat, aber Fakt ist auf
- 8:43jeden Fall, dass auch aus meinen Recherchen heraus habe ich
- 8:47zumindest gelesen, dass Crowdstrike wohl 15% des
- 8:50globalen Marktes für Sicherheitslösungen einnimmt.
- 8:53Das ist natürlich schon eine enorm große, also global gesehen
- 8:57große Menge und dafür muss man sagen okay ein Cyber Security
- 9:03unternehmen, was dafür zuständig ist, halt eben um das nochmal
- 9:05ein bisschen genauer zu erörtern.
- 9:06Also es gibt ein Produkt, was im Endeffekt auf dem.
- 9:10Überprüft, ob es irgendwie Anomalien gibt, ne also
- 9:13irgendwelche Security Probleme oder was auch immer.
- 9:18Und dann wird werden quasi Maßnahmen dagegen vorgeschlagen
- 9:22oder eingeleitet. Ne also nur mal grob um das
- 9:23abzureißen. Und genau das Produkt sag ich
- 9:27jetzt mal von Crowdstrike, hat dann eben zu diesem Fehler
- 9:30geführt. Also es war ja relativ schnell
- 9:34bekannt, dass es ein Update gab, wie gesagt, auf den System.
- 9:39Und die zu diesem Fehler oder dem Systemausfall geführt haben
- 9:43und deswegen dachten natürlich die meisten Leute erstmal,
- 9:46Microsoft sei mit so einem klassischen Windows Update
- 9:48schuld. Ich mein Da gab es auch schon
- 9:50einige Böcke, das ist jetzt nicht so unwahrscheinlich
- 9:52gewesen. Aber tatsächlich ging es dann
- 9:55wirklich um die Crowd Strike Software, und zwar um die Falcon
- 10:00Sensor heißt sie glaub ich nicht nur Falcon ne man hat oft Falcon
- 10:03gelesen aber ich glaube es heißt Falcon Sensor.
- 10:06Genau, was halt im Prinzip die Software ist, die so.
- 10:13Verhalten von Applikationen überwacht und ja, misst
- 10:17sozusagen, um Anomalien festzustellen, wie du so schön
- 10:19gesagt hast. Jetzt ist aber die Frage, wie
- 10:23kann es sein, wenn ein Softwareupdate beziehungsweise
- 10:26dieser. Falcon Software quasi geupdatet
- 10:32wird, dass das n ganzes System aushebelt und das ist halt
- 10:35wirklich ne super spannende Frage, auf die ich gerne mit dir
- 10:37eingehen würde. Wie es überhaupt also wie kann
- 10:40es so eine Verkettung geben, dass quasi ganze Systeme
- 10:43ausfallen ohne Wiederherstellbar zu sein?
- 10:45In dem Moment erstmal also dass sie sich nicht rebooten und es
- 10:49läuft wieder. Und das Ganze haben wir ja mal
- 10:52ein bisschen recherchiert und ich finde es halt super
- 10:55beeindruckend und spannend, was da so zusammenkam.
- 10:58Und zwar geht es ja schon dabei los, dass sich diese Falcon
- 11:04Software im Prinzip als Gerätetreiber installiert,
- 11:08Quatsch installiert, entwickelt wurde und dann natürlich auch
- 11:11den System installiert wurde, so rum, ohne dass der eigentlich
- 11:14wirklich eine Hardware vorhanden ist.
- 11:16Aber es gilt Halt als Gerätetreiber.
- 11:19Der spannende Punkt dabei ist, dass es für.
- 11:22Windows in dem Falle bedeutet, dass diese Software im Kernel
- 11:28Mode laufen kann. Also es gibt da ja so so n so so
- 11:32so verschiedene Hierarchien oder Schichten und diese Schichten 0.
- 11:37Dieser Kernel ist halt wirklich, dass du kompletten Zugriff aufs
- 11:40System hast, also auf den gesamten Speicherbereich sag ich
- 11:43mal. Genau das heißt, du bist nicht
- 11:45sozusagen in diesem User Anwendungsmodell wo du jetzt
- 11:49Applikation entwickelt, installierst und laufen lässt,
- 11:52die quasi. Kernel sozusagen kommunizieren,
- 11:55aber eigentlich nur sehen, was der Kernel sagt, was sie sehen
- 11:59dürfen. So gesagt, das heißt, du hast
- 12:01einen sehr restriktiven Bereich und hast halt nicht.
- 12:05Zugriff auf dein gesamtes System und da liegt nämlich auch der
- 12:08entscheidende Unterschied. Wenn du nämlich jetzt in deiner
- 12:12Applikation, so wie es jeder kennt ne ne Desktop App,
- 12:15beispielsweise wenn du die crashed.
- 12:19Dann crashed auch nur deine Anwendung und nicht das ganze
- 12:22System. Also nimm mal zum Beispiel n
- 12:24Taschenrechner ne angenommen du programmierst n Taschenrechner
- 12:27mit ner grafischen Oberfläche und du hast zum Beispiel.
- 12:29Teils dadurch 0. Alles drückt dir um die Ohren,
- 12:32du teilst. Dich ne und und.
- 12:34Gehst halt mit diesem Fehler nicht um.
- 12:36Ne, also es fliegt wirklich n Fehler und diese Anwendung sagt
- 12:39Oh das geht nicht Abbruch ich hab hier n Fehler dann schließt
- 12:44sich die Anwendung und der Rechner sagt OK sorry deine
- 12:47Anwendung ist tot. Du kannst sie halt wieder neu
- 12:50aufmachen, wenn du möchtest. Ne genau.
- 12:52Und selbst wenn die immer wieder crasht, wird dein System dadurch
- 12:55nicht lahmgelegt. Das auf Userebene ne oder auf
- 12:59Userebene und auf Kerner Ebene hast du das Problem, dass da das
- 13:03System so reagiert, dass dieser Fehler quasi nicht behandelt
- 13:07wird von deinem restlichen System, sondern gesagt wird, OK,
- 13:11wir schießen das ganze System ab.
- 13:13Weil es einfach so ein undefinierter Zustand dann im
- 13:16Kernel ist. Genau.
- 13:17Es ist ja so, dass also mal blöd gesagt, wenn du irgendwie
- 13:20Probleme in deinem Kernel hast, also in deinen Kernel prozessen
- 13:25und du vielleicht irgendwie. Sage ich jetzt mal
- 13:27verbotenerweise auf andere speicherbereiche Zugreifst, auf
- 13:31die du eigentlich nicht zugreifen darfst oder andere
- 13:33Probleme entstehen. Also wenn wirklich ein
- 13:35kritischer Fehler auftritt, dann sagt sich ja das System OK, ich
- 13:39schalte mich jetzt einfach mal ab mit einem Bluescreen in dem
- 13:42Fall. Was, wo man natürlich sich
- 13:45hinstellen kann und sagen kann, ja, was soll denn der Quatsch
- 13:47warum? Ich will doch nicht, dass das
- 13:49System abschmiert und mir n Bluescreen anzeigt, nur das Ding
- 13:52ist, dass die Alternative zu diesem Bluescreen halt deutlich
- 13:55kritischer ist. Ne weil.
- 13:56Genau. Du hast ja auf der Kernel Ebene
- 13:59hast du ja Zugriffe, also auch andere Treiber die zum Beispiel
- 14:02aufs Heatmanagement zugreifen oder auf andere wirklich
- 14:07sensible Systeme, die irgendwie gesteuert werden müssen, die
- 14:10unter Umständen dann zu einem Problem führen, dass wirklich.
- 14:12Die Hardware auch kaputt gehen könnte.
- 14:15Genau und du halt auch nicht mehr die Sicherheit zwischen den
- 14:18Applikationen hast. Also mal angenommen, dein
- 14:19Taschenrechner würde jetzt sozusagen.
- 14:23Da im Kernel rummachen und einen Fehler verursachen und du
- 14:26kriegst einen undefinierten Speicherzustand sozusagen, dann
- 14:30weißt du ja gar nicht mehr. Also du hast keine Sicherheit
- 14:32mehr in den anderen Applikationen, dass sie noch auf
- 14:34die richtigen Daten zugreifen oder auf die richtigen Stellen
- 14:37schreiben und so weiter und deswegen ist es eigentlich auch
- 14:41ein Standard. Das ist nicht nur bei Windows
- 14:43so, dass sich Systeme dann quasi killen oder sozusagen rebooten,
- 14:48mindestens. Das ist ja dann sozusagen der
- 14:50Bluescreen, der Halt sehr berühmt ist, weil davon Windows
- 14:54ist. Genau.
- 14:57Und das ist halt ein spannender Punkt, fand ich an der Stelle.
- 15:01Das ist halt im Kernel arbeitet. Das wird natürlich Gründe haben,
- 15:05das habe ich jetzt mit so weit nicht exakt rausgefunden, aber
- 15:09ich denke mal. Mal um dieses Observen, also
- 15:12quasi diese ganzen Prozesse und Applikationen überwachen zu
- 15:15können und Anomalien feststellen zu können.
- 15:18Mit ihren Metriken werden sie wahrscheinlich auf dieser low
- 15:20Level Ebene arbeiten müssen, um halt die Sicht die komplette
- 15:24Sicht zu haben, zum Beispiel auf den Speicher, was ich vorhin
- 15:26meinte und das wird wahrscheinlich der Grund
- 15:29dahinter sein zu sagen okay es ist eine Art Gerätetreiber und
- 15:34kann halt auf dieser Ebene agieren und das.
- 15:37Fand ich halt ziemlich spannend und was ich auch spannend fand
- 15:40und nicht wusste, bis bis dahin ist, dass du ja diese Treiber
- 15:45zertifizieren lassen musst bei Microsoft.
- 15:48Das heißt es gibt dann so verschiedene teststages
- 15:51Prüfungen von Deiner Software und dann werden sie irgendwann
- 15:54genehmigt, dass sie quasi laufen dürfen in diesem innersten Ring
- 16:00sage ich mal deiner Architektur vom System.
- 16:03Und. Quasi für eine gewisse Version.
- 16:07Das heißt, du hast jetzt meinetwegen von deinem Treiber
- 16:09Version 25 und. Und die möchtest du jetzt quasi
- 16:14verwenden oder ausrollen an deinen Kunden.
- 16:16Das heißt, sie sollen das soll natürlich bei den Kundensystemen
- 16:19laufen, dann musst du das bei Microsoft zertifizieren lassen,
- 16:22dass die Version 25 als Gerätetreiber dann laufen darf.
- 16:27Das ist auch nicht unüblich, hast du ja auch beispielsweise
- 16:31bei anderen Themen ja keine Ahnung.
- 16:33Grafikkarten oder irgendwas, wenn die neue Treiber haben und.
- 16:39Der Unterschied ist aber, dass wir hier von Sicherheitssoftware
- 16:43reden. Also wirklich im Bereich Cyber
- 16:46Security unterwegs sind und da ja schnelle Maßnahmen notwendig
- 16:51sein können und auch müssen. Dann angenommen, eine große
- 16:55Sicherheitslücke wird bekannt oder irgendwelche Angriffe
- 16:58können über irgendwas gestartet werden und man erkennt das und
- 17:01will dann quasi oder erkennt es vielleicht nicht in dieser
- 17:04Version und du willst es nach patchen, damit diese Systeme von
- 17:09deinen Usern das rechtzeitig erkennen können, falls.
- 17:13So sein sollte. Und da stellt sich natürlich die
- 17:16Frage, ja gut, jetzt habe ich regelmäßige Updates, ich habe
- 17:20gar keinen Bock, dass sie das mal zertifizieren zu lassen und
- 17:23das muss ja nicht mal unbedingt eine Geldfrage sein, weil ich
- 17:25denke, so ein Zertifikat wird logischerweise auch Geld kosten,
- 17:28ich denke das wird dann eher die Zeitfrage sein.
- 17:31Weil angenommen du hast jetzt Tag x und da wird ne
- 17:34Riesensicherheitslücke bekannt und du willst Instant quasi ein
- 17:39Patch dafür ausrollen. An diese Millionen User oder
- 17:43Systeme. Weil du einfach nicht 2 Wochen
- 17:46warten kannst, ist jetzt nur ne ich weiß nicht wie lange das
- 17:49dauert bei Microsoft, aber mal sagen wir mal 2 Wochen ja willst
- 17:53du ja nicht warten um ne neue Version zertifizieren zu lassen
- 17:56und dann Sicherheit wieder zu gewährleisten für deine
- 17:59Anwender. Und da haben sie sich ja ganz
- 18:02interessantes Konzept ausgedacht.
- 18:04Und dieses Konzept hat quasi dann auch den 19.7.
- 18:10Quasi ausgelöst oder wurde zum Verhängnis.
- 18:13Erklär doch mal, wie sie quasi einen Workaround geschaffen
- 18:17haben für dieses Problem. Also ich weiß gerade gar nicht,
- 18:21ob es sozusagen in dem Sinne ein Workarough, also es ist, also
- 18:24ich weiß nicht, ob sie es selber work around nennen würden, aber.
- 18:28In dem Kontext. Mal.
- 18:29Also im Endeffekt ist es, wie du schon meintest, klar, du hast
- 18:33vielleicht irgendwie Sicherheitslücken treten auf und
- 18:35du willst natürlich so schnell wie möglich irgendwie diese
- 18:38Sicherheitslücke auch stopfen können.
- 18:40Es muss ja irgendwie sein, dass es kann ja nicht sein, dass du
- 18:42sagst, sicher. Heitslücke ist aufgetreten, da
- 18:46könnten quasi Computer kompromittiert werden und dann
- 18:49kommt jemand und sagt, naja, das müssen wir stopfen, alles klar,
- 18:51dann geh mal bitte in den folgenden Prozess um deine
- 18:54Software, die du geupdated hast, zertifizieren und das dauert
- 18:57ungefähr einen Monat und bis dahin sind alle Rechner
- 18:59eigentlich schon kompromittiert. Wäre natürlich schon n Problem
- 19:02an der Stelle und damit das eben nicht auftritt, haben sie
- 19:06gesagt, OK wir haben unsere Software, unsere Falcon Sensor
- 19:10Software die oder dieser dieser Treiber, das ist also diese
- 19:14Treiberdatei die dann da läuft ist sozusagen die CS Agent Sys,
- 19:20also so heißt diese Datei, dieser Treiber dieser
- 19:22Gerätetreiber der keine Geräte hat.
- 19:27Und diese Software sage ich jetzt mal, oder dieses
- 19:30Softwarepaket ist so wie es ist, ABGETESTET zertifiziert.
- 19:35So und jetzt ist natürlich die Frage, wie kriegen wir
- 19:37Sicherheitsupdates dynamisch da rein und da haben sie und auch
- 19:41so, und das ist fand ich auch interessant, dass man jetzt zum
- 19:44Beispiel sagt, Du machst zwar ein Update, das jeder kennt, das
- 19:47ja bestimmt, du musst, also irgendwie wird gesagt, diese
- 19:50Software hat ein Update, dann lädst du es herunter,
- 19:52installierst es und musst die Software neu starten.
- 19:56Natürlich, dann möchte man dann vielleicht auch nicht bei 8,5
- 20:00Millionen. Rechnern das machen, gerade wenn
- 20:04vielleicht die Sicherheitslücke aufgetreten ist und der Rechner
- 20:06aber vielleicht gar nicht neu gestartet werden kann.
- 20:10In dem Moment ne also durchaus möglich.
- 20:13Ich meine es gibt zum Beispiel Flughäfen, die haben 24 7 offen,
- 20:16die meisten großen und. Muss man halt gucken, ob man
- 20:21dann eben einfach mal sowas neu starten kann.
- 20:24Nur mal als kleines Beispiel, aber Fakt ist, damit man diese
- 20:28Sicherheitslücken so schnell wie möglich schließen kann und
- 20:31gleichzeitig aber auch den Rechner nicht neu starten muss
- 20:34für dieses Update sag ich mal, ist es jetzt so, dass sie
- 20:38sogenannte Sys files. Immer bereitgestellt haben die
- 20:44eingelesen werden von diesem Treiber von diesem CS Agent.
- 20:51In diesen Files steht dann, das ist so ein bisschen, also nicht
- 20:57nicht hundertprozentig klar bisher, was da genau drin steht.
- 21:00Also da könnten. Ne, es gibt Vermutungen, dass
- 21:04gesagt wird, OK, es gibt vielleicht kleine Codeteile, die
- 21:07auch ausgeführt werden, executed werden können durch diesen
- 21:10Agent, es kann aber auch sein, dass einfach nur bestimmte.
- 21:15Parameter eingelesen werden, um halt die Software zu
- 21:18konfigurieren. So eine Art Konfiguration,
- 21:20Konfigurationsdatei und. Über diese Informationen, die
- 21:26von diesem Sys file oder von diesen Sysfiles reinkommen, wird
- 21:30halt eben werden. So kann man sich das vorstellen,
- 21:32die Sicherheitslücken gestopft, also man kann ja mal vielleicht
- 21:35ein kleines Beispiel versuchen zu bringen, du hast weiß ich
- 21:40nicht, eine Baustelle, auf der gebaut wird und du sagst okay,
- 21:44du brauchst jetzt irgendwie, du hast irgendwie bestimmte
- 21:46Schrauben und diese schrauben, damit musst du irgendwas
- 21:49zusammen. Schrauben damit dein Regal steht
- 21:52oder was auch immer. Jetzt merkst du okay dieses
- 21:55Regal funktioniert nicht mit diesen schrauben, wir brauchen
- 21:57andere schrauben, weil sonst könnte es sein, dass die Last
- 21:59nicht mehr getragen werden kann von dem Regal.
- 22:01Nur als Beispiel so und damit du jetzt aber nicht sagst, ja komm
- 22:04hier, schmeiß das Regal weg, wir fangen nochmal von vorne an,
- 22:09gibt es halt die Möglichkeit, dass du sozusagen diese
- 22:11Schrauben bestellst. Die werden dir dann vor die Tür
- 22:13gestellt und du kannst dir diese schrauben nehmen und mit diesen
- 22:15Schrauben dann halt einfach arbeiten, das heißt du Tauschst
- 22:19sozusagen on the Fly bestimmte. Schrauben in dem Fall aus, damit
- 22:22dein Regal am Ende halt auch ne so wie es schon angefangen
- 22:27wurde, halt noch verbessert werden kann und dann ne die
- 22:30alten Schrauben ausgetauscht werden können.
- 22:32Nur mal als Beispiel, vielleicht kann man sich das so n bisschen
- 22:34vorstellen und du musst nicht noch mal von vorne anfangen.
- 22:37So jetzt ist das Problem aber an der Stelle gewesen, dass eine
- 22:42Datei diese wir nennen sie kurz. C. 291 eben fehlerhaft war.
- 22:50Also es wurden Daten eingelesen in diesen Agent von dieser Datei
- 22:57und das hat das Problem sage ich mal ausgeführt ausgelöst.
- 23:04Was ist denn da genau passiert? Also wie ist denn dieser Fehler,
- 23:07wie kann man sich das vorstellen?
- 23:09Ja, eine kurze Ergänzung noch. Diesem zertifizierungs Thema,
- 23:17weil durch diese dynamischen Config Files hast du ja quasi
- 23:21geschaffen, dass du dein Treiber nicht immer wieder neu
- 23:25zertifizieren musst. Und das ist ja eigentlich
- 23:27wirklich spannend dabei. Du kannst sagen, Hey, das ist
- 23:29immer noch die gleiche Version vom Treiber und ihr habt Sie
- 23:32Microsoft, ihr habt sie zertifiziert, die ist gültig und
- 23:35da verwendet werden und von außen können wir trotzdem.
- 23:40Quasi. Das ist ein bisschen
- 23:41Spekulation, ob da jetzt auch neuer Programmcode irgendwie
- 23:44rein fließen kann, der executed wird oder nur Parameter, wie du
- 23:47schon meintest, aber trotzdem habe ich einen Einfluss über
- 23:50diese Config oder dynamischen Files auf den Treiber, also kann
- 23:55man ja eigentlich nicht davon reden, dass es eigentlich immer
- 23:58noch die gleiche Version ist. Aber es ist halt ein, deswegen
- 24:00hatte ich es mal provokativ work around genannt um diese
- 24:03Zertifizierung herum und das. Ich halt ziemlich zivilich
- 24:07spannend dabei. Ich bin ein bisschen
- 24:09abgedriftet, aber es ist auf jeden.
- 24:10Fall gut, ich wollte es nur noch mal zusammenfassen.
- 24:14Jetzt hab ich allerdings deine Folgefrage vergessen.
- 24:16Ach so, was ist was ist passiert dabei genau also es gab dieses
- 24:21berüchtigte Zweihunderteinundneunziger Sys
- 24:25file da C 291 mit n paar leading zeros irgendwie ich hab gar
- 24:29nicht gezählt wieviel das war. Das wurde ja irgendwo oder
- 24:33überall dann im Netz quasi publiziert hat auch.
- 24:38Spielt auch ne Rolle für den Hotfix sage ich mal um dein
- 24:41System wiederherzustellen, was wir am Ende auch mal drauf
- 24:43eingehen können, aber auf jeden Fall war relativ schnell klar,
- 24:46dass dieses File daran schuld ist.
- 24:48Und dann gab es auch ein sehr weit verbreiteten Tweet, heißt
- 24:54sagt man ja, so heißt es immer noch Tweet auf der Plattform
- 24:57Exit, ich weiß gar nicht. Auf jeden Fall wurde der sehr,
- 25:02sehr oft geteilt und da gab es einen Auszug aus dem Dammpfeil,
- 25:05wo quasi nachgeguckt wurde, was denn da im System eigentlich
- 25:09passiert ist. Und es sah sehr stark danach
- 25:12aus, dass quasi auf ein ungültigen Speicherbereich
- 25:15zugegriffen wird. Ich hab es mir jetzt nicht so
- 25:19detailliert angeguckt mit dir, aber das sah, also konnte man
- 25:24schon nachvollziehen, dass das naheliegend ist, dass es da
- 25:26einfach n speicherzugriffsfehler gab sozusagen.
- 25:28Also man hat einfach auf n ungültigen Bereich zugegriffen
- 25:31mit einem Register. Es wird doch n bisschen
- 25:33spekuliert darüber, wie es jetzt, also was jetzt genau
- 25:36hundertprozentig also diese Schnittstelle von dem Pfeil zu,
- 25:40also von diesem C 291 Pfeil zum C sagen ne, also diese
- 25:45Schnittstelle da, da wird spekuliert.
- 25:47Ein bisschen drüber, das ist noch nicht hundertprozentig
- 25:49klar. Fakt ist es auf jeden Fall, dass
- 25:53etwas Falsches übergeben wurde. An der Stelle ne.
- 25:55Genau also, was da auch noch n paar Leute kommentiert haben,
- 25:58fand ich ganz spannend. Die haben das soweit analysiert,
- 26:01dass sie gesagt haben, ja OK, da wird scheinbar.
- 26:05Werden da Daten eingelesen, was ja auch für diese config Files
- 26:07spricht und scheinbar halt auch Werte uninitialisiert gelassen
- 26:13und das kann halt auch schon relativ schnell zu einem sehr
- 26:15klassischen Problem führen. Angenommen ich habe so eine Art
- 26:19Config loader und lade jetzt so ein Pfeil ein und das ist
- 26:22fehlerhaft, unvollständig wie auch immer und bin dann aber
- 26:26nicht robust. Jetzt auf Seiten des Treibers so
- 26:29robust, dass ich damit umgehen kann, sondern ich sage okay das
- 26:32sind jetzt meine Daten, mit denen arbeite ich und.
- 26:35Wird auf einmal n Zugriff auf ne uninitialisierte variable
- 26:39Parameter was auch immer. Und ja du guckst quasi blöd
- 26:43gesagt ins Leere und greifst dann auf nen nicht gültigen
- 26:45Speicherbereich zu, weil da halt nichts gültiges drin steht an
- 26:49der Stelle. Die erste Behauptung war ja,
- 26:52dass es einfach sozusagen nulpointer war, aber das wurde
- 26:54auch relativ schnell kritisiert. Die Aussage, so einfach war es
- 26:58denn doch nicht, aber im Prinzip geht es grob darum, dass da
- 27:03fehlerhafte Speicherzugriffe durchgeführt wurden.
- 27:06Jedes Mal, wenn quasi dieser Treiber hochfährt oder startet,
- 27:10weil diese Config Files eingeladen werden, was ja
- 27:12interessant ist an der ganzen Geschichte ist ja, dass wenn man
- 27:15sich jetzt überlegt, OK, also wir haben quasi eine ein ein
- 27:20Treiber eine Software die wir im Kernel Modus starten, so also
- 27:25die wird quasi auf Kernel ebene ausgeführt.
- 27:28Damit das passieren darf, braucht es ein Zertifikat
- 27:33seitens Microsoft, damit man kein.
- 27:38Unfug treibt auf dieser Ebene genau, und dann wird quasi eine
- 27:44Art Workaround, wie du es jetzt so genannt hast.
- 27:46Ob die das so nennen würden, sei mal dahingestellt, aber.
- 27:48Da wir sagen das jetzt mal so. Demokratie, wir sagen das
- 27:51provokativ, diese dieser Workaround implementiert, sodass
- 27:53man eben die Software verändern kann, ohne die Software zu
- 27:58verändern, also ohne die Version zu verändern, also ohne Changes
- 28:03an der Software am Quellcode der Software selber zu machen.
- 28:07Und dann führt es dazu, dass das Halt eben durch dieses Update
- 28:11von dieser C 291 Datei sozusagen Bluescreen erzeugt.
- 28:16Was ich aber super interessant finde ist dabei, dass wenn man
- 28:19sich diese Kette einmal anguckt, dann bemerkt man ja relativ
- 28:23schnell, dass dieser Fehler, der zu diesem Bluescreen geführt
- 28:28hat, schon viel, viel länger in der Software drin war oder drin
- 28:32sein musste, weil diese Software wurde ja zertifiziert, das heißt
- 28:36diese Robustheit, von der du. Hast die ja da sein müsste.
- 28:39Also wenn ich jetzt n Taschenrechner habe und was wir
- 28:41vorhin sagen durch 0 Teilen und der schmiert ab, dann ist ja
- 28:44nicht robust gegenüber dieser mathematischen Division durch 0.
- 28:48Aber jeder normale Taschenrechner hat eigentlich
- 28:51dann ein. Ein eine Möglichkeit, das geht,
- 28:55oder genau das zu verarbeiten. So und genau das wurde ja nicht
- 28:58gemacht und das finde ich so spannend, weil im Endeffekt ist
- 29:02ja nicht der nicht der Fehler, sag ich jetzt mal nicht der
- 29:05primäre Fehler, dass. Klar, es ist auch ein Fehler,
- 29:08dass diese C 291 Datei halt eben fehlerhaft war, aber der
- 29:13Ursprungsfehler warum es überhaupt dazu gekommen ist, war
- 29:17ja schon in der zertifizierten. Software drin, das find ich halt
- 29:20gespannt und dann ist halt wirklich die Frage wie lange das
- 29:22da schon drin ist. Ne ich meine das ist ein
- 29:25klassischer Fehler und jeder hat sowas schon erlebt, da kann man
- 29:28jetzt nicht sagen, Oh mein Gott, wie wie konnte sowas passieren?
- 29:32Spannend ist, dass erst so eine Verkettung wieder dazu geführt
- 29:36hat, dass sowas auffällt. Mit einer leider sehr
- 29:39katastrophalen und teuren Folge. Also was jetzt daraus resultiert
- 29:43sind ja Millionen, wenn nicht sogar milliardenschäden, Dollar,
- 29:48Euro, nimm eine Währung, keine Ahnung.
- 29:51Das sind ja sogar, glaube ich, also der Ausfall der ganzen
- 29:54Systeme hat ja, wenn man das mal zusammenrechnet, mehr als
- 29:571000000 Arbeitsstunden. Gekostet ne, was ich auch heftig
- 30:02finde, also allein schon die Zeit die zu dem Zeitpunkt
- 30:06stattgefunden hat und dann natürlich musst du auch noch
- 30:09gucken, was zur Lösung notwendig ist.
- 30:11Also 1000000 Arbeitsstunden, um es diesen Hotfix durchzuführen.
- 30:15Quasi. Was heißt Hotfix?
- 30:16Also es, du warst ja im kompletten Deadlock, also um
- 30:20quasi Systeme wiederherzustellen.
- 30:22Ja, kennst du das? Also das das mein ich aber nicht
- 30:24nur das, sondern zusätzlich auch natürlich noch die
- 30:27Arbeitsstunden, die zum Beispiel ausgefallen sind.
- 30:29Also wenn du jetzt zum Beispiel sagst, Flüge wurden verschoben,
- 30:32Flüge konnten nicht sozusagen eingeleitet werden, durchgeführt
- 30:36werden, dann hast du ja im Endeffekt.
- 30:39Oftmals den Fall, dass ein Pilot oder eine Pilotin wird ja
- 30:42bezahlt und trotzdem geht es gerade nicht weiter.
- 30:47Und das sind ja auch Sachen, die sozusagen, also diese
- 30:49Arbeitsstunden, die es gekostet hat, die aber eigentlich dann im
- 30:52Endeffekt entweder für die Lösung oder für sozusagen
- 30:55Lehrgeld bezahlt wurden. Das.
- 30:57Ja, das ist krasser Schaden, krasser, krasser, krasses Ausmaß
- 31:01einfach. Ich glaube mittlerweile steht
- 31:03sogar fest, dass es die bisher weltweit größte Computerpanne
- 31:07war, die es jemals verzeichnet wurde, also das sind ja schon
- 31:10größten Ordnungen, die sind, die sind irre und das passiert
- 31:12einfach so auf dem Freitag weißt du, alle wollen nur ins
- 31:14Wochenende oder in den Urlaub. Oder noch die letzten Aktien
- 31:18kaufen, verkaufen? Keine Ahnung, sind ja auch
- 31:21Börsen betroffen gewesen, das ist schon, das ist schon
- 31:23wirklich sehr krass. Genau.
- 31:26Und dann waren wir ja an dem Punkt zu sagen, OK, wir haben
- 31:28jetzt n Code quasi laufen oder Konjugation und die haben zu dem
- 31:33Fehler geführt. Das heißt, fassen wir noch mal
- 31:36zusammen, was unsere Grundlage ist, die zudem allen geführt
- 31:39haben. Wir haben einen Cyber Security
- 31:41Unternehmen, was ein Produkt hat, was einen sehr hohen
- 31:44Marktanteil hat, das Falcon Sensor, das Ganze läuft als
- 31:48Gerätetreiber im Kernel Mode, das heißt es hat einen
- 31:51kompletten Systemzugriff. Ist zertifiziert, kann aber über
- 31:56die Sys Files wie du meintest ja quasi Updates empfangen.
- 32:01Was wie gesagt gut zu begründen ist, weil man einfach sehr
- 32:05schnell oder Instant reagieren muss, falls neue Lücken,
- 32:09Sicherheitslücken auftreten oder was auch immer.
- 32:11Also ich verstehe ja den Punkt zu sagen, wir können einfach
- 32:14nicht jede Version zertifizieren, weil es zu lange
- 32:17dauert und dann in der Zeit wie du so schön meintest schon.
- 32:21Alle Systeme. Quasi befallen sein Können und n
- 32:24Riesenchan entsteht. Ja.
- 32:26Absolut valide. Trotzdem haben wir jetzt ne
- 32:29Ausgangssituation, dass wir diesen, sag ich mal under
- 32:31scienten Code haben, der läuft oder die Konfiguration.
- 32:35Und genau da diese Kombination aus einer neuen Konfiguration
- 32:40und dem zertifizierten Treiber ist jetzt quasi der Crash
- 32:44entstanden. Dadurch, dass ein
- 32:47Speicherzugriffsfehler entstanden ist.
- 32:49Der den Treiber abgeschossen hat und wie wir ja vorhin schon
- 32:53meinten, ist ja da der Unterschied zu user Mode, dass
- 32:56nicht nur die Applikation abgeschossen wird, sondern das
- 32:58ganze System sich abschießt, das heißt Windows Crash dir weg an
- 33:02der Stelle mit dem Bluescreen genau und dann stellt sich
- 33:05natürlich die Frage ja okay. Shit happens.
- 33:09Ja, wir sind jetzt abgeschmiert, der startet neu und dann läuft
- 33:13doch die Kiste wieder und das ist nämlich genau jetzt auch so.
- 33:16N anderer sehr spannender Punkt, denn.
- 33:21Der Treiber war ja nicht nur sag ich mal n normaler Treiber,
- 33:26sondern ein sogenannter Bootstart Driver.
- 33:29Das heißt? Er ist so klassifiziert, oder
- 33:34sag ich mal Teil des Systems, dass er zwingend mit Hochstarten
- 33:39muss. Das heißt der wird glaub ich
- 33:42beim ersten Start des Systems, wenn er quasi sozusagen
- 33:45draufkommt ins System auch installiert wird erstmal.
- 33:49Also er ist immer Teil deines Systems sozusagen und mag auch
- 33:54leicht zu begründen sein. Klar, ich mach hier Cyber
- 33:57Security und eine Sicherheitssoftware dann und ich
- 34:00will ja auch, dass sie definitiv Teil des Systems meines Kundens
- 34:04ist. Am Ende, das heißt sie mitläuft
- 34:06so, das heißt, sie ist aber fester Bestandteil deines
- 34:09Systems, das heißt, bei jedem Neustart fährt auch dieser
- 34:12Treiber hoch und oder ist am Start, sage ich mal nicht lange,
- 34:16weil er schießt sich ja dann ab und dein ganzes System crashed.
- 34:20Du bist in einer wunderbaren Endlosschleife gefangen und.
- 34:25Kommst da nicht mehr raus und da ist es jetzt der Riesen riesen
- 34:29Knackpunkt. Du hast Remote keine Chance das
- 34:32zu fixen und das Macht die ganze Sache auch so unverschämt teuer
- 34:36am Ende, weil du kannst ja jetzt nicht zu jedem Flughafen gehen
- 34:41oder sage ich mal jeder der betroffen ist kann ja jetzt
- 34:44nicht sagen ja gut okay ich weiß genau was zu tun ist, wie ich
- 34:48das fixen kann. Dauert mich jetzt ja, dauert 10
- 34:53Minuten, dann läuft das Ding wieder, weil ich weiß was zu tun
- 34:55ist, weil ja der worst Case der worst case an der ganzen
- 35:00Geschichte ist. Ja, dass du ja im eigentlich
- 35:04jeden einzelnen Rechner behandeln musst.
- 35:07Also es. Ist halt physikalischen Zugang.
- 35:10Es ist ja das, was ich meine. Es soll wohl also es wurde
- 35:13gesagt, dass du rein theoretisch, wenn du wenn dein
- 35:15Rechner nicht offline ist, hast du die Möglichkeit dieses File
- 35:19Remote zu löschen, aber das Problem ist ja.
- 35:22Erstmal musst du sagen, OK, wie kriegst du n Rechner online, der
- 35:25darf sich nicht im Bluescreen oder im Startmodus befinden.
- 35:27So da ist ja die Möglichkeit zu sagen OK wir können den Rechner
- 35:31jetzt nun, so wurde das ja vorgeschlagen im abgesicherten
- 35:34Modus starten so aber die Frage ist jetzt natürlich auch okay
- 35:38möchtest du also um solche Dateien zu löschen, diese also
- 35:43der Vorschlag war ja was die ganze Sache fixen kann.
- 35:47Lösche diese C 291 Datei aus dem entsprechenden Verzeichnis.
- 35:52Das kannst du ja aber nur machen, wenn du auch die
- 35:54Adminrechte dafür hast. Geht man wahrscheinlich nicht
- 35:58mal ebenso hin und sagt hier, bitteschön.
- 36:02Gebe jetzt einem Service Admin Rechte auf 8108,5 Millionen
- 36:07Rechner damit die das machen können.
- 36:09Angenommen die sind alle online wenn du Rechner hast die
- 36:11irgendwie offline sind, aus welchen Gründen auch immer.
- 36:16Dann geht das sowieso nicht, aber die die Sache an sich, das
- 36:20und das ist ja der der witzige Punkt.
- 36:22Wenn du jetzt ein Mitarbeiter bist, von irgendwie keine Ahnung
- 36:24besitzt, sagen wir mal am Flughafen an dem Rechner würde
- 36:28ich mal die Vermutung. Aufstellen dass die Mitarbeiter
- 36:32im Normalfall keine Adminrechte auf diese Rechner haben, so.
- 36:35Genau. Also was muss passieren?
- 36:38Ja, du musst halt den IT Service dann anrufen, wahrscheinlich von
- 36:41deinem Unternehmen und da muss der Mitarbeiter zu jedem
- 36:43einzelnen PC gehen, also wirklich vor Ort sein und den
- 36:48mit dem quasi im Safe Mode im abgesicherten Modus starten und
- 36:51dann dieses File mit den Adminrechten löschen.
- 36:55Dann sollte es auch wieder hochfahren, weil wie gesagt,
- 36:57dieser Treiber lädt ja diese Files und dann bist du wieder
- 37:01quasi zurückgesetzt auf einen Zustand der funktioniert hat,
- 37:05aber genau das geht halt nicht remote, weil diese Rechner
- 37:09logischerweise offline sind, weil sie fahren ja nicht mehr
- 37:11hoch und das ist ja auch bei allen passiert und das macht
- 37:16halt diesen Schaden so unfassbar riesig und zeitaufwendig vor
- 37:19allem also du kannst halt nicht. Zur Person oder Mitarbeiter XY
- 37:23gehen und sagen ja gut hier pass auf, das ist der fix.
- 37:26Du gehst jetzt in den abgesicherten Modus, gehst in
- 37:28den Ordner sowieso und löscht das File.
- 37:31Ja gut ich krieg nicht mehr den abgesicherten Modus gestartet,
- 37:33ich kann sowieso keine File im System löschen, mal blöd gesagt,
- 37:38das heißt sie können sich gar nicht helfen selbst.
- 37:40Und das ist halt das krasse dabei.
- 37:42Das ist halt wirklich der der Gau dabei so ne, weswegen du es
- 37:46nicht einfach n Patch, also du kannst halt nicht n Patch
- 37:49nachschieben und sagen, tut mir leid, aber jetzt ist alles
- 37:53wieder gefixt, so 10 Minuten später das.
- 37:55Hat halt an der Stelle nicht mehr funktioniert.
- 37:58Die waren alle in einem Deadlock, die Systeme und das
- 38:01ist das ist halt so krass dabei. Dass man sich überlegt, du
- 38:05rollst jetzt ein Update raus in einem guten Gewissen, das wird
- 38:08ja n Sinn haben, das wird ja wahrscheinlich irgend ne irgend
- 38:10n sicherheitspatch gewesen sein und erzeugst so ne globale.
- 38:15Ja ich sag mal systemische softwarekatastrophe so ne.
- 38:19Also ich will jetzt nicht allgemein Katastrophe sagen,
- 38:21aber es ist schon wirtschaftlich gesehen schon ne Katastrophe
- 38:24gewesen. Ja, also es ist.
- 38:25Es ist einfach, ist einfach Wahnsinn, ne also die diese
- 38:29diese Vorstellung, jeder kennt das ja du du du rollst was aus.
- 38:33Es hat ja wahrscheinlich jeder schon mal irgendwie erlebt und
- 38:37irgendwas hat nicht so funktioniert und denkst, ach
- 38:39Mist, was für n Ärger, komm, das können wir wieder zurückrollen
- 38:43oder wir patchen das gleich und machen es gleich wieder richtig,
- 38:46wenn es zu hart war, dann sagst du einfach OK, wir nehmen es
- 38:48zurück, vielleicht hast du sogar Automatismen, irgendwelche
- 38:51Deploymentstrategien die dir sagen, Hey da funktioniert
- 38:55gerade was nicht, wir haben es zu 10% der User ausgerollt da.
- 38:59Fehler auf, wir rollen das jetzt manchmal auf 100% auf, sowas
- 39:02gibt's ja auch. Es gibt ja verschiedene
- 39:04Möglichkeiten um mit sowas umzugehen.
- 39:06Von denen sie anscheinend keine genutzt haben.
- 39:08Also allein dieses du rollst es aus.
- 39:11Es ist eine Kleinigkeit, ein Schnitt mit dem Finger, mal blöd
- 39:15gesagt und es ist ausgerollt und es geht.
- 39:18Die erste Meldung, dass ein System ausgefallen ist vom
- 39:21Kunden und denkst dir so hä und in dem Moment.
- 39:25Wo du evaluierst, was da passiert ist, sind ist die Zahl,
- 39:29die muss ja in die Höhe geschossen sein, einfach quasi,
- 39:31das ist schon krass und du weißt direkt schon, was es für ein
- 39:35unglaublicher Aufwand ist, dass wieder zurückzurollen.
- 39:37Also ich hab ja sogar gelesen, dass.
- 39:40Manche brauchten sogar n Bitlocker Key um halt eben auch
- 39:45sozusagen überhaupt wieder auf den Rechner zugreifen zu können,
- 39:47weil Windows sich halt automatisch verschlüsselt hat.
- 39:50Ja, also ich weiß nicht, du hattest glaube ich auch mal den
- 39:52Fall, da hast du glaub ich. Mit Windows 11 hatte ich das
- 39:55mal. Ja, du hattest ja genau ein
- 39:56Update von Windows 10 auf Windows 11 gemacht.
- 39:59Da war es gerade bei mir zu Besuch bei deinem Laptop und auf
- 40:02einmal konntest du nicht mehr darauf zugreifen, weil irgendwas
- 40:05schief gegangen ist. Ja, der ist auch irgendein
- 40:06Update schief gelaufen und dann hat sich das ganze System
- 40:09verschlüsselt. Ja genau, und dann findet man.
- 40:12Erstmal ja, und das ist alles gut gegangen.
- 40:15Ist gut gegangen. Glück im Unglück, aber das Ding
- 40:18ist das, das kommt ja vielleicht als Hürde noch hinzu.
- 40:23Sozusagen zu dem ganzen Trouble, die dann sozusagen die
- 40:25Administration der IT noch zu tun hatte.
- 40:28Bei was weiß ich wie vielen. Organisation, Einrichtung wie
- 40:34auch immer ne. Also das ist schon heftig
- 40:37gewesen im Endeffekt, was man sich natürlich dann an der
- 40:40Stelle mal so n bisschen fragen kann ist OK, die Sachen sind
- 40:44jetzt so passiert, ne? Ich hab zum Beispiel auch
- 40:48gelesen, ich. Bin mir jetzt nicht sicher, ob
- 40:51das hundertprozentig der Wahrheit entspricht, weil du es
- 40:54kam jetzt nicht von Crowdstrike selber, aber was ich so
- 40:58mitbekommen habe oder was gemunkelt wird, es ist ja auch
- 41:01immer die Frage ne, manche stellen das ja auch in den Raum
- 41:05und aufgrund von den Sachen wie es passiert ist, werden
- 41:08Behauptungen aufgestellt die vielleicht nicht stimmen, die
- 41:11aber durchaus stimmen können. In dem Fall habe ich zumindest
- 41:14gelesen. Das auch.
- 41:18Das Deployment sozusagen jetzt nicht irgendwie großartig vorher
- 41:22getestet wurde. Also du hattest dann zum
- 41:25Beispiel, also offensichtlich wurde nicht getestet, was
- 41:28passiert, wenn du eine fehlerhafte Datei von diesem C
- 41:31291 hast. Weil wenn das hätte getestet,
- 41:34wenn das getestet wurde, dann hätte man ja mitgekriegt, dass
- 41:38der CS Agent Sys dieser Treiber ja irgendwie ein Software bug
- 41:43haben müsste. Weißt du was ich meine?
- 41:46Das ist halt genau der Punkt dabei.
- 41:50Das ist ja quasi das, was ausgerollt wurde.
- 41:53Und wenn das durchgetestet worden wäre, quasi noch auf so
- 41:56einer Teststage, sage ich mal, hätte Entschuldigung, hätte man
- 42:01das eigentlich finden müssen, oder?
- 42:04Also zumindest könnte man davon ausgehen, ne.
- 42:07Also es ist natürlich immer die Frage von von außerhalb kann man
- 42:11sowas immer sehr sehr einfach beurteilen ne also man kann sich
- 42:14hinstellen und sagen ja hätte man so hätte man so es ist ja
- 42:18mal die Frage wie man da noch wirklich drin steckt, nur manche
- 42:21Sachen muss man halt gucken, wichtig ist natürlich, dass die
- 42:25Sachen die passiert sind, also es war ja wieder eine Kette von
- 42:28Ereignissen, also gehen wir mal davon aus.
- 42:31Oder spekulieren wir darauf, dass es offensichtlich nicht so
- 42:34richtig getestet wurde, weil halt eben ein Bug in der
- 42:36Software drin ist, die schon zertifiziert worden ist?
- 42:41Das heißt, fehlende Tests, vielleicht eine fehlende Test
- 42:43Stage, wie Du meintest vor dem Deployment auf Prot.
- 42:47Dann der Bug im System, der auch vielleicht nicht genügend
- 42:52Abgetestet wurde, sehr wahrscheinlich.
- 42:55Und halt eben auch noch die fehlerhafte C 291 Sys Datei.
- 43:02Wo man ja auch nicht 100 prozentig weiß, was.
- 43:06Wie ist der Fehler da reingekommen.
- 43:07Aber das sind ja auch wieder 3 Fehler.
- 43:10Quellen, die so ein bisschen dazu geführt haben, am Ende,
- 43:13dass. Es aufgetreten ist.
- 43:16Ja. Nur was kann man daraus lernen?
- 43:18Das ist ja. Die also das sind jetzt genau
- 43:21die Learnings, die man da auch als Unternehmen crowdstrike
- 43:24ziehen muss, dass du halt einerseits deine deine ganze
- 43:29Pipeline nochmal überarbeitest oder überdenkst, ob man da an
- 43:32der Stelle das hätte irgendwie erkennen können, wie du schon
- 43:34meintest zum Beispiel, vielleicht fehlt da noch eine
- 43:36Art Teststage, die sowas abfangen kann.
- 43:39Wie gesagt, wir stecken da nicht drin, wir gehören auch nicht zum
- 43:41Unternehmen, ist jetzt nur Mutmaßung, aber wahrscheinlich.
- 43:45Da auf Pipeline Ebene sicherlich noch Ergänzungen oder
- 43:49Erweiterungen treffen, quasi um das Abfangen zu können in
- 43:53Zukunft, weil es geht ja darum, wir müssen jetzt draus lernen,
- 43:56dass es zukünftig nicht noch mal passiert, weil so so schön
- 44:00gesagt, das Kind ist jetzt im Brunnen gefallen und wir müssen
- 44:03jetzt einfach das hinnehmen, dass das passiert ist.
- 44:07Aber es darf nicht noch mal passieren und da wäre jetzt für
- 44:10mich halt so ein Ding, wie gesagt die Pipeline
- 44:12durchschauen, ob man da etwas überarbeiten kann, die
- 44:14Testabdeckung. Schön, dass man den Fall
- 44:16natürlich jetzt auch mal abtestet beziehungsweise fix den
- 44:19Bug, dass man sich jetzt genau anschaut, was da passiert, dann
- 44:24die Testfälle ergänzt und den Bug fixed.
- 44:27Das wären so Punkte und. Vielleicht allgemein.
- 44:34Es ist jetzt nur Mutmaßung. Das sind jetzt so Sachen, die
- 44:35ich machen würde, weil ich will jetzt die Mutter dem nichts
- 44:37unterstellen, aber vielleicht diesen ganzen refactoring
- 44:39Grundsatz auch noch mal in Frage stellen, wie oft das gemacht
- 44:42wurde in letzter Zeit, weil auch dadurch findest du so Bugs.
- 44:47Oder oder siehst zum Beispiel, dass da vielleicht Fälle nicht
- 44:49berücksichtigt wurden, testest sie nach, merkst, oh Gott, das
- 44:53geht gar nicht. Gott sei Dank haben wir das
- 44:54jetzt gefunden, ne. Aber für mich n ganz wichtiger
- 44:58Punkt, den ich auch noch kurz mit dir diskutieren möchte ist
- 45:01als Entwickler auch die gewisse Verantwortung zu haben oder im
- 45:06Kopf zu haben, dass man sich so verantwortlich für diese
- 45:08Software fühlt, weil man ja jetzt gesehen hat, was es für
- 45:12Auswertungen gibt, Auswertungen Auswirkungen gibt, das heißt?
- 45:21Das ist ja nicht nur ne Frage. Wer ist jetzt schuld, das ist
- 45:24sogar komplett die falsche Frage jetzt entschuldigen zu suchen,
- 45:28sondern man muss ja als ganzes Unternehmen daraus lernen und
- 45:32aber vielleicht mal mehr wieder in die Verantwortung zu gehen
- 45:35für die Software selbst zu sagen, Hey wir können jetzt kein
- 45:38Update ausrollen, weil wer kennt es nicht, Zeitdruck im Projekt.
- 45:43Update muss unbedingt raus. Ja, morgen muss es passieren.
- 45:45Ja gut, wir haben hier aber das und das noch nicht abgetestet
- 45:47nee morgen muss das raus so typische Diskussion die glaube
- 45:51ich jeder der so beruflich im Softwareentwicklungsbereich
- 45:53unterwegs ist kennt und dass man da noch mal seine eigene
- 45:56Verantwortung schärft und sagt, Nein wir können das so nicht
- 46:00machen, wir müssen das und das noch berücksichtigen,
- 46:03beispielsweise weil man ja auch die wie gesagt verantwortlich
- 46:06ist für diese Software, es ist ja dein Produkt irgendwo am Ende
- 46:09klar von dem ganzen Unternehmen, aber du hast ja mit dran
- 46:11entwickelt und. Das finde ich, ist halt ein sehr
- 46:14spannender Punkt dabei, den man da auch als Learning mit
- 46:16rausziehen könnte. Allgemein für alle, dass man
- 46:19sich wirklich mal fragt, was. Wäre, wenn diese Software
- 46:22komplett fehlschlägt, in ihrer Funktionalität.
- 46:25Ja, ich glaube das. Ist so der worst case dahinter?
- 46:27Ich glaube, da wird sich manchmal dann in dem Fall, also
- 46:30es klingt zumindest so, dass man diesen Fall ja gar nicht so auf
- 46:34dem Schirm hatte, weil wenn man so einen Fall ja irgendwie auf
- 46:36dem Schirm hätte, also solche worst case, also wirklich worst
- 46:41case. Dann wurde ja also dann, wenn
- 46:45man das gewusst hätte, irgendwie so nach dem Motto, es könnte so
- 46:48ein Deadlock entstehen, dann hätte man ja da wahrscheinlich
- 46:50auch ein bisschen sensibler drauf, das Ganze also an dieser
- 46:54Stelle betrachtet, was ich zum Beispiel auch noch ein
- 46:57interessantes Learning finde, ist, dass man zum Beispiel auch
- 47:02sagen kann, also es ist ja ein Bug, der in einer zertifizierten
- 47:04Software in, ich sag mal in Anführungsstrichen fertigen
- 47:07Software in einem fertigen Softwarestand drin war, dass man
- 47:10vielleicht auch einfach sagt Okay.
- 47:13Permanentes Improvement ist irgendwie wichtig, also nur weil
- 47:16etwas das jetzt einfach mal so funktioniert, so dieses typische
- 47:19Haar. Never change a running system
- 47:21sozusagen. Ist vielleicht nicht immer ne
- 47:23gute Sache, also dass man wirklich auch noch mal
- 47:25regelmäßig auch noch mal vielleicht Zeit investiert und
- 47:28Sachen noch mal Challenge, die vielleicht auch irgendwie
- 47:30vermeintlich funktionieren. Ist vielleicht ja, denn unter
- 47:35das refactoring Feld quasi. Genau klar, auf jeden Fall, aber
- 47:38dass das dieser Gedankenanstoß sein könnte und halt, dass man
- 47:43sich genau. Diese dieses, diese diesen
- 47:46diesen Security Aspekt nimmt und sagt, an welchen Stellen haben
- 47:51wir denn, ich nenne es jetzt mal Angriffsmöglichkeiten, die auch
- 47:55von einem selber kommen können, also dass man wirklich mal so
- 47:58ein so ein gewisses. Das Security Profil seiner
- 48:01eigenen Software erstellt und sagt, Wo haben wir denn
- 48:04kritische Pfade, die wirklich unglaublich kritisch sind, weil
- 48:07es ist ja jetzt nicht unbedingt so, dass man sagt, das, was
- 48:12gerade passiert ist. Ist nicht möglich.
- 48:15Also es ist vielleicht zu übersehen, aber wenn du länger
- 48:19darüber nachdenkst, kann ich mir vorstellen, dass es eine
- 48:21Möglichkeit ist, sich zu sagen, wenn ein Treiber, ein
- 48:25Gerätetreiber, ein Fehler wirft. Dann kommt es zu einem
- 48:29Bluescreen. Also ist die Frage, was muss
- 48:32passieren, damit auf jeden Fall kein Bluescreen erzeugt wird.
- 48:35Klar wurde das zertifiziert, genau deswegen, aber na ja der
- 48:39Workaround und so ne. Aber genau das verstehe ich halt
- 48:42dabei nicht, oder? Das ist so der Kritikpunkt
- 48:44dabei, wenn ich das speziell zertifizieren lasse von
- 48:48Microsoft, weil ich halt ein Zertifikat brauche, um überhaupt
- 48:51in diesem Modus meinen Treiber laufen lassen zu können.
- 48:55Dann bin ich mir doch im Klaren, was es bedeutet, auch in diesem
- 48:59Modus zu laufen. Das beispielsweise.
- 49:03Ein Absturz, das ganze System abstürzen lässt.
- 49:05So, und wenn ich wieder beim Thema Verantwortung, wenn ich
- 49:09mit dem bewusst bin. Muss ich doch noch geschärfter
- 49:13sein, das auf keinen Fall passieren zu lassen, dass ich
- 49:17halt, sage ich mal, so defensiv programmiere, dass das auf gar
- 49:21keinen Fall passiert. Und das ist ja nicht nicht der
- 49:24Fall gewesen, logischerweise, weil es ist passiert und das
- 49:27muss halt auch ein Learning sein, da noch mal durch die
- 49:29Zertifizierung. Version zu gehen oder keine
- 49:33Ahnung, bei welcher Version sie jetzt stehen, was als nächstes
- 49:35vielleicht zertifiziert wird, whatever aber das halt noch mal
- 49:39komplett zu checken und zu überarbeiten, ja.
- 49:42Also ich finde es sehr gut, dass du sagst, dass man auf jeden
- 49:44Fall aus Softwareentwicklersicht als Softwareentwickler oder als
- 49:48Softwareentwicklerin auf jeden Fall die Verantwortung
- 49:50übernehmen muss. Auch dieses verantwortungsvolle
- 49:52Denken haben muss. Das ist wichtig und genauso ist
- 49:56es aber auch wichtig, dass zum Beispiel auf sage ich jetzt mal
- 49:59auf irgendeinem Managementebene genauso diese Verantwortung
- 50:03übernommen wird, weil angenommen, du hast ein
- 50:05Entwicklerteam, was diese Verantwortung sehr ernst nimmt
- 50:08und sagt, vielleicht, Leute, euch ist schon klar, dass wenn
- 50:12das und das passiert, dass wir einen Bluescreen erzeugen
- 50:15könnten und das Management sagt ja okay, was müssten wir denn
- 50:18tun, damit das nicht passiert, naja, wir müssten unsere
- 50:22Testabdeckung noch mal ein bisschen genauer erhöhen, uns
- 50:24nochmal. Sagen, wir müssten ein Security
- 50:27Profil von unserer Anwendung erstellen um wirklich die
- 50:29kritischen Pfade zu identifizieren und die dann
- 50:32sozusagen aus zu Merzen. Und wenn dann das Management
- 50:36sagt OK und wie lange dauert das und du sagst na ja, so ein Monat
- 50:40und das Management sagt Nee, das tut mir leid, das funktioniert
- 50:43so nicht, das muss aber in der Woche raus.
- 50:46Und du hast ja in diesem Szenario ist das entwickelnde
- 50:50Team ja nicht die Kontrollinstanz oder die
- 50:52Entscheidungsinstanz an dieser Stelle dann.
- 50:57Muss man halt auch quasi genauso dem Management sagen.
- 51:00Okay bitte verantwortungsvoll damit umgehen, weil vielleicht
- 51:06hat das vielleicht sagten Entwicklerteam kriegt das nicht
- 51:10mit und kriegt kann diese Information dem Management nicht
- 51:13weitergeben, aber vielleicht kriegt das Management diese
- 51:15Information und sagt es ist mir egal.
- 51:17Es muss jetzt aber schnell raus und genau so muss das aber auf
- 51:22allen Ebenen dann eben auch funktionieren und halt mit
- 51:25Bedacht das Ganze angegangen. Gangen werden ist meine Meinung
- 51:28auf jeden Fall dazu. Weil ja, also es ist halt n
- 51:31komplexes und auch schwieriges Thema.
- 51:33Wir können auch mal ne eigene Folge ist wieder der typische
- 51:35Satz ne eigene Folge drüber machen, weil in dem Falle ist
- 51:39der Entwickler ja seiner Verantwortung nachgekommen, hat
- 51:42drauf hingewiesen was für Probleme entstehen können, hat
- 51:45natürlich irgendwann je nach Unternehmen auch nicht mehr die
- 51:48Entscheidungsgewalt es durchzusetzen oder vielleicht
- 51:51fehlerhafte Entscheidungen verhindern zu können, die von
- 51:53oben kommen. Sowas passiert natürlich, sollte
- 51:56sich das über alle Hierarchieebenen durch.
- 52:00Durchsetzen, diese Verantwortung zu tragen und ja.
- 52:03Was ich halt schade finde ist manchmal, dass nach solchen
- 52:07Ereignissen wird. Also nimmt zum Beispiel so auch
- 52:11Presse oder was auch immer so wird.
- 52:13Dann quasi zerreißt sich das Maul darüber und dann wird erst
- 52:17mal geguckt, welcher Entwickler oder welche Entwicklerin ist
- 52:19dafür verantwortlich, weißt du, und das ist dann manchmal
- 52:22schwierig, weil klar kann es sein, dass es eine Einzelperson
- 52:25war oder ein Team, aber vielleicht wussten wusste das
- 52:28Team darüber und hat es adressiert und.
- 52:30Kommuniziert und es wurde aber einfach nur vom Management
- 52:33ignoriert und da muss man dann halt n bisschen genauer.
- 52:35Definitiv der Fall sein. Ja da.
- 52:37Muss man einfach. Deswegen ist diese Schuldfrage
- 52:39halt schon komplett die falsche. Genau, definitiv.
- 52:42Also jetzt so Fingerpointing diesen einen Schuldigen zu
- 52:44finden ist natürlich komplett der falsche Ansatz.
- 52:46An der Stelle auf jeden Fall nur wie gesagt, das finde ich halt
- 52:49immer schade, dass das das erste ist, was meistens passiert.
- 52:53Genau und ja, auf jeden Fall. N Super spannendes Thema, hat
- 52:58weitreichende Auswirkungen gehabt, so wie ich das
- 53:01mitgekriegt hab ist es bisher immer noch nicht vollständig
- 53:05gefixt worden und ist immer noch in in The Making sozusagen das
- 53:09Ganze wieder auf den Grünen stand zu bringen, also alle
- 53:11Systeme die befallen wurden bzw. Die dadurch einen Einfluss
- 53:16hatten. In dem Sinne würde ich sagen,
- 53:20Tino, vielen Dank für diese Folge.
- 53:21Spannende Folge, spannendes Thema.
- 53:23Bitte, bitte hat Mega Spaß gemacht.
- 53:25Auch das so so frisch mit dir zu besprechen, weil wie gesagt es
- 53:30ist ja jetzt noch nicht mal eine Woche her.
- 53:32Und es zeigt, dass man eine Menge lernen kann und trotzdem
- 53:35passieren wieder Dinge. Die nicht passieren sollten.
- 53:39Das heißt, jeder, der irgendwie eine IT in der Software
- 53:42Entwicklung was auch immer unterwegs ist.
- 53:45Passt auf euch auf und passt auf die Software, die entwickelt auf
- 53:50oder die ihr managt. In dem Sinne würde ich die Folge
- 53:53auch einfach abschließen. Liebe Zuhörer, lieber Zuhörer,
- 53:56wenn ihr die Folge gefallen hat, dann lass auf jeden Fall ein
- 53:58Like da. Schreib uns Anmerkungen, wenn du
- 54:01auch noch ein Paar mehr Informationen hast, die wir
- 54:04irgendwie, die uns durch die Finger gegangen sind, wie sagt
- 54:07man durch die Finger geglitten sind.
- 54:10Dann lass sie uns gerne zukommen, das wäre super, auch
- 54:13wenn du den Podcast super findest oder sagst, Mensch hier
- 54:17Projekt Coding Buddies, das ist eine tolle Sache, dann
- 54:19unterstützt uns gerne mit einer kleinen Spende, dann können wir
- 54:21unseren Content noch weiter verbessern und ja ansonsten.
- 54:26Würde ich euch einfach allen dir, Tino und auch Liebe
- 54:29zuhören. Lieber Zuhörer n schönen Tag
- 54:31wünschen und wir hören uns in der nächsten Folge wieder deine
- 54:33Coding Buddies. Gemeinsam besser.
- 54:36Was? Was?