Die Zukunft der sicheren Codeausführung: Einführung kollaborativer 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 spezielle Sandbox-Technologien sind zu Schlüssellösungen geworden.
Zwei Ereignisse im Sommer 2024 verdeutlichen jedoch sowohl die Stärken als auch die Schwächen dieser Tools.
- Juni 2024: Ein Fehler im erweiterten Berkely Packet Filter (eBPF) -Codeverifier 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 großen Ausfall bei seinen Linux-Kunden führte.
- Juli 2024: Ein Bug in der eigens entwickelten sicheren Code-Ausführungsumgebung desselben Anbieters führte dazu, dass ein Update den Kernel zum Absturz brachte und das System nicht mehr bootfähig machte. Dies führte zu einem noch schädlicheren und viel beachteteren Ausfall für ihre Windows-Kunden.
Diese beiden Vorfälle zeigen zwei verschiedene Möglichkeiten, Systemupdates auf niedriger Ebene an Live-Systemen vorzunehmen, und zeigen, warum wir einen einheitlichen und offenen Ansatz bevorzugen sollten, um die Codeausführung sicher zu halten.
Schnelle Code-Updates mit Systemstabilität ausbalancieren
In der heutigen schnelllebigen Bedrohungslandschaft ist es von entscheidender Bedeutung, schnell Updates für Sicherheitstools zu senden, um Bedrohungen abzuwehren, bevor sie Probleme verursachen. Diese Updates müssen innerhalb von Minuten oder Stunden alle Sicherheitssysteme erreichen. EDR-"Sensoren“ können von Ihrem Anbieter mehrmals täglich live per Fernzugriff gepatcht werden, wenn Bedrohungen ein solches Volumen erfordern.
Aber es gibt ein Gleichgewicht:
- Das Senden von Updates an Sicherheitstools, die eng in das Betriebssystem integriert sind, kann manchmal zu größeren Ausfällen führen.
- Wenn Sie jedoch zu lange auf das Update warten, kann sich Malware ausbreiten.
Die Lösung besteht darin, einen sicheren Weg zu finden, um Sicherheitslücken im Code schnell zu beheben und zu definieren, wo der Betriebssystemcode mit Sicherheitstools verbunden werden soll.
Lösungen für sichere Codeausführung: Erweitertes Sandboxing im Vergleich zu eBPF
Zwei Technologien wurden entwickelt, um sicherzustellen, dass Code vor der Ausführung sicher und korrekt ist:
Spezialisierte Sandbox-Technologien
Sandboxing verwendet kleine, fokussierte virtuelle Maschinen (VMs) und Verifizierer, um sicherzustellen, dass nur sicherer, zugelassener 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 mithilfe eines bestimmten Satzes virtueller Anweisungen sicher ausführen (z. B. wie Java- oder JavaScript-VMs funktionieren, nicht VMware).
Der Verifier ist der Schlüssel — er ü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, in dem Code ausgeführt werden kann.
Programme, die in einer Sandbox laufen, sind wie Assemblerprogramme. Sie verwenden einen kleinen, grundlegenden Befehlssatz, der mit den meisten Prozessoren funktioniert. Dieses einfache Design macht den Code effizient und stellt sicher, dass er in der Sandbox- oder Kernel-Umgebung sicher 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 eine bessere Sichtbarkeit und Kontrolle, ohne die Systemstabilität zu gefährden.
eBPF hat einen starken eingebauten Verifier, der sicherstellt, dass der Code sicher ist. Dadurch wird verhindert, dass Code mit unsicheren Anweisungen ausgeführt wird, und bietet eine optimiertere und effizientere Möglichkeit, Code auszuführen.
Die IT-Ausfälle vom Juli 2024: Was sie uns über sichere Codeausführung beigebracht haben
Trotz vorhandener Schutzmaßnahmen haben die jüngsten Ereignisse Schwächen der Sandbox-Tools und der eBPF-Technologie aufgezeigt.
Es stimmt, dass der Linux-Ausfall auf einen Fehler im eBPF-Verifier zurückzuführen ist, der zum Ausfall des Betriebssystems führte. Dies zeigt, dass selbst fortgeschrittene Tools wie eBPF Probleme haben können, weshalb es wichtig ist, wachsam zu bleiben und sie weiter zu verbessern. Das Ergebnis der Reparatur des eBPF-Verifizierers hat jedoch unterschiedliche 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 kollektive Anstrengung trägt dazu bei, den eBPF für alle zu verbessern, und verringert die Wahrscheinlichkeit, dass ähnliche Probleme erneut auftreten.
Der Blue Screen of Death (BSOD) -Vorfall in der Windows-Umgebung wurde durch Speicherfehler verursacht. Diese Fehler waren auf nicht übereinstimmende Array-Größen in einem speziellen Sandboxing-Tool und seinem Verifier-System zurückzuführen. Die Bemühungen, den Vorfall zu analysieren und zu mildern, haben gezeigt, wie wichtig ein starker Überprüfungsprozess ist. Dies würde verhindern, dass Sicherheitslücken die Systemstabilität gefährden.
Im Gegensatz zu eBPF funktionieren proprietäre Sandbox-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: Die Argumente für eBPF
Diese gegensätzlichen Vorfälle zeigen, wie wichtig es ist, ein gemeinsames, offenes System für die Ausführung von sicherem Code zu verwenden.
Der kollaborative Ansatz von eBPF schafft eine starke Grundlage für die Verbesserung der Sicherheitstools auf verschiedenen Plattformen. Durch die Verwendung einer einzigen VM und eines in das Betriebssystem integrierten Verifizierers 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, 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 den branchenweit bewährten Ansatz von eBPF.
Die Bemühungen, die Sicherheitsgrundlagen mehrerer Betriebssysteme mit einer sicheren Kernelintegration 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 entwickeln, die auf verschiedenen Betriebssystemen funktionieren.
Was eBPF für die Zukunft der Cybersicherheit bedeutet
Aktuelle Probleme mit Sicherheitstools zeigen, wie die Einführung von eBPF der Cyberbranche zugute kommen könnte. Mit seinem offenen und kollaborativen Modell könnten Unternehmen die potenziellen Vorteile der Integration von eBPF in ihre Lösungen in Betracht ziehen.
Durch die Verwendung von eBPF würde sich die Verantwortung für Systemabstürze, wie z. B. Kernelpaniken, auf den Betriebssystemanbieter verlagern. Sie sind besser gerüstet, um diese Probleme zu lösen 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 zur Verfügung zu stellen. Diese Methode unterstützt das Ziel, schnelle Verbesserungen ohne Abstriche bei der Sicherheit zu ermöglichen.
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 zu fördern 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 Sandbox-VMs und Verifier geben Unternehmen zwar mehr Kontrolle und Anpassungsmöglichkeiten, sind aber auch von umfassenderen Sicherheitsverbesserungen abgeschnitten. Auf der anderen Seite schafft der offene und kollaborative Ansatz von eBPF ein stärkeres System, das eine ständige Verbesserung und gemeinsame Sicherheitsvorteile ermöglicht.
Da sich die Branche weiterentwickelt, können Modelle wie eBPF, die die Zusammenarbeit fördern, und Standardisierung dazu beitragen, stärkere und sicherere Systeme zu schaffen. Unternehmen können stark davon profitieren, wenn sie ihre Tools um eBPF erweitern und das gemeinsame Wissen der Community nutzen, um die Sicherheit zu verbessern.
Mit diesem Geist der Zusammenarbeit sieht die Zukunft der Cybersicherheit für alle besser und sicherer aus.
Nehmen Sie noch heute Kontakt mit uns auf um mehr über die Illumio Zero Trust Segmentation Platform zu erfahren.