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