Danke für die tolle ausführliche Zusammenfassung und Erklärung. Da steckt viel arbeit, Recherche und Hintergrundwissen dahinter. Danke, dass du dir imemr so viel Mühe gibst.
Vielen Dank für das gute erklären der Situation, vor allem das die Erklärung so gut war, das man dafür kein IT`ler sein muss. Viele Grüße aus Stuttgart.
Vielen Dank für die großartige Zusammenfassung!!! Mit dem Fail kann man ggü. Kunden gut argumentieren, warum 90% Code Coverage vielleicht doch keine gute Metrik sind. 🙂
Danke für die Aufarbeitung. Im letzten Abschnitt beim Thema "Resilienz" sehe ich tatsächlich ein praktisches Problem bei Ersatzsystemen, die auf einer anderen Infrastruktur laufen. In der Praxis dürfte das sehr schwierig umzusetzen sein (in Einzelfällen sogar unmöglich). Ein Ersatzsystem läuft i.d.R. auf derselben Infrastruktur, wie das eigentliche System. In diesem Fall hätte das das Problem nicht gelöst, weil das redundante System ebenfalls betroffen gewesen wäre (zumindest, wenn man es zu früh gestartet hätte). Redundante Systeme sind normalerweise, wie du es beschrieben hast, woanders lokalisiert. Derartige Redundanz kostet extra und verzichtet man darauf, kann das zu Datenverlust führen ... ich erinnere mich da gerade dunkel an ein abgefackeltes Rechenzentrum in Frankreich...
Laut der offiziellen Meldung wurde es aber geprüft, jedoch nur validiert und man hat darauf vertraut, dass es dann passt. Es wurde aber vergessen trotzdem an echten Systemen zu simulieren. Aus meiner Sicht ein großer Fehler. Und dann muss auch ein Treiber so entwickelt sein, dass er bei falschen Formaten nicht direkt crasht, sondern solche Config Files ggf. überspringt und loggt. Das mit dem zweiten System auf Linux Basis gibt es übrigens als Anforderung für KI Systeme, die eine Notabschaltung von Sägen im Arbeitsschutz vornehmen usw. habe ich mal von einer Firma gehört, die eine solche Lösung entwickelt hat.
Ja alles schön und gut aber was hat das alles damit zu tun das du als Programmierer unmöglich den Code von 2006, der Höchstwarscheinlich von einem team geschrieben wurde, von dem keiner mehr dort gearbeitet hat als der aktuelle DevOps Manager eingestellt wurde, auf einen fehlenden 'except' zu prüfen, der vorher noch nie getriggert wurde ? Deine Antwort hört sich leider ziemlich nach reinem 'Zeitungswissen' an aber wenig nach Praktischer Coding erfahrung sorry😮💨
@@ammoniakdurum4542 .... das stimmt soweit ... meiner Erfahrung nach ist das Testing vor dem rollout nicht immer in ausreichendem Maße passiert. das gilt für JEDER Firma. ich arbeite über 30 Jahre in der IT und mir sind die Zyklen die man für coding / built / test und dann deploys ... danach refactoring mit einem patch .... einfach ein bisschen zu kurz angedacht. Nicht zuletzt der Kunde bestimmt wie schnell das ganze gehen kann / muss. Es spielt deswegen keine Rolle ob es nun Zeitungswissen ist oder nicht. Am Ende ist es so. Fehlt eine Dokumentation und / oder sie ist nicht ausführlich genug dokumentiert und mögliche Testszenarien nicht bedacht worden ... hat jeder "Spaß" an dem ganzen. Einmal der Admin der überhaupt keine Ahnung von dem Programm haben muss, sich aber darauf verlassen muss das der Entwickler sauber gearbeitet hat. Deswegen ist ein "vertrauen das es dann passt" sträflicher Leichtsinn. Deswegen laufen viele updates auch automatisch, weil das ja immer lief .... evtl. hätten die Admins da auch erst einmal ein paar TESTMASCHINEN VORHALTEN KÖNNEN bevor der patch auf ALLE Systeme ausgerollt wird. .... (das bietet sich auf Kundenseite immer an .... z.B. Zugangssysteme ... auf einmal kommt keiner mehr raus oder rein :-) )
@@ammoniakdurum4542 Es wurde schlichtweg nicht getestet auf echten Systemen und mir ist nicht bekannt, dass Systeme überlebt haben, die das Update bekamen, ehe es den Fix gab. Ich habe die Entwicklung von Plattformen von > 100 Entwickler verantwortet und dabei auch viele Generationen Code erlebt. Da hast du dir vorschnell ein Urteil erlaubt und ich muss auch sagen: Deine Argumentation ist sehr schwach, da ich das mit dem Test/System schon ansprach. Dafür muss man nicht sämtlichen Code auswendig können. Einfach machen. Mag sein, dass dies nicht die Aufgabe des Entwicklers ist/war. Dies spielt hier aber keine Rolle, wenn es darum geht, dass schlichtweg sehr grob fährlässig geschlampt wurde, in Anbetracht der Verantwortung für Millionen auch kritischer Systeme.
In all fairness it is worth mentioning that CrowdStrike's Falcon struck Debian-based Linux systems earlier this year in April due to a similar incident. Meanwhile, CrowdStrike implemented a countermeasure to the kernel, which I believe is best described as separate gateway. Still, those needing such snake oil software on a Linux system, they have got other issues. In that context, make sure to read section 8.6 of CrowdStrike's T&C and have those suits fired who have been signing the contract.
Ich arbeite als Sys Admin und bin deshalb nicht in der Entwicklung drin aber du hast absolut recht, meine Kunden schauen auch auf jeden Euro und gehen lieber das Risiko ein das der Server ausfällt als das sie auch nur 200€ mehr in die Hand nehmen müssen, für die meisten nicht Informatiker ist IT halt etwas das Geld frisst und nichts bringt aber man es trotzdem braucht. Danke für die ausführliche Erklärung, so kommt Licht ins "Was genau ist eigentlich passiert", auch wenn von meinen Kunden glücklicherweise fast alle vom Problem verschont geblieben sind.
Es rächt sich eben auch etwas, dass in den letzten Jahre viele Entwickler sagen wir mal eingespart wurden in den Firmen. Folglich ja immer arme Entwickler immer mehr bearbeiten müssen.
Themenvorschlag für ein künftiges Video: Durch dieses Video bin ich auf IDS & IPS-Systeme aufmerksam geworden, konkret Snort und Suricata. Es gibt fast keinen guten Inhalt dazu auf dieser Plattform, der erklärt was das genau ist, wie es funktioniert und insbesondere die Einrichtung zeigt. Dann gibt es noch irgendwelche grafischen Oberflächlichen und Dashboards - keine Ahnung, hab da keinen Überblick. Zwar mag das übertrieben sein, aber ich fände einen Einsatz im Homelab durchaus interessant. Die Funktionsweise und Einrichtung ist ja aber nahezu identisch zu Firmennetzwerken. Vorschlag wäre also: Snort oder Suricata - Aufklärung, Einrichtung und Bewertung, vielleicht auch zu Intrusion Detection- und Prevention-Systemen im allgemeinen.
Der Witz ist ja das Crowdstrike dieses Jahr auch schon Debian und irgendwas aus dem REHL Bereich weggeschossen hat. Ich fand dazu auch die Videos von Dave's Garage ganz interessant, vor allem warum sich Windows nicht wieder hochgefahren hat. Das ist wohl per Designe so gedacht, den der Treiber ist als "boot-start driver" markiert und sagt Windows wenn ich es richtig verstanden habe, du darfst nicht starten wenn Falcon nicht läuft. Und das mag auch für manche Bereiche durchaus nützlich sein oder sogar wichtig sein.
Ich lass mal ein Kommi da damit die Bots nicht gewinnen! Finde es schon krass das so ein großes Unternehmen wie Crowdstrike sowas nicht doppelt geprüft hat auch wenn es aus ihrer Sicht scheinbar nur eine Kleinigkeit war. Erinnert mich sehr an die Geschichte mit Facebook wo Sie sich einfach für mehrere Stunden aus dem Internet gelöscht hatten.
8:40 Es ist wert anzumerken das nicht alle Treiber so sind das windows direkt einen BSOD bekommt. Mein Grafikkarten treiber can abstürzen oder neu starten so oft wie es will und Windows ist ok. Das problem ist das es makiert wurde als "Boot Driver" was Windows sagt das sollange es installiert ist kann es nicht ohne den treiber funktionieren. Weswegen Microsoft auch bei jdem update von so einem treiber es überprüfen und es absegnen muss als erstes bevor es veröffentlicht werden kann. so eine überprüfung dauert zeit und deswegen ist der CrowdStrike standard das man lieber die config aktulaisiert als den treiber selber.
Super Bildlich für "Anfänger" erklärt. Normalerweise müsste daraufhin ein Video folgen, bezüglich des Untergangs von Antiviren/ Firewall Software bei Privat Personen. In Bezug auf auf Windows Antivir Systemen.
Convertkit heißt das. Grund ist Recht simpel: bist du nicht bei einem großen Anbieter, wirst du Recht schnell in den Spam gepackt. Ging uns mit der bootstrap sehr lange so
Das mit dem Fail-Safe-System geht auch mit 2 Windows (NT)-Systemen (Fail-Over Clustering). Ist viel praktischer UND praktikabler, wenn man nicht jede Software zweimal entwickeln will.
Zum Thema MacOS muss man aber auch dazu sagen, selbst wenn sie es z.B. versucht hätten mit eigenen Virenschutz, wäre es wohl nie für die EU relevant gewesen. Da MacOS zu keiner Zeit so eine Marktmacht wie Microsoft hattte, MacOS hat auch für andere Dinge wie den gebundelten Browser Safari oder Quicktime (was sehr tief im System integriert war und mehr rechte hatte als jeder andere Medienspieler im System) ja nie irgendwelche Probleme mit der EU bekommen. Safari meldet sich übrigens auch regelmäßig in MacOS über die Benachrichtigungsfunktion wenn es nicht der Standardbrowser ist. Alleine nur weil MS ja den Internet Explorer mit Windows gebundelt hat, gabs ja schon Ärger. So ein Ärger gabs für Apple mit Safari für MacOS niemals. Bei iOS hingegen schon.
6:12 richtig, solche Kultur sollten wir nicht fördern, C++ ist Hard, aber deshalb muss man dran bleiben und wegen ein Fehler sollte der Programmierer nicht wegen sowas aufhören. Danke, für deine Zusammenfassung dazu, es ist wichtig das es aufgearbeitet wird.
Danke für die verständliche Erklärung! Ich hab mir die ganze Zeit überlegt, ob du evtl. mal ein Video zur Definition von "kritischer Infrastruktur" machen könntest (oder gibt es das schon?). Denn angesichts der Tragweite des Vorfalls ist ja 'nichts' passiert: Niemand ist deswegen im Krankenhaus verstorben, kein Flugzeug vom Himmel gefallen, kein Zug entgleist, kein Strom ausgefallen - zumindest meines Wissens. Das was ich persönlich als "kritische Infrastruktur" definieren würde hat sich doch als absolut widerstandsfähig erwiesen?
Ich kenne mich damit nicht aus, aber ist es nicht irgendwie möglich, dass das Programm merkt, dass ein Fehler passiert ist und anstatt abzustürzen, einfach automatisch die letzte funktionierende version verwendet wird?
11:37 "Windows, zunächst mal die einfache Variante davon, hat keine Failsafe-Logik." 13:11 Ich frage mich eher, ob wir das Prinzip nicht als Blockchain schon kennen. Aber unsere Betriebssysteme sind eindeutig keine KIs.
Was ich mich bei der ganzen AV-Geschichte in Verbindung mit Kernel-Space frage ist, warum hat Microsoft nicht einfach für Windows 7 z.B. eine neue Zwischenschicht zwischen dem Kernel-Space und dem Userspace eingeführt. Nennen wir sie einfach mal Systemspace. Im Kernel-Space darf dann wirklich nur Windows rumfurwerken und AV-Systeme können auf den System-Space zugreifen. Damit gibt es immer noch eine Ebene unter dem Userspace und AVs würden immer noch funktionieren und wenn dort mal ein Treiber abschmiert, ist Windows trotzdem noch lauffähig.
Ja, als Laie würde man das als offensichtliche Lösung ansehen. Was ich so gehört habe ist, dass die Implementierung der Ringe auf x86 nicht so dolle ist. Weiß nicht, wie schlimm es ist, selbst noch kein OS geschrieben.
Nachdem Anpfiff war das eigentlich auch einer der Wege die MS gehen wollte Frameworks für Antivirus, Firewall etc. und der Defender als einzige Kernelkomponente die als Schnittstelle zu den Hersteller Anwendungen über das Framework dient. Wahrscheinlich war das Problem aber das gleiche wie 2 Jahre zuvor und sie haben es stecken lassen. Guck dir heute mal Windows 10/11 an wenn das zusätzliche Antivirus einen Fehler meldet schaltet sich Windows Defender ein und der Dau Schutz bleibt erhalten das ist das was übrig geblieben ist die Hersteller lassen sich den Kernel Zugriff natürlich ungern nehmen unter Windows alle müssten ihre Software komplett neu schreiben und da die Schnittstelle für alle die gleiche ist wie will man sich da mit seinen aktuell bombastischen Schlangen Öl Versprechen in Zukunft noch vom Rest der Konkurrenz abheben?
@@Hofer2304 Mal sehen, wie lange noch. Da (fast) niemand Ring 1+2 nutzt will Intel die wegrationalisieren. X86S (S für simplified) heißt der Vorschlag, soll diverse Altlasten beerdigen, direkt in 64-bit starten.
10:20 Ich frage mich, wie lange dieser Fehler schon dort war und ob er mit besseren Unit tests nicht hätte entdeckt werden können. Kennt sich da jemand aus?
Mit Unit-Test entdeckt man meist nur einen Teil Fehler, weil einem die kombinatorische Explosion von Eingaben/Konfigurations-Möglichkeiten hier im Weg steht. Code-Reviews wären hier ein anderer Ansatz, um Fehler im Code zu finden. Letzlich bleibt aber immer ein Restwahrscheinlichkeit für Fehler. Und wenn er auftritt, dann wandert die gefundene Kombination - hoffentlich - in einen neuen Unit-Test
Ich finde das Crowdstrike eine prima Backdoor für Viren sein kann.... Wenn es einer schafft da ein Update reizuschmuggeln dann braucht man noch nicht Mal mehr Rechte ausweiten. Der Prozess sitzt ja schon im Kernel tief drin.
Wenn man das Backup mit einem Loadbalancer dauerhaft laufen lässt, kann man die Kosten mit der besseren Performance rechtfertigen, schließlich hat man 2 Server die die Arbeit machen statt nur einen. Aber sicher ein wichtiger Punkt, dass man die Server mit unterschiedlichen Konfigurationen haben sollte. Glaube nicht, dass das so gehandhabt wird. Alle Server die als Basis für die Container dienen, laufen mit Linux und innerhalb einer Firma vermutlich auch alle mit der gleichen Distribution. Die Container kann man ja leicht starten und stoppen, aber wenn das OS ausfällt, was die Containerplattform bietet, ist halt auch vorbei.
Sry, aber das Logo und der Name sind ja wie dafür gemacht 👀 "strike crowd" wird als "streikende Menge" übersetzt, und da haben eine Menge Systeme "gestreikt" 😅
fehler sind menschlich und können jeden und immer passieren wichtig ist was wir daraus lernen und ändern und nich jemanden die schuld zuweisen vieleicht hat der dev stress hatte das das raus muste
6:16 bezüglich der falschen Fehlerkultur bin ich absolut auf deiner Seite, aber Kommentare wegbannen ist meiner Meinung nach die falsche Diskussionskultur. Ist aber am Ende deine Entscheidung ^^
Ich find's schön wie du dich aufregst, ohne ausdallend zu werden...hoffe der dev war keine Freundin von dir...ob es arbeitsrechtlich überhaupt möglich ist gleich entlassen zu werden, so ganz ohne Abmahnung etc.?
warum sollte der microsoft defender bei einem microsoft betriebssoftware nicht im kernel laufen dürfen? das gehört doch zusammen, da macht das argument mit unfärer vorteil gar kein sinn... da hätte sich ja symantec auch einfach ein eigenes betriebssystem basteln können um da auf den kernel zugriff zu haben... ich verstehe die logik da gar nicht bei der situation von 2006 und bin auf der seite von microsoft, dass es die schuld von EU ist
Zunächst einmal: Ein Betriebssystem machst du nicht "einfach so"! Das die EU für einen ausgeglichenen Wettbewerb sorgen will, soll eben genau soetwas wie den Crowdstrike /Falcon Vorfall verhindern. Denk mal kurz darüber nach, was MS in einer Monopolstellung so alles an "gewinnoptimierenden Entscheidungen" durchdrücken könnte... "Schöne AD-Infrastruktur haben sie da! Und auch alles in der Azure-Cloud! Wäre ja schade, wenn die mal ausfallen würde! Wie wäre es mit einem "Ausfallschutz"?..." Und wenn alles monopolisiert ist, kommt irgend ne Ransomware-group und macht alles dicht... Wird Zeit, das die Firmen, die das verkacken auch mal verklagt werden!
Weil es MickrickSchrotts schuld ist. Du brauchst den Virenscanner für das Betriebssystem, nicht andersherum. Dass Dir der Fakt entgangen ist, ist merkwürdig. Das wäre, als würde VW in einen Fahzeugen besondere Räder einbauen und allen anderen nicht erlauben, kompatible Räder zu bauen, denn Räder sind für das Fahrzeug zwingend nötig. Das wäre genauso inakzeptabel. Hätte BillyBoy's Saftladen nicht jahrzehntelang solchen BS programmiert, wäre das heutzutage auch kein so großes Problem. Nicht Windows, das Management dahinter ist das Problem.
@@vanitacabral4951 klär mich mal auf. Das man den Virenscanner für das OS braucht und nicht anders herum ist Blödsinn? Dass keiner auf Otto-Normal-Autos nur Herstellerreifen akzeptieren würde ist Blödsinn? Dass die Menge an Malware, die einem heute um die Ohren fliegt, geringer wäre, hätte MS nicht so lange solchen Mist produziert, ist Blödsinn? Und dass es Virenscanner für Linux gibt, ist kein Argument. Es gibt auch Schutzlack für rostfreien Stahl. Ob der allerdings notwendig ist..... abgesehen davon bedienen viele Linux Server Windows Clients - natürlich ist es da sinnvoll, das was man weiterreicht, zu überprüfen. Dazu muss die Software unter Linux laufen, auch wenns nachher um Windows geht (da stellt sich mir eher die Frage, ob Dir klar ist, was Falcon - die Software, um die es geht - eigentlich ist, aber gut...) Ja, ich hab für MS selten Lob übrig. Muss mich seit 30 Jahren "nebenberuflich" um von MS verursachte Probleme kümmern. Aber mir vorzuwerfen, es wäre Blödsinn - da würde ich erstmal sagen "setz die rosarote Brille ab".
Richtig, eine Frage noch wäre "last known good" nicht auch ein Ansatz. Ich meine wenn Windows crashed rebootet es Ohne die letzte Änderung. CS wäre dann zwar nicht up to date könnte aber eine Message senden, welche geprüft werden kann. Das Zielsystem würde aber zur Verfügung stehen. Was ich auch nicht verstehe ist, warum um alles in der Welt ist krietische Infrastruktur mit dem Internet verbunden? Falls du Zeit hast wäre ich für eine Antwort dankbar 😅 Ansonsten weiter so
Statt daa fehlerverursachenden Personal zu feuern sollte man ihr eine psychologische Behandlung ermöglichen. Kann mir kaum vorstellen, dass man sich da nicht extreme Vorwürfe macht. Da zusätzlich den Job zu verlieren wird auch nicht hilfreich sein
Fehlender Failsafe bei Windows stimmt ja nicht ganz. Wenn der Treiber einen Bug hat ist das System tot, stimmt. Löscht man den Treiber, meckert es nicht mal und startet wieder :D Also fehlerhaft schlecht, fehlend voll okey. Hatte den Spaß beim Kerneltreiber von PQMagic
Config = Code. Natürlich. Wer Gegenteiliges behauptet, der meint auch, die ACLs der Registry Keys verändern zu können (Etwas, was bei anderen OS ja leider nicht geht), ohne dass dies Konsequenzen nach sich zöge.
Das Desaster konnte nur passieren, weil alle Beteiligten gegen Normvorgaben verstoßen haben. Softwareentwicklung und Weiterentwicklung unterlegt der 25.000er Normenreihe und hierzu gehört auch ein hinreichender Test in einer Testumgebung bevor die Freigabe in die Produktionssysteme erfolgt. Datensicherungskonzepte und die Möglichkeit ein Rollback machen zu können und dies auch ohne den Datenbestand zu berücksichtigen gehört zum Standard der 27000er Reihe und hier wurde auch offenkundig darauf verlassen, dass nie ein Fehler passieren wird, der diese Auswirkungen haben kann. Schadenersatzforderingen gegen CrowdStrike beschränken sich nicht alleine auf direkt Geschädigte, sondern auch indirekt Geschädigte, dessen Daten zum Beispiel für die OP nicht verfügbar wären entsprechend Artikel 82 DS-GVO.
In diesem Zusammenhang habe ich mich schon immer gefragt wie StackOverfow überhaupt funktioniert, denn im Internet wird man immer erst mal als Depp hingestellt wenn man etwas geiles programmiert und dann darin Fehler enthalten sind. So in der Art: "so ein Schrott wie kann man so dumm sein".
wenn diese Software jemals eine Zertifizierung erhalten hat, hätte man vermutlich auch ein 'code coverage'-Test durchführen müssen. Spätestens da hätte der Fehler auffallen müssen! Das Problem ist, entweder wurde 100% nicht erreicht und der fehlende Teil wurde nicht gereviewed, oder die PL hat gesagt, wir sparen uns Zeit und Kosten und machen es nicht. Der Fehler liegt also bei der Firma!
Nein, auch 100% Code Coverage sind nicht ausreichend, um jeden Fehler zu entdecken. Das Problem liegt hier in der Kombinatorik. Manche Fehler treten nur auf, wenn eine problematische Kombination von Codepfaden durchlaufen wurde. Auch eine Zertizifierung und die Einhaltung aller Best Practices sind keine Garantie für fehlerfreie Software. Zertifizierung heißt auch nur, dass der Stand der Technik und das eigene Konzept eingehalten wurde. Da darf man sich nicht zuviel versprechen.
@@gegenzug klar, logische Fehler werden durch CC nicht aufgedeckt. Da muss man schon die Anforderungen heran ziehen. Aber so wie der Fehler mir in Assembly ausgesehen hat, wird ja hier eine Adresse angesprungen, die ungültig ist. Dies hätte eine 100%ige CC schon finden können. Aber, wie auch immer, ganz wichtig ist: wir machen alle Fehler! Wir müssen nur damit offen umgehen und dem User Möglichkeiten geben, darauf zu reagieren. Gruß!
Eine Sache kommt ein wenig zu kurz. Mit eine Ursache ist m.M.n. eine immer größere Konzentration auf Anbieter, die monopolartige Stellungen haben. Es kann nicht sein, dass die ganze Welt stillsteht, wenn bei einer einzigen Firma ein Fehler passiert. Hier wären auch die Kartellbehörden gefragt, so etwas zu verhindern. Bei Automarken gibt es z.B. viel mehr Auswahl. Wenn jetzt ein Fehler dazu führt, dass alle Autos von X nicht mehr fahren, sind alle, die nicht X fahren, nicht betroffen.
Wie wäre es wenn alle Systeme laufzeitverschlüsselt wären. das Programm würde dann nur noch laufzeitverschlüsselten code akzeptieren. Interessant und hilft gegen 100% der Laufzeitangriffe weil ein Angriff ist was anderes als der Laufzeit verschlüsselte Code
27:47 das ist doch nichts neues... das klingt als wäre das jetzt ne ganz neue Erkenntnis die man erst nach diesem Vorfall erlangen konnte.. das seh ich aber ganz anders... das is logischer Menschenverstand
Das Problem ist, es gibt zuviele Programmierer. Um etwas Geld zu verdienen machen die jeden noch so kritischen Scheiß mit. Würde es weniger Programmierer geben, dann könnten die ruhigen Gewissens sagen, unter diesen Zeitdruck, unter diesen Randbedinungen arbeite ich nicht und würden sich eine Firma suchen wo vernünftig gearbeitet wird.
Ziemlich konfuse Erklärung. Merkt man auch wenn bei den Details nach dem zweiten Satz angefangen wird sich zu wiederholen. Es klingt auch wie wenn davon ausgegangen wird dass die Zuhörer wenig Verständnis von Technik haben (ist ja nicht schlecht davon auszugehen) aber dann wird "Update" mit dem Wort "Patch" erklärt. Naja noch nicht sicher?! "Patch für Windows" hmm?! "Patch für Handy Game" aahhh jetzt verstehe ich lol 1:44 "1. Fehler im Code" 2:30 "war kein Code sondern Config" Teilweise ist eine sys Datei ein Treiber weil es definiert wie mit der HW umzugehen ist. Da sind dann neue Versionen dann auch nur neue sys Dateien. Für die Anfänger: Named Pipes sind C# code lol Eigenschaften, Nutzen, verständliche Beispiele?? Also das Risiko bei Named Pipes ist dass Malware Prozesse Kommunizieren können?! Echt? Also nicht etwa das übliche Risiko wie impersonation?! lol 'Ich bin Dev also don't blame the Dev!!' ... 'Der Dev hat den Inhalt gepusht und will die autom.(!) Prüfung überspringen' aber Schuld ist er nicht lol Natürlich steckt da mehr dahinter und ein Entwickler kann nicht einfach SDLC überspringen. Hofft man zumindest bei einer Firma wie Crowdstrike. Aber die Argumentation ist schon lustig. 11:40 Windows started mit kaputten Treiber wenn die wie üblich im User Mode laufen. Versteh's irgendwie nicht. Teilweise wird verallgemeinert dass es schon falsch ist aber dann zeigt man Assembler Code her?! Für die Leute die nur noch Assembler verstehen? lol
Lektion ist, dass man kein US Unternehmen vertrauen sollte, gerade in Bezug auf Sicherheit. Ich sage dazu nur, Secret Service, Boeing, CrowdStrike, Microsoft, oder doch er Spysoft, ich hab sicher noch ein paar Unternehmen vergessen.
Ich hatte bei einem Windows PC mal eine Fehlermeldung die lautete: Scheiben haben erfordert. Selbst die IT´ ler aus der Firma konnten damit nichts anfangen. lach
@@vanitacabral4951 Da bin ich auch nicht mehr ganz sicher weshalb das war. war eine SPS am Programmieren. Und die normalen Fehlermeldungen aus der Sofware waren es nicht, es war aus dem Betriebssystem das Fenster in dem der Fehler angezeigt wurde hatte für mich Ähnlichkeit mit dem Dos Fenstern. lach Zumindest war das die seltsamste Fehlermeldung die ich je gesehen habe.
wie ich erfahren habe steckt sogar noch mehr dahinter, aber darüber schreibe ich nicht, weil es ansonsten eh als "braune Verschwörungstheorie" abgewertet und anschließend ignoriert wird.
Danke für das interessante Video! Ok ich muss gestehen, da kann ich Microsoft einerseits verstehen. Wenn ich Microsoft wäre würde ich es auch nicht verantworten wollen, wenn third-party-programme Fehler haben. Aber dass Windows keine Fallback-Logik für Treiber-Fehler hat, finde ich diskussionswürdig. Also das ist so eine Architektur-Entscheidung, deren Grund mir mal bitte jemand erklären soll und durch die ich dann doch wieder eher Microsoft in der Verantwortung sehe. Wenn mein Programm Fehler hat, darf ich bei einer guten Plattform erwarten, dass die Platform damit umgehen kann, wenn mein Programm ein Fehler hat und nicht mehr funktioniert. Aber warum dann das ganze System abschmieren muss, ist mir schleierhaft. Weil das Problem ist ja dann doch - Kernelspace hin oder her - dass jeder Treiber ein single point of failure ist und Microsoft sich halt offenbar nicht dafür verantwortlich fühlt, ein stabiles Betriebssystem anzubieten. Also ich bin kein OS-Entwickler, aber es muss doch für Windows prinzipiell möglich sein, Exceptions von Treibern, die keine Hardware-Fehler implizieren, zu catchen und weiter zu laufen, auch wenn sie von Treibern im Kernelspace kommen, oder etwa nicht?!
Das Problem war doch, dass der Treiber gar nicht updated oder neu installiert wurde und der Fehler schon eine kleine Ewigkeit da drinnen steckte. Ansonsten wäre es gegangen, denn der Fail Safe heißt (Back to) "Last Known Good Configuration" und ist seit Windows NT 3.1 implementiert.
Ich finde doch das OSS einen Vorteil hat, da entscheidet nicht ein Entscheider wie es nun zu laufen hat. Bei Microsoft kann einer entscheiden: Schmeißt alle aus den Kernelspace raus und wir machen fette Profite. Beim Linux Kernel entscheidet aber nicht eine Person wo es lang geht, sondern viele.
@@Hofer2304Nichts hindert Deutschland daran einen Fork für zB Spitäler zu maintainen. Warum man da amerikanischen Firmen Geld rüberschieben muss, wenn in den USA der Einsatz von Windows in kritischen Bereichen teilweise verboten ist, ist absurd.
@@Hofer2304 Das ist doch quatsch, zum einen wird OSS Software systematisch überwacht siehe XZ Vorfall. Und Closed Source wird systematisch Überprüft, wie sehr das stimmt müsste dir doch diese Vorfall zeigen. Klingt für mich nach einer Scheindebatte von einen MS Admin der um seinen Job fürchtet.
@@THEMithrandir09 Dann müssen aber die gesetzlichen Grundlagen geschaffen werden, damit das auch wirklich durchführbar ist. Man darf sich bei Kritis nicht darauf verlassen, dass schon genügend Freiwillige an dem Projekt mitarbeiten werden. Man sollte einige Leute bezahlen, und einen großen Teil der Leute zumindest finanziell entschädigen, wenn sie einen größeren Beitrag liefern. Als Programmiersprache schlage ich SPARK vor, es sei denn, es gibt gute Gründe für eine andere Programmiersprache. Dass man den Leuten erst SPARK beibringen muss, ist kein Grund dagegen.
Bin nicht ganz deiner Meinung. Manchen Leuten sollte man Schuld geben. Die Prozesse sollten so transparent sein, damit man die Abläufe und die Zuständigkeit für Risikoabwägung transparent macht. Wenn man "keine Schuldigen" - Kultur fährt, dann denkt sich jeder Beteiligte: sche...gal, die Prüfung/Test/Absicherung macht jemand anderes.
Da bin ich voll deiner Meinung, außer bei dem mit der Schuld. Wenn die Systeme und Tests gar nicht freiwillig sind (weil man aus dem Vorfall gelernt hat) klappt es auch so
Entwickler: Wir haben eine neue Version released kannst du die mal testen und deployen? Tester: ja klar moment ich starte mal eben die pipelines für den Smoketest. Entwickler (10Stunden später): und wie siehts aus? Tester: ups wieso sind denn alle Pipeplines queued? Enwickler: Na hast du nichts von dem falconupdate gehört? Tester: Ja schon Morpheus hat das mal erwähnt 😅 Entwickler: Wer? Naja egal, jedenfalls sind all deine VMs offline. Du musst eventuell nach dem update dein Agentpool reseten. Tester: Try off 'n on again 😒 Verstanden!🥱
Richtig toll zusammen gefasst, vielen dank für die Informationen und deine ausführlich Arbeit. 👍
Vielen vielen Dank 🥰
Danke für die tolle ausführliche Zusammenfassung und Erklärung.
Da steckt viel arbeit, Recherche und Hintergrundwissen dahinter. Danke, dass du dir imemr so viel Mühe gibst.
Geil !!! Ein richtig schöner Deep Dive in das was wirklich passiert is...ich lieb´s jetzt schon 😍
Vielen vielen Dank für diese grandiose Zusammenfassung und Aufarbeitung, Cedric!
Auch als nicht-ITler(in) spannend und verständlich, vielen Dank für deine Videos!!
Vielen Dank für das super Video und die verständliche Erklärung . TOP !👍👍🤩🤩
Hey Morph,
richtig starkes Video. Danke für die detaillierte Aufarbeitung! Habe viel gelernt! ❤❤❤😊😊😊
Sehr spannend. Vielen Dank für die Zusammenfassung.
Vielen Dank für das gute erklären der Situation, vor allem das die Erklärung so gut war, das man dafür kein IT`ler sein muss. Viele Grüße aus Stuttgart.
Vielen Dank für die umfangreiche Zusammenfassung.
Vielen Dank für die großartige Zusammenfassung!!! Mit dem Fail kann man ggü. Kunden gut argumentieren, warum 90% Code Coverage vielleicht doch keine gute Metrik sind. 🙂
Danke für die Aufarbeitung. Im letzten Abschnitt beim Thema "Resilienz" sehe ich tatsächlich ein praktisches Problem bei Ersatzsystemen, die auf einer anderen Infrastruktur laufen. In der Praxis dürfte das sehr schwierig umzusetzen sein (in Einzelfällen sogar unmöglich). Ein Ersatzsystem läuft i.d.R. auf derselben Infrastruktur, wie das eigentliche System. In diesem Fall hätte das das Problem nicht gelöst, weil das redundante System ebenfalls betroffen gewesen wäre (zumindest, wenn man es zu früh gestartet hätte). Redundante Systeme sind normalerweise, wie du es beschrieben hast, woanders lokalisiert.
Derartige Redundanz kostet extra und verzichtet man darauf, kann das zu Datenverlust führen ... ich erinnere mich da gerade dunkel an ein abgefackeltes Rechenzentrum in Frankreich...
DAS ist das Video nachdem ich gesucht habe. Stark
Kleine Korrektur:
Die Software lautet Falcon.
Der Hersteller CrowdStrike
erst 0:02 gesehen und schon total erfreut wie du uns aufklären wirst, danke dir im Vorraus!
Danke!
Ich danke dir!
Laut der offiziellen Meldung wurde es aber geprüft, jedoch nur validiert und man hat darauf vertraut, dass es dann passt. Es wurde aber vergessen trotzdem an echten Systemen zu simulieren. Aus meiner Sicht ein großer Fehler. Und dann muss auch ein Treiber so entwickelt sein, dass er bei falschen Formaten nicht direkt crasht, sondern solche Config Files ggf. überspringt und loggt. Das mit dem zweiten System auf Linux Basis gibt es übrigens als Anforderung für KI Systeme, die eine Notabschaltung von Sägen im Arbeitsschutz vornehmen usw. habe ich mal von einer Firma gehört, die eine solche Lösung entwickelt hat.
Ja alles schön und gut aber was hat das alles damit zu tun das du als Programmierer unmöglich den Code von 2006, der Höchstwarscheinlich von einem team geschrieben wurde, von dem keiner mehr dort gearbeitet hat als der aktuelle DevOps Manager eingestellt wurde, auf einen fehlenden 'except' zu prüfen, der vorher noch nie getriggert wurde ? Deine Antwort hört sich leider ziemlich nach reinem 'Zeitungswissen' an aber wenig nach Praktischer Coding erfahrung sorry😮💨
@@ammoniakdurum4542 .... das stimmt soweit ... meiner Erfahrung nach ist das Testing vor dem rollout nicht immer in ausreichendem Maße passiert. das gilt für JEDER Firma. ich arbeite über 30 Jahre in der IT und mir sind die Zyklen die man für coding / built / test und dann deploys ... danach refactoring mit einem patch .... einfach ein bisschen zu kurz angedacht. Nicht zuletzt der Kunde bestimmt wie schnell das ganze gehen kann / muss. Es spielt deswegen keine Rolle ob es nun Zeitungswissen ist oder nicht. Am Ende ist es so. Fehlt eine Dokumentation und / oder sie ist nicht ausführlich genug dokumentiert und mögliche Testszenarien nicht bedacht worden ... hat jeder "Spaß" an dem ganzen. Einmal der Admin der überhaupt keine Ahnung von dem Programm haben muss, sich aber darauf verlassen muss das der Entwickler sauber gearbeitet hat. Deswegen ist ein "vertrauen das es dann passt" sträflicher Leichtsinn. Deswegen laufen viele updates auch automatisch, weil das ja immer lief .... evtl. hätten die Admins da auch erst einmal ein paar TESTMASCHINEN VORHALTEN KÖNNEN bevor der patch auf ALLE Systeme ausgerollt wird. .... (das bietet sich auf Kundenseite immer an .... z.B. Zugangssysteme ... auf einmal kommt keiner mehr raus oder rein :-) )
@@ammoniakdurum4542 Es wurde schlichtweg nicht getestet auf echten Systemen und mir ist nicht bekannt, dass Systeme überlebt haben, die das Update bekamen, ehe es den Fix gab. Ich habe die Entwicklung von Plattformen von > 100 Entwickler verantwortet und dabei auch viele Generationen Code erlebt. Da hast du dir vorschnell ein Urteil erlaubt und ich muss auch sagen: Deine Argumentation ist sehr schwach, da ich das mit dem Test/System schon ansprach. Dafür muss man nicht sämtlichen Code auswendig können. Einfach machen.
Mag sein, dass dies nicht die Aufgabe des Entwicklers ist/war. Dies spielt hier aber keine Rolle, wenn es darum geht, dass schlichtweg sehr grob fährlässig geschlampt wurde, in Anbetracht der Verantwortung für Millionen auch kritischer Systeme.
Olala, etwas mehr Bescheidenheit, bitte..😮!@@ammoniakdurum4542
In all fairness it is worth mentioning that CrowdStrike's Falcon struck Debian-based Linux systems earlier this year in April due to a similar incident. Meanwhile, CrowdStrike implemented a countermeasure to the kernel, which I believe is best described as separate gateway.
Still, those needing such snake oil software on a Linux system, they have got other issues.
In that context, make sure to read section 8.6 of CrowdStrike's T&C and have those suits fired who have been signing the contract.
@@RECURSIVE_MATRIX_LOGIC That's good to know. Thanks for the information.
Tolles Video❤
Super aufgearbeitet! Tja, wenn Menschen anfangen würden einmal miteinander statt gegeneinander zu arbeiten "wegen Geld", wäre alles viel einfacher.
Mega Video !
Ich arbeite als Sys Admin und bin deshalb nicht in der Entwicklung drin aber du hast absolut recht, meine Kunden schauen auch auf jeden Euro und gehen lieber das Risiko ein das der Server ausfällt als das sie auch nur 200€ mehr in die Hand nehmen müssen, für die meisten nicht Informatiker ist IT halt etwas das Geld frisst und nichts bringt aber man es trotzdem braucht.
Danke für die ausführliche Erklärung, so kommt Licht ins "Was genau ist eigentlich passiert", auch wenn von meinen Kunden glücklicherweise fast alle vom Problem verschont geblieben sind.
THNX! 👍
❤❤❤ Nices video
Statt Newsletter steht in Deiner Einblendung erst "Newletter" ohne s, dann springt es bei 21:59 um und es steht richtig da.
Danke für die ausführliche Erklärung . Gut gemacht
Es rächt sich eben auch etwas, dass in den letzten Jahre viele Entwickler sagen wir mal eingespart wurden in den Firmen. Folglich ja immer arme Entwickler immer mehr bearbeiten müssen.
Themenvorschlag für ein künftiges Video: Durch dieses Video bin ich auf IDS & IPS-Systeme aufmerksam geworden, konkret Snort und Suricata. Es gibt fast keinen guten Inhalt dazu auf dieser Plattform, der erklärt was das genau ist, wie es funktioniert und insbesondere die Einrichtung zeigt. Dann gibt es noch irgendwelche grafischen Oberflächlichen und Dashboards - keine Ahnung, hab da keinen Überblick. Zwar mag das übertrieben sein, aber ich fände einen Einsatz im Homelab durchaus interessant. Die Funktionsweise und Einrichtung ist ja aber nahezu identisch zu Firmennetzwerken. Vorschlag wäre also: Snort oder Suricata - Aufklärung, Einrichtung und Bewertung, vielleicht auch zu Intrusion Detection- und Prevention-Systemen im allgemeinen.
Der Witz ist ja das Crowdstrike dieses Jahr auch schon Debian und irgendwas aus dem REHL Bereich weggeschossen hat.
Ich fand dazu auch die Videos von Dave's Garage ganz interessant, vor allem warum sich Windows nicht wieder hochgefahren hat. Das ist wohl per Designe so gedacht, den der Treiber ist als "boot-start driver" markiert und sagt Windows wenn ich es richtig verstanden habe, du darfst nicht starten wenn Falcon nicht läuft. Und das mag auch für manche Bereiche durchaus nützlich sein oder sogar wichtig sein.
Ich lass mal ein Kommi da damit die Bots nicht gewinnen!
Finde es schon krass das so ein großes Unternehmen wie Crowdstrike sowas nicht doppelt geprüft hat auch wenn es aus ihrer Sicht scheinbar nur eine Kleinigkeit war.
Erinnert mich sehr an die Geschichte mit Facebook wo Sie sich einfach für mehrere Stunden aus dem Internet gelöscht hatten.
8:40 Es ist wert anzumerken das nicht alle Treiber so sind das windows direkt einen BSOD bekommt. Mein Grafikkarten treiber can abstürzen oder neu starten so oft wie es will und Windows ist ok. Das problem ist das es makiert wurde als "Boot Driver" was Windows sagt das sollange es installiert ist kann es nicht ohne den treiber funktionieren. Weswegen Microsoft auch bei jdem update von so einem treiber es überprüfen und es absegnen muss als erstes bevor es veröffentlicht werden kann. so eine überprüfung dauert zeit und deswegen ist der CrowdStrike standard das man lieber die config aktulaisiert als den treiber selber.
wie wäre es mit einem video, zur Auswahl eines geeigneten Info/Cyber Security Laptops
Super Bildlich für "Anfänger" erklärt.
Normalerweise müsste daraufhin ein Video folgen, bezüglich des Untergangs von Antiviren/ Firewall Software bei Privat Personen. In Bezug auf auf Windows Antivir Systemen.
Du verwendets nen tracker und werbeschleuderer als Newsletterverwaltung?
Convertkit heißt das. Grund ist Recht simpel: bist du nicht bei einem großen Anbieter, wirst du Recht schnell in den Spam gepackt. Ging uns mit der bootstrap sehr lange so
Das mit dem Fail-Safe-System geht auch mit 2 Windows (NT)-Systemen (Fail-Over Clustering). Ist viel praktischer UND praktikabler, wenn man nicht jede Software zweimal entwickeln will.
Zum Thema MacOS muss man aber auch dazu sagen, selbst wenn sie es z.B. versucht hätten mit eigenen Virenschutz, wäre es wohl nie für die EU relevant gewesen. Da MacOS zu keiner Zeit so eine Marktmacht wie Microsoft hattte, MacOS hat auch für andere Dinge wie den gebundelten Browser Safari oder Quicktime (was sehr tief im System integriert war und mehr rechte hatte als jeder andere Medienspieler im System) ja nie irgendwelche Probleme mit der EU bekommen.
Safari meldet sich übrigens auch regelmäßig in MacOS über die Benachrichtigungsfunktion wenn es nicht der Standardbrowser ist.
Alleine nur weil MS ja den Internet Explorer mit Windows gebundelt hat, gabs ja schon Ärger. So ein Ärger gabs für Apple mit Safari für MacOS niemals. Bei iOS hingegen schon.
6:12 richtig, solche Kultur sollten wir nicht fördern, C++ ist Hard, aber deshalb muss man dran bleiben und wegen ein Fehler sollte der Programmierer nicht wegen sowas aufhören.
Danke, für deine Zusammenfassung dazu, es ist wichtig das es aufgearbeitet wird.
ich bin letztendlich bei C++ hängen blieben beim Lernen. Da ist schwieriger als so manch andere Sprachen, aber es geht noch schlimmer 🤣🤣
Vorallem wenn man so ein Fehler macht wird man viel vorsichtiger . Nur durch Fehler wird man wirklich "gut" .
@@42ott90 nur durch Fehler lernt man
Danke für die verständliche Erklärung!
Ich hab mir die ganze Zeit überlegt, ob du evtl. mal ein Video zur Definition von "kritischer Infrastruktur" machen könntest (oder gibt es das schon?).
Denn angesichts der Tragweite des Vorfalls ist ja 'nichts' passiert: Niemand ist deswegen im Krankenhaus verstorben, kein Flugzeug vom Himmel gefallen, kein Zug entgleist, kein Strom ausgefallen - zumindest meines Wissens.
Das was ich persönlich als "kritische Infrastruktur" definieren würde hat sich doch als absolut widerstandsfähig erwiesen?
Ist tatsächlich gar nicht so einfach, aber ich hatte ein Video zu NIS 2 gemacht, da ist das dabei 👍
Cedric, mal wieder abgeliefert 🫶
Ich kenne mich damit nicht aus, aber ist es nicht irgendwie möglich, dass das Programm merkt, dass ein Fehler passiert ist und anstatt abzustürzen, einfach automatisch die letzte funktionierende version verwendet wird?
11:37 "Windows, zunächst mal die einfache Variante davon, hat keine Failsafe-Logik." 13:11 Ich frage mich eher, ob wir das Prinzip nicht als Blockchain schon kennen. Aber unsere Betriebssysteme sind eindeutig keine KIs.
Was ich mich bei der ganzen AV-Geschichte in Verbindung mit Kernel-Space frage ist, warum hat Microsoft nicht einfach für Windows 7 z.B. eine neue Zwischenschicht zwischen dem Kernel-Space und dem Userspace eingeführt. Nennen wir sie einfach mal Systemspace. Im Kernel-Space darf dann wirklich nur Windows rumfurwerken und AV-Systeme können auf den System-Space zugreifen. Damit gibt es immer noch eine Ebene unter dem Userspace und AVs würden immer noch funktionieren und wenn dort mal ein Treiber abschmiert, ist Windows trotzdem noch lauffähig.
aber dann könnten ja treiber darunter es manipulieren (also nicht wirklich, aber das ist das argument)
Ja, als Laie würde man das als offensichtliche Lösung ansehen.
Was ich so gehört habe ist, dass die Implementierung der Ringe auf x86 nicht so dolle ist. Weiß nicht, wie schlimm es ist, selbst noch kein OS geschrieben.
Nachdem Anpfiff war das eigentlich auch einer der Wege die MS gehen wollte Frameworks für Antivirus, Firewall etc. und der Defender als einzige Kernelkomponente die als Schnittstelle zu den Hersteller Anwendungen über das Framework dient. Wahrscheinlich war das Problem aber das gleiche wie 2 Jahre zuvor und sie haben es stecken lassen. Guck dir heute mal Windows 10/11 an wenn das zusätzliche Antivirus einen Fehler meldet schaltet sich Windows Defender ein und der Dau Schutz bleibt erhalten das ist das was übrig geblieben ist die Hersteller lassen sich den Kernel Zugriff natürlich ungern nehmen unter Windows alle müssten ihre Software komplett neu schreiben und da die Schnittstelle für alle die gleiche ist wie will man sich da mit seinen aktuell bombastischen Schlangen Öl Versprechen in Zukunft noch vom Rest der Konkurrenz abheben?
Eigentlich haben x86-Prozessoren mindestens 4 Privilegienstufen. Die heutigen Betriebssysteme unterstützen aber nur 2 Privilegienstufen.
@@Hofer2304 Mal sehen, wie lange noch. Da (fast) niemand Ring 1+2 nutzt will Intel die wegrationalisieren. X86S (S für simplified) heißt der Vorschlag, soll diverse Altlasten beerdigen, direkt in 64-bit starten.
21:58 kurz mal rechtschreibfehler behoben, der Newletter man kennt ihn 😉
🌝
Merke. Immer sind "die Anderen" schuld. ☝️ ❤
10:20 Ich frage mich, wie lange dieser Fehler schon dort war und ob er mit besseren Unit tests nicht hätte entdeckt werden können. Kennt sich da jemand aus?
Mit Unit-Test entdeckt man meist nur einen Teil Fehler, weil einem die kombinatorische Explosion von Eingaben/Konfigurations-Möglichkeiten hier im Weg steht. Code-Reviews wären hier ein anderer Ansatz, um Fehler im Code zu finden. Letzlich bleibt aber immer ein Restwahrscheinlichkeit für Fehler. Und wenn er auftritt, dann wandert die gefundene Kombination - hoffentlich - in einen neuen Unit-Test
das war nicht 249 sondern 291!
Ich finde das Crowdstrike eine prima Backdoor für Viren sein kann....
Wenn es einer schafft da ein Update reizuschmuggeln dann braucht man noch nicht Mal mehr Rechte ausweiten.
Der Prozess sitzt ja schon im Kernel tief drin.
Wenn man das Backup mit einem Loadbalancer dauerhaft laufen lässt, kann man die Kosten mit der besseren Performance rechtfertigen, schließlich hat man 2 Server die die Arbeit machen statt nur einen. Aber sicher ein wichtiger Punkt, dass man die Server mit unterschiedlichen Konfigurationen haben sollte. Glaube nicht, dass das so gehandhabt wird. Alle Server die als Basis für die Container dienen, laufen mit Linux und innerhalb einer Firma vermutlich auch alle mit der gleichen Distribution. Die Container kann man ja leicht starten und stoppen, aber wenn das OS ausfällt, was die Containerplattform bietet, ist halt auch vorbei.
Sry, aber das Logo und der Name sind ja wie dafür gemacht 👀 "strike crowd" wird als "streikende Menge" übersetzt, und da haben eine Menge Systeme "gestreikt" 😅
fehler sind menschlich und können jeden und immer passieren wichtig ist was wir daraus lernen und ändern und nich jemanden die schuld zuweisen vieleicht hat der dev stress hatte das das raus muste
6:16 bezüglich der falschen Fehlerkultur bin ich absolut auf deiner Seite, aber Kommentare wegbannen ist meiner Meinung nach die falsche Diskussionskultur. Ist aber am Ende deine Entscheidung ^^
Kam bisher nicht vor 😊
@@TheMorpheusTutorials So ist es natürlich am Besten :)
ich muss sagen: die learnings sind echt sinnvoll und sollten mal in die chef-etagen von der einen oder anderen KRIT-IS reinkommen...
Ich find's schön wie du dich aufregst, ohne ausdallend zu werden...hoffe der dev war keine Freundin von dir...ob es arbeitsrechtlich überhaupt möglich ist gleich entlassen zu werden, so ganz ohne Abmahnung etc.?
warum sollte der microsoft defender bei einem microsoft betriebssoftware nicht im kernel laufen dürfen? das gehört doch zusammen, da macht das argument mit unfärer vorteil gar kein sinn... da hätte sich ja symantec auch einfach ein eigenes betriebssystem basteln können um da auf den kernel zugriff zu haben... ich verstehe die logik da gar nicht bei der situation von 2006 und bin auf der seite von microsoft, dass es die schuld von EU ist
Zunächst einmal: Ein Betriebssystem machst du nicht "einfach so"! Das die EU für einen ausgeglichenen Wettbewerb sorgen will, soll eben genau soetwas wie den Crowdstrike /Falcon Vorfall verhindern. Denk mal kurz darüber nach, was MS in einer Monopolstellung so alles an "gewinnoptimierenden Entscheidungen" durchdrücken könnte... "Schöne AD-Infrastruktur haben sie da! Und auch alles in der Azure-Cloud! Wäre ja schade, wenn die mal ausfallen würde! Wie wäre es mit einem "Ausfallschutz"?..." Und wenn alles monopolisiert ist, kommt irgend ne Ransomware-group und macht alles dicht...
Wird Zeit, das die Firmen, die das verkacken auch mal verklagt werden!
Weil es MickrickSchrotts schuld ist. Du brauchst den Virenscanner für das Betriebssystem, nicht andersherum. Dass Dir der Fakt entgangen ist, ist merkwürdig. Das wäre, als würde VW in einen Fahzeugen besondere Räder einbauen und allen anderen nicht erlauben, kompatible Räder zu bauen, denn Räder sind für das Fahrzeug zwingend nötig. Das wäre genauso inakzeptabel. Hätte BillyBoy's Saftladen nicht jahrzehntelang solchen BS programmiert, wäre das heutzutage auch kein so großes Problem. Nicht Windows, das Management dahinter ist das Problem.
@@wernerviehhauser94 Welch ein furchtbarer Unsinn. Hate Speech. Sonst nichts. Frage: Warum gibt es denn dann Crowdstrike für Linux?
@@vanitacabral4951 klär mich mal auf.
Das man den Virenscanner für das OS braucht und nicht anders herum ist Blödsinn?
Dass keiner auf Otto-Normal-Autos nur Herstellerreifen akzeptieren würde ist Blödsinn?
Dass die Menge an Malware, die einem heute um die Ohren fliegt, geringer wäre, hätte MS nicht so lange solchen Mist produziert, ist Blödsinn?
Und dass es Virenscanner für Linux gibt, ist kein Argument. Es gibt auch Schutzlack für rostfreien Stahl. Ob der allerdings notwendig ist..... abgesehen davon bedienen viele Linux Server Windows Clients - natürlich ist es da sinnvoll, das was man weiterreicht, zu überprüfen. Dazu muss die Software unter Linux laufen, auch wenns nachher um Windows geht (da stellt sich mir eher die Frage, ob Dir klar ist, was Falcon - die Software, um die es geht - eigentlich ist, aber gut...)
Ja, ich hab für MS selten Lob übrig. Muss mich seit 30 Jahren "nebenberuflich" um von MS verursachte Probleme kümmern. Aber mir vorzuwerfen, es wäre Blödsinn - da würde ich erstmal sagen "setz die rosarote Brille ab".
Richtig, eine Frage noch wäre "last known good" nicht auch ein Ansatz. Ich meine wenn Windows crashed rebootet es Ohne die letzte Änderung. CS wäre dann zwar nicht up to date könnte aber eine Message senden, welche geprüft werden kann. Das Zielsystem würde aber zur Verfügung stehen. Was ich auch nicht verstehe ist, warum um alles in der Welt ist krietische Infrastruktur mit dem Internet verbunden?
Falls du Zeit hast wäre ich für eine Antwort dankbar 😅 Ansonsten weiter so
Statt daa fehlerverursachenden Personal zu feuern sollte man ihr eine psychologische Behandlung ermöglichen. Kann mir kaum vorstellen, dass man sich da nicht extreme Vorwürfe macht. Da zusätzlich den Job zu verlieren wird auch nicht hilfreich sein
Fehlender Failsafe bei Windows stimmt ja nicht ganz. Wenn der Treiber einen Bug hat ist das System tot, stimmt. Löscht man den Treiber, meckert es nicht mal und startet wieder :D
Also fehlerhaft schlecht, fehlend voll okey.
Hatte den Spaß beim Kerneltreiber von PQMagic
Config = Code. Natürlich. Wer Gegenteiliges behauptet, der meint auch, die ACLs der Registry Keys verändern zu können (Etwas, was bei anderen OS ja leider nicht geht), ohne dass dies Konsequenzen nach sich zöge.
Das Desaster konnte nur passieren, weil alle Beteiligten gegen Normvorgaben verstoßen haben.
Softwareentwicklung und Weiterentwicklung unterlegt der 25.000er Normenreihe und hierzu gehört auch ein hinreichender Test in einer Testumgebung bevor die Freigabe in die Produktionssysteme erfolgt.
Datensicherungskonzepte und die Möglichkeit ein Rollback machen zu können und dies auch ohne den Datenbestand zu berücksichtigen gehört zum Standard der 27000er Reihe und hier wurde auch offenkundig darauf verlassen, dass nie ein Fehler passieren wird, der diese Auswirkungen haben kann.
Schadenersatzforderingen gegen CrowdStrike beschränken sich nicht alleine auf direkt Geschädigte, sondern auch indirekt Geschädigte, dessen Daten zum Beispiel für die OP nicht verfügbar wären entsprechend Artikel 82 DS-GVO.
völlig korrekt und genau darum kann man dann auch mal die Entwicklung an den Pranger stellen. Ich hatte es ja so ähnlich geschrieben
Testen testen testen sage ich immer:)
🎉
In diesem Zusammenhang habe ich mich schon immer gefragt wie StackOverfow überhaupt funktioniert, denn im Internet wird man immer erst mal als Depp hingestellt wenn man etwas geiles programmiert und dann darin Fehler enthalten sind. So in der Art: "so ein Schrott wie kann man so dumm sein".
wenn diese Software jemals eine Zertifizierung erhalten hat, hätte man vermutlich auch ein 'code coverage'-Test durchführen müssen. Spätestens da hätte der Fehler auffallen müssen! Das Problem ist, entweder wurde 100% nicht erreicht und der fehlende Teil wurde nicht gereviewed, oder die PL hat gesagt, wir sparen uns Zeit und Kosten und machen es nicht. Der Fehler liegt also bei der Firma!
Nein, auch 100% Code Coverage sind nicht ausreichend, um jeden Fehler zu entdecken. Das Problem liegt hier in der Kombinatorik. Manche Fehler treten nur auf, wenn eine problematische Kombination von Codepfaden durchlaufen wurde. Auch eine Zertizifierung und die Einhaltung aller Best Practices sind keine Garantie für fehlerfreie Software. Zertifizierung heißt auch nur, dass der Stand der Technik und das eigene Konzept eingehalten wurde. Da darf man sich nicht zuviel versprechen.
@@gegenzug klar, logische Fehler werden durch CC nicht aufgedeckt. Da muss man schon die Anforderungen heran ziehen. Aber so wie der Fehler mir in Assembly ausgesehen hat, wird ja hier eine Adresse angesprungen, die ungültig ist. Dies hätte eine 100%ige CC schon finden können. Aber, wie auch immer, ganz wichtig ist: wir machen alle Fehler! Wir müssen nur damit offen umgehen und dem User Möglichkeiten geben, darauf zu reagieren. Gruß!
10:00 als quasi eine typische NullpointerEx?
Nicht ganz, eher out of bounds
einfach mal wieder the Morpheus Tutorial Videos komentieren (fy Algorithmus 😂)
Eine Sache kommt ein wenig zu kurz. Mit eine Ursache ist m.M.n. eine immer größere Konzentration auf Anbieter, die monopolartige Stellungen haben. Es kann nicht sein, dass die ganze Welt stillsteht, wenn bei einer einzigen Firma ein Fehler passiert. Hier wären auch die Kartellbehörden gefragt, so etwas zu verhindern. Bei Automarken gibt es z.B. viel mehr Auswahl. Wenn jetzt ein Fehler dazu führt, dass alle Autos von X nicht mehr fahren, sind alle, die nicht X fahren, nicht betroffen.
Wie wäre es wenn alle Systeme laufzeitverschlüsselt wären. das Programm würde dann nur noch laufzeitverschlüsselten code akzeptieren. Interessant und hilft gegen 100% der Laufzeitangriffe weil ein Angriff ist was anderes als der Laufzeit verschlüsselte Code
27:47 das ist doch nichts neues... das klingt als wäre das jetzt ne ganz neue Erkenntnis die man erst nach diesem Vorfall erlangen konnte.. das seh ich aber ganz anders... das is logischer Menschenverstand
SInd eigentlich die Crowdstrike Mitarbeiter selbst auch betroffen gewesen? ;)
die benutzen bestimmt nur Linux Server und Clients 🤣🤣🤣
Min 24: Da ich im Coden ungeübter bin, liegt meine Fehlerquote eher bei 10 Fehlern alle 500 Zeilen😂
Danke solche Infos sind aus meiner Sicht wichtig
Wow ich dachte immer der Win Defender ist ein teil von Windows… damit wäre es paradox zu behaupten dass es Wettbewerbswidrig wäre. … oder? 😮
😮😢😮😢
Ihr wolltet den vorschritt, alle geräte werden ans netz gehängt, pech gehabt.
Crowdstrike arbeitet doch viel mit Indien. Mein Gedanke.
Das Problem heißt Kapitalismus
NOPE, die Lösung heißt Marktwirtschaft.
Der erste nicht bott Kommentar oder auch nicht
Das Problem ist, es gibt zuviele Programmierer. Um etwas Geld zu verdienen machen die jeden noch so kritischen Scheiß mit. Würde es weniger Programmierer geben, dann könnten die ruhigen Gewissens sagen, unter diesen Zeitdruck, unter diesen Randbedinungen arbeite ich nicht und würden sich eine Firma suchen wo vernünftig gearbeitet wird.
der Resil Jens man kennt ihn Prost
Ziemlich konfuse Erklärung. Merkt man auch wenn bei den Details nach dem zweiten Satz angefangen wird sich zu wiederholen.
Es klingt auch wie wenn davon ausgegangen wird dass die Zuhörer wenig Verständnis von Technik haben (ist ja nicht schlecht davon auszugehen) aber dann wird "Update" mit dem Wort "Patch" erklärt. Naja noch nicht sicher?! "Patch für Windows" hmm?! "Patch für Handy Game" aahhh jetzt verstehe ich lol
1:44 "1. Fehler im Code" 2:30 "war kein Code sondern Config"
Teilweise ist eine sys Datei ein Treiber weil es definiert wie mit der HW umzugehen ist. Da sind dann neue Versionen dann auch nur neue sys Dateien.
Für die Anfänger: Named Pipes sind C# code lol Eigenschaften, Nutzen, verständliche Beispiele??
Also das Risiko bei Named Pipes ist dass Malware Prozesse Kommunizieren können?! Echt? Also nicht etwa das übliche Risiko wie impersonation?! lol
'Ich bin Dev also don't blame the Dev!!' ... 'Der Dev hat den Inhalt gepusht und will die autom.(!) Prüfung überspringen' aber Schuld ist er nicht lol Natürlich steckt da mehr dahinter und ein Entwickler kann nicht einfach SDLC überspringen. Hofft man zumindest bei einer Firma wie Crowdstrike. Aber die Argumentation ist schon lustig.
11:40 Windows started mit kaputten Treiber wenn die wie üblich im User Mode laufen.
Versteh's irgendwie nicht. Teilweise wird verallgemeinert dass es schon falsch ist aber dann zeigt man Assembler Code her?! Für die Leute die nur noch Assembler verstehen? lol
Ich mach keine Fehler!!
Der Compiler versteht mich einfach nur nicht richtig...
Viele Botaccounts...
Lektion ist, dass man kein US Unternehmen vertrauen sollte, gerade in Bezug auf Sicherheit.
Ich sage dazu nur, Secret Service, Boeing, CrowdStrike, Microsoft, oder doch er Spysoft, ich hab sicher noch ein paar Unternehmen vergessen.
Al-go-rith-mus (der).
Ich hatte bei einem Windows PC mal eine Fehlermeldung die lautete: Scheiben haben erfordert. Selbst die IT´ ler aus der Firma konnten damit nichts anfangen. lach
War das ein Stop Screen oder einfach nur eine Fehlermeldung einer Anwendungssoftware?
@@vanitacabral4951 Da bin ich auch nicht mehr ganz sicher weshalb das war. war eine SPS am Programmieren. Und die normalen Fehlermeldungen aus der Sofware waren es nicht, es war aus dem Betriebssystem das Fenster in dem der Fehler angezeigt wurde hatte für mich Ähnlichkeit mit dem Dos Fenstern. lach Zumindest war das die seltsamste Fehlermeldung die ich je gesehen habe.
erster nicht bot
Kleinkind
@@RayZXA Ne tatsächlich nicht.
ich bin ein Bot?👳♀
@@HalloHallo967 Anscheinend schon. Denn dieses erste Schreien habe ich vor 26 Jahren in der Grundschule mitbekommen.
Du hast es anscheinend nicht verstanden. Die Ursache dieses Problems heißt Kapitalismus und Gier!
wie ich erfahren habe steckt sogar noch mehr dahinter,
aber darüber schreibe ich nicht, weil es ansonsten eh als "braune Verschwörungstheorie" abgewertet und anschließend ignoriert wird.
Danke für das interessante Video!
Ok ich muss gestehen, da kann ich Microsoft einerseits verstehen. Wenn ich Microsoft wäre würde ich es auch nicht verantworten wollen, wenn third-party-programme Fehler haben. Aber dass Windows keine Fallback-Logik für Treiber-Fehler hat, finde ich diskussionswürdig. Also das ist so eine Architektur-Entscheidung, deren Grund mir mal bitte jemand erklären soll und durch die ich dann doch wieder eher Microsoft in der Verantwortung sehe. Wenn mein Programm Fehler hat, darf ich bei einer guten Plattform erwarten, dass die Platform damit umgehen kann, wenn mein Programm ein Fehler hat und nicht mehr funktioniert. Aber warum dann das ganze System abschmieren muss, ist mir schleierhaft. Weil das Problem ist ja dann doch - Kernelspace hin oder her - dass jeder Treiber ein single point of failure ist und Microsoft sich halt offenbar nicht dafür verantwortlich fühlt, ein stabiles Betriebssystem anzubieten. Also ich bin kein OS-Entwickler, aber es muss doch für Windows prinzipiell möglich sein, Exceptions von Treibern, die keine Hardware-Fehler implizieren, zu catchen und weiter zu laufen, auch wenn sie von Treibern im Kernelspace kommen, oder etwa nicht?!
Das Problem war doch, dass der Treiber gar nicht updated oder neu installiert wurde und der Fehler schon eine kleine Ewigkeit da drinnen steckte. Ansonsten wäre es gegangen, denn der Fail Safe heißt (Back to) "Last Known Good Configuration" und ist seit Windows NT 3.1 implementiert.
Ich finde doch das OSS einen Vorteil hat, da entscheidet nicht ein Entscheider wie es nun zu laufen hat. Bei Microsoft kann einer entscheiden: Schmeißt alle aus den Kernelspace raus und wir machen fette Profite. Beim Linux Kernel entscheidet aber nicht eine Person wo es lang geht, sondern viele.
Leider entscheidet eben auch bei OSS oft nur ein Entwickler, was gemacht wird. Bei OSS fehlt eine systematische Überprüfung der Software.
@@Hofer2304Nichts hindert Deutschland daran einen Fork für zB Spitäler zu maintainen. Warum man da amerikanischen Firmen Geld rüberschieben muss, wenn in den USA der Einsatz von Windows in kritischen Bereichen teilweise verboten ist, ist absurd.
@@Hofer2304 Das ist doch quatsch, zum einen wird OSS Software systematisch überwacht siehe XZ Vorfall.
Und Closed Source wird systematisch Überprüft, wie sehr das stimmt müsste dir doch diese Vorfall zeigen.
Klingt für mich nach einer Scheindebatte von einen MS Admin der um seinen Job fürchtet.
@@THEMithrandir09 Dann müssen aber die gesetzlichen Grundlagen geschaffen werden, damit das auch wirklich durchführbar ist. Man darf sich bei Kritis nicht darauf verlassen, dass schon genügend Freiwillige an dem Projekt mitarbeiten werden. Man sollte einige Leute bezahlen, und einen großen Teil der Leute zumindest finanziell entschädigen, wenn sie einen größeren Beitrag liefern. Als Programmiersprache schlage ich SPARK vor, es sei denn, es gibt gute Gründe für eine andere Programmiersprache. Dass man den Leuten erst SPARK beibringen muss, ist kein Grund dagegen.
Bin nicht ganz deiner Meinung. Manchen Leuten sollte man Schuld geben. Die Prozesse sollten so transparent sein, damit man die Abläufe und die Zuständigkeit für Risikoabwägung transparent macht. Wenn man "keine Schuldigen" - Kultur fährt, dann denkt sich jeder Beteiligte: sche...gal, die Prüfung/Test/Absicherung macht jemand anderes.
Da bin ich voll deiner Meinung, außer bei dem mit der Schuld. Wenn die Systeme und Tests gar nicht freiwillig sind (weil man aus dem Vorfall gelernt hat) klappt es auch so
Entwickler: Wir haben eine neue Version released kannst du die mal testen und deployen?
Tester: ja klar moment ich starte mal eben die pipelines für den Smoketest.
Entwickler (10Stunden später): und wie siehts aus?
Tester: ups wieso sind denn alle Pipeplines queued?
Enwickler: Na hast du nichts von dem falconupdate gehört?
Tester: Ja schon Morpheus hat das mal erwähnt 😅
Entwickler: Wer? Naja egal, jedenfalls sind all deine VMs offline.
Du musst eventuell nach dem update dein Agentpool reseten.
Tester: Try off 'n on again 😒 Verstanden!🥱
unerwarteter Ausflüge sind oft die Besten 🦾👍