Bugs Happen - Warum ich den Benutzermodus für SysTrack's Agent Design gewählt habe
Von Mike Schumacher, Lakeside-Gründer
Als ich letzte Woche mit der sich schnell verbreitenden Nachricht aufwachte, dass ein IT-Ausfall vorliegt, der durch den gefürchteten "Blue Screen of Death" (BSOD) angezeigt wird, hatte ich gleich zwei Reaktionen. 1: Oh, das ist nicht gut. Und 2: Ich bin froh, dass das von mir entwickelte Produkt zur Überwachung digitaler Endgeräte(Lakeside SysTrack ) nicht daran schuld war.
Wie konnte ich so sicher sein? Das ist ganz einfach. Als ich SysTrack vor fast 30 Jahren entwarf, stellte ich sicher, dass es ausschließlich im Benutzermodus und nicht im Kernelmodus ausgeführt werden würde. Obwohl sich das Produkt in den letzten drei Jahrzehnten mit neuen Innovationen weiterentwickelt hat, ist die Bedeutung der Ausführung im Benutzermodus erhalten geblieben. Das bedeutet, dass es im Wesentlichen in dem vom Betriebssystem bereitgestellten sicheren Sandkastenbereich läuft. Da ich weiß, dass Softwarefehler (selbst sehr einfache) trotz mühsamer Testverfahren auftreten, wollte ich die Gewissheit haben, dass die Ausführung unserer Agenten im Benutzermodus ein CrowdStrike-ähnliches Szenario verhindern würde.
Natürlich ist es verständlich, warum eine Endpunkt-Sicherheitssoftware wie CrowdStrike im Kernel-Modus läuft, einem "privilegierten Betriebsmodus für die Zentraleinheit (CPU) in einem Computersystem", der aufgrund des geschützten Zugriffs mehr Sicherheit bietet. Das Problem bei der Ausführung im Kernel-Modus ist jedoch (wie die Welt inzwischen weiß), dass selbst eine oder zwei Zeilen fehlerhaften Codes Betriebssysteme lahmlegen können.
Das CrowdStrike-Problem von letzter Woche verdeutlicht, warum der Verzicht auf Kernel-Komponenten, wie ihn einige unserer Konkurrenten praktizieren, den Endpunkt-Softwarekunden von Lakeside einen großen Vorteil bietet. Ein Fehler in einem Kernel-Treiber, selbst ein trivialer Fehler, kann einen BSOD verursachen. Andere Anbieter erkennen dieses Risiko sogar an, indem sie versuchen, Absturzsicherungen einzubauen, die sich selbst deaktivieren, wenn sie Ihr System mehrmals zum Absturz bringen. Zu diesem Zeitpunkt ist Anwender jedoch bereits erheblich beeinträchtigt und die Kunden sind ebenfalls betroffen, was zu Zeit- und Geldverlusten führt.
Wenn die Software oder Anwendung vollständig im Benutzermodus ausgeführt wird, wie es bei SysTrack der Fall ist, kann die Software oder Anwendung zwar abstürzen, aber das System nicht zum Absturz bringen ... oder schlimmer noch, da Kernel-Komponenten die Betriebssystemsicherheit umgehen können. Der BSOD ist jedoch das sichtbarste Problem - eines, das viele müde IT-Teams rund um die Uhr arbeiten lässt, seit die Ausfälle vom 19. Juli Fluggesellschaften, Banken und andere kritische Sektoren getroffen haben.
Obwohl einige behaupten, das CrowdStrike-Problem automatisch beheben zu können, ist eine Automatisierung einfach nicht möglich. Für die Behebung muss ein System in den abgesicherten Modus von Windows gebootet werden, was manuell erfolgen muss. Und warum? Obwohl dieser Artikel die Langwierigkeit des Wiederherstellungsprozesses sehr gut erklärt, möchte ich meine eigene Sichtweise hinzufügen. Bestimmte Fehler werden ausgelöst, bevor man im Bootvorgang weit genug gekommen ist, um mit dem Betriebssystem zu interagieren; man hat keine Chance, einzugreifen, bevor man wieder den blauen Bildschirm sieht. Ich kann nur wiederholen, dass man einfach keine Chance hat.
Sehen Sie sich diesen Thread über den Reparaturprozess an. Stellen Sie sich vor, Sie müssten dies 50.000 Mal in einem Unternehmen durchführen. Dass SysTrack keine Kernel-Treiber enthält, lässt Ingenieure wie mich nachts besser schlafen. Wenn Sie mich fragen, ist das ein außergewöhnlich kleiner Agenten-Fußabdruck; egal welchen Fehler wir machen, wir werden das System nicht zum Absturz bringen.
Wie ich bereits sagte, muss CrowdStrike aufgrund seiner Eigenschaft als Sicherheitsprodukt für Endpunkt-Erkennung und -Reaktion (EDR) und der damit verbundenen Aufgaben Kernel-Treiber enthalten. Man kann keinen Schutz vor Malware bieten, ohne im Kernel zu leben. Unglücklicherweise haben Fehler im Kernelmodus nicht nur das Programm selbst, sondern auch das gesamte Betriebssystem zum Absturz gebracht.
Was können Sie tun, um diese Art von Problemen zu vermeiden? Prüfen Sie jedes Software-Paket und akzeptieren Sie keine Kernel-Mode-Komponenten, wenn nicht bewiesen werden kann, dass sie unerlässlich sind. Woher wissen Sie, ob solche Treiber in der Software vorhanden sind? Besorgen Sie sich ein gutes DEX-Produkt (ich bevorzuge natürlich meines, aber es gibt auch andere). Zweitens sollten Sie nicht mehrere Versionen von Kernel-Mode-Software in Ihrem Besitz haben; eine einzige Version bedeutet ein geringeres Risikoprofil. Wie können Sie wissen, welche Versionen Sie haben? Dieselbe Antwort: Besorgen Sie sich ein großartiges DEX-Tool wie SysTrack.
Dieser Vorfall ist in der Tat sehr bedauerlich. Was unternimmt Lakeside, um seinen Kunden, die von dem IT-Ausfall betroffen sind, zu helfen? Innerhalb von etwa 12 Stunden haben unsere Techniker ein Dashboard erstellt, das unseren Kunden hilft, sich von dem Ausfall zu erholen. Dieses Dashboard wurde gemeinsam mit zwei betroffenen Kunden entwickelt und ermöglicht unseren Kunden Folgendes:
1. Verstehen Sie das Ausmaß der Auswirkungen.
2. Triage-Reparatur von Systemen mit hoher Priorität.
3. Überwachung des Fortschritts der Abhilfemaßnahmen in großem Maßstab.
Was beispielsweise die Transparenz betrifft, so macht unser maßgeschneidertes Dashboard ein zeit- und kostenaufwändiges War-Room-Szenario überflüssig, indem es IT-Teams einen datengestützten Einblick gibt, welche Systeme betroffen waren und wo sie sich befinden. Das Dashboard SysTrack gibt Aufschluss über den Umfang und die Auswirkungen des Ausfalls, indem es aufzeigt, wie viele Windows-Systeme auf Infrastruktur verwendet werden, welche dieser Systeme CrowdStrike installiert haben und anfällig sein könnten und wo sich diese Systeme befinden. Im Gegenzug kann das IT-Team die Prioritäten für die Triage festlegen und den Erfolg der Wiederherstellungsmaßnahmen überwachen. Diese Möglichkeit der Priorisierung ist besonders wichtig für Unternehmen, die über entfernte Systeme verfügen, die möglicherweise sofortige Korrekturen erfordern.
Es gibt ein Sprichwort, das ich mag und das für mich nie alt wird: "Wenn du nur das tun willst, was leicht ist, wird das Leben schwer sein. Aber wenn du bereit bist, das zu tun, was schwer ist, wird das Leben leicht sein." Als wir Lakeside SysTrack entwickelt haben, wäre es einfacher gewesen, einen Gerätetreiber im Kernel-Modus zu entwickeln. Stattdessen wählten wir den schwierigeren Weg, indem wir den Agent-Footprint so gestalteten, dass er im Benutzermodus läuft.
Natürlich kann jedes Softwareunternehmen einen schlechten Tag haben, wenn eine Anwendung versagt oder abstürzt, aber die Gewissheit, dass ein katastrophaler blauer Bildschirm bei mir nie auftreten wird, lässt mich besser schlafen. Jetzt hoffe ich, dass alle IT-Teams mit roten Augen, die seit letztem Freitag unermüdlich arbeiten, bald den Schlaf genießen können, der durch den Kernel-Bug-Albtraum unterbrochen wurde.
Abonnieren Sie den Lakeside Newsletter
Erhalten Sie Plattformtipps, Versions-Updates, Neuigkeiten und mehr