Die Zukunft der sicheren Codeausführung: Kollaborative eBPF-Ansätze
Im Bereich Cybersicherheit sind wir immer auf der Suche nach robusten, zuverlässigen Möglichkeiten, Code auszuführen. Tools wie eBPF (erweiterter Berkeley Packet Filter) und spezialisierte Sandboxing-Technologien sind zu Schlüssellösungen geworden.
Zwei Veranstaltungen im Sommer 2024 zeigen jedoch sowohl die Stärken als auch die Schwächen dieser Tools auf.
- Juni 2024: Ein Fehler im erweiterten Berkely Packet Filter (eBPF) Code Verifier ermöglichte es dem Linux-Treiber eines großen EDR-Anbieters (Endpoint Detection and Response), den Linux-Kernel zum Absturz zu bringen, was zu einem größeren Ausfall bei seinen Linux-Kunden führte.
- Juli 2024: Ein Fehler in der selbst entwickelten sicheren Codeausführungsumgebung desselben Anbieters ermöglichte ein Update, das den Kernel zum Absturz brachte und das System nicht mehr bootfähig machte. Dies führte zu einem noch schädlicheren und viel beachteten Ausfall für ihre Windows-Kunden.
Diese beiden Vorfälle zeigen zwei unterschiedliche Möglichkeiten, Low-Level-Systemupdates an Live-Systemen vorzunehmen, und warum wir einen einheitlichen und offenen Ansatz bevorzugen sollten, um die Codeausführung sicher zu halten.
Ausgewogenheit zwischen schnellen Code-Updates und Systemstabilität
In der heutigen schnelllebigen Bedrohungslandschaft ist es wichtig, schnell Updates an Sicherheitstools zu senden, um Bedrohungen zu stoppen, bevor sie Probleme verursachen. Diese Updates müssen alle Sicherheitssysteme innerhalb von Minuten oder Stunden erreichen. EDR-"Sensoren" können von Ihrem Anbieter mehrmals am Tag live gepatcht werden, wenn Bedrohungen ein solches Volumen erfordern.
Aber es gibt ein Gleichgewicht:
- Das Senden von Updates für Sicherheitstools, die eng mit dem Betriebssystem integriert sind, kann manchmal zu größeren Ausfällen führen.
- Aber wenn man zu lange mit dem Update wartet, kann sich Malware verbreiten.
Die Lösung besteht darin, einen sicheren Weg zu finden, um Schwachstellen im Code schnell zu mindern und zu definieren, wo Betriebssystemcode mit Sicherheitstools verbunden werden soll.
Lösungen für die sichere Codeausführung: Erweitertes Sandboxing im Vergleich zu eBPF
Es wurden zwei Technologien entwickelt, um sicherzustellen, dass der Code vor der Ausführung sicher und korrekt ist:
Spezialisierte Sandboxing-Technologien
Beim Sandboxing werden kleine, fokussierte virtuelle Computer (VMs) und Verifizierer verwendet, um sicherzustellen, dass nur sicherer, genehmigter Code ausgeführt wird.
Diese VMs sind nicht wie die herkömmlichen Hypervisor-basierten Systeme, auf denen vollständige Betriebssysteme ausgeführt werden. Stattdessen sind sie so konzipiert, dass sie Programme sicher mit einem bestimmten Satz virtueller Anweisungen ausführen (z. B. wie Java- oder JavaScript-VMs funktionieren, nicht VMware).
Die Überprüfung ist der Schlüssel – sie überprüft den Code, bevor er ausgeführt wird, um sicherzustellen, dass er sicher und korrekt ist. Dieser Ansatz isoliert potenziell riskante Aktionen und schafft einen sicheren Bereich für die Ausführung von Code.
Programme, die in einer Sandbox ausgeführt werden, sind wie Assemblersprachenprogramme. Sie verwenden einen kleinen, grundlegenden Satz von Anweisungen, die mit den meisten Prozessoren funktionieren können. Dieses einfache Design macht den Code effizient und stellt sicher, dass er sicher in der Sandbox- oder Kernel-Umgebung ausgeführt werden kann.
eBPF
Der Extended Berkeley Packet Filter verfolgt einen stärker integrierten Ansatz, insbesondere in Linux-Systemen. Es ermöglicht die sichere Ausführung von Code im Kernel und bietet so eine bessere Transparenz und Kontrolle, ohne die Systemstabilität zu gefährden.
eBPF verfügt über einen starken integrierten Verifizierer, der sicherstellt, dass der Code sicher ist. Dies verhindert, dass Code mit unsicheren Anweisungen ausgeführt wird, und bietet eine schlankere, effizientere Möglichkeit, Code auszuführen.
Die IT-Ausfälle im Juli 2024: Was sie uns über die sichere Codeausführung gelehrt haben
Selbst wenn Schutzmaßnahmen getroffen wurden, haben die jüngsten Ereignisse Schwächen bei Sandboxing-Tools und eBPF-Technologie aufgezeigt.
Es stimmt, dass der Linux-Ausfall aufgrund eines Fehlers im eBPF-Verifizierer geschah, der zum Ausfall des Betriebssystems führte. Dies zeigt, dass selbst fortschrittliche Tools wie eBPF Probleme haben können, weshalb es wichtig ist, wachsam zu bleiben und sie immer weiter zu verbessern. Das Ergebnis der Behebung des eBPF-Verifizierers hat jedoch andere Auswirkungen auf die Zukunft, da es Teil einer Community-Lösung ist.
Als der Verifier-Fehler gefunden wurde, arbeitete die Community schnell zusammen, um ihn zu beheben. Diese gemeinsame Anstrengung trägt dazu bei, den eBPF für alle zu verbessern und macht es weniger wahrscheinlich, dass ähnliche Probleme erneut auftreten.
Der Blue Screen of Death (BSOD)-Vorfall in der Windows-Umgebung wurde durch Speicherfehler verursacht. Diese Fehler stammten von nicht übereinstimmenden Array-Größen in einem speziellen Sandboxing-Tool und seinem Verifizierersystem. Die Bemühungen, den Vorfall zu analysieren und zu entschärfen, zeigten, wie wichtig ein starker Verifizierungsprozess ist. Dies würde verhindern, dass Schwachstellen die Systemstabilität beeinträchtigen.
Im Gegensatz zu eBPF arbeiten proprietäre Sandboxing-VM- und Verifier-Systeme in geschlossenen Ökosystemen. Sie können zwar identifizierte Fehler beheben, aber diese Verbesserungen helfen nur den Benutzern eines einzelnen Anbieters. Diese isolierte Arbeitsweise verlangsamt den Austausch von Sicherheitsverbesserungen und erhöht die Wahrscheinlichkeit, dass ähnliche Probleme an anderer Stelle auftreten.
Auf dem Weg zu einem einheitlichen Ansatz: Argumente für eBPF
Diese gegensätzlichen Vorfälle zeigen, wie wichtig es ist, ein gemeinsam genutztes, offenes System für die Ausführung von sicherem Code zu verwenden.
Der kollaborative Ansatz von eBPF schafft eine starke Basis für die Verbesserung der Sicherheitstools auf verschiedenen Plattformen. Durch die Verwendung einer einzigen VM und eines Verifizierers, die in das Betriebssystem integriert sind, können Unternehmen vermeiden, mehrere inkonsistente und potenziell unsichere Do-it-yourself-Systeme zu erstellen.
Ein gutes Beispiel für diese Idee ist die Arbeit, die geleistet wird, um eBPF auf Windows zu bringen. Durch das Hinzufügen von eBPF zu ihrem Betriebssystem können Unternehmen eine sichere und standardisierte Umgebung schaffen, in der Sicherheitstools auf niedriger Ebene ausgeführt werden können. Diese Änderung macht nicht nur das Betriebssystem sicherer, sondern fördert auch die Nutzung des bewährten Ansatzes von eBPF in der gesamten Branche.
Die Bemühungen, die Sicherheitsgrundlagen über mehrere Betriebssysteme hinweg mit sicherer Kernel-Integration zu transformieren, zeigen das Potenzial dieser Idee. Durch die Nutzung der Funktionen von eBPF zielen diese Projekte darauf ab, ein sichereres und besser vernetztes System für Sicherheitstools zu schaffen, die über verschiedene Betriebssysteme hinweg funktionieren.
Was eBPF für die Zukunft der Cybersicherheit bedeutet
Die jüngsten Probleme mit Sicherheitstools zeigen, wie die Einführung von eBPF für die Cyber-Branche von Vorteil sein könnte. Mit seinem offenen und kollaborativen Modell können Unternehmen die potenziellen Vorteile der Integration von eBPF in ihre Lösungen in Betracht ziehen.
Durch die Verwendung von eBPF würde die Verantwortung für Systemabstürze, wie z. B. Kernel Panics, auf den Betriebssystemanbieter verlagert. Sie sind besser gerüstet, um diese Probleme zu bewältigen und das System sicher und stabil zu halten.
Und indem sie sich auf vertrauenswürdige Betriebssystemanbieter verlassen, um die Sicherheit von eBPF zu gewährleisten, können sich Unternehmen darauf konzentrieren, ihren Kunden schnellere und zuverlässigere Updates bereitzustellen. Diese Methode unterstützt das Ziel, schnelle Verbesserungen zu ermöglichen, ohne die Sicherheit zu beeinträchtigen.
Obwohl sorgfältige Tests vor dem Start von Updates immer noch wichtig sind, kann die Verwendung der integrierten Sicherheitsfunktionen von eBPF die Wahrscheinlichkeit, dass Probleme auftreten, während das System läuft, erheblich verringern.
Zusammenarbeit ist die Zukunft der sicheren Codeausführung
Jüngste Vorfälle, die auf Probleme bei der Codeausführung zurückzuführen sind, zeigen, wie komplex die Aufrechterhaltung robuster, zuverlässiger Umgebungen ist.
Proprietäre Sandboxing-VMs und -Verifizierer bieten Unternehmen möglicherweise mehr Kontrolle und Anpassungsmöglichkeiten, schneiden sie aber auch von umfassenderen Sicherheitsverbesserungen ab. Auf der anderen Seite schafft der offene und kollaborative Ansatz von eBPF ein stärkeres System, das ständige Verbesserungen und gemeinsame Sicherheitsvorteile ermöglicht.
Da sich die Branche weiterentwickelt, kann der Einsatz von Modellen wie eBPF, die die Zusammenarbeit und Standardisierung fördern, dazu beitragen, stärkere und sicherere Systeme zu schaffen. Unternehmen können sehr davon profitieren, eBPF zu ihren Tools hinzuzufügen und das gemeinsame Wissen der Community zu nutzen, um die Sicherheit zu verbessern.
Mit diesem Geist der Zusammenarbeit sieht die Zukunft der Cybersicherheit für alle heller und sicherer aus.
Nehmen Sie noch heute Kontakt mit uns auf um mehr über die Illumio Zero Trust Segmentation Platform zu erfahren.