Der extended Berkeley Packet Filter (eBPF) siebt Datenpakete aus Netzwerken und bettet sie in den Betriebssystemkern ein. Die Technologie unterstützt Anwender bei der Administration und Absicherung von Rechnern und Netzwerken. Was Administratoren und Sicherheitsteams jedoch nur selten ausreichend berücksichtigen: Der Paketfilter hat zahlreiche Schwachstellen, die leicht von Hackern für einen Cyberangriff missbraucht werden können.
Der extended Berkeley Packet Filter ist eine Special Purpose Virtual Machine, mit der Sandbox-Programme in einem privilegierten Kontext, wie dem Betriebssystem-Kernel, ausgeführt werden können. Er bildet eine Schnittstelle zu Sicherungsschichten von Dateneinheiten. Die Technologie unterstützt sowohl bei der Administration, als auch bei der Absicherung von Rechnern und Netzwerken. So können mit dem eBPF Datenpakete gefiltert und eine Verlangsamung der PC-und Netzwerk-Performance aufgrund irrelevanter Daten verhindert werden. Unbrauchbare oder fehlerhafte Datensätze lassen sich von vornherein ablehnen oder reparieren. Auch erlaubt eBPF den Einsatz neuer Firewall- und Intrusion Detection-Lösungen, die Abwehr von DDoS-Angriffen sowie die Durchführung von Audits zu Anwendungen und Betriebssystem-Funktionen. Damit ist eBPF eine wertvolle Stütze bei der Abwehr von Cyberangriffen. Doch der Datenfilter hat auch zahlreiche Schwachstellen. Und die können sich Cyberkriminelle leicht zunutze machen – häufig unbemerkt von Sicherheitsteams und Sicherheitstools.
Beispielsweise können Angreifer eBPF-Verifizierer ins Visier nehmen, die eBPF-Programme im Kernel-Kontext validieren. Entdecken sie dann eine Schwachstelle im Kernel, über die sich ein nicht autorisierter Code ausführen lässt, können sie ein Privilege Escalation-Szenario einleiten. Über dieses erhöhen sie die Zugriffsberechtigungen, um einen umfassenderen Angriff zu starten; beispielsweise einen Container oder Sandbox Escape. Der Angreifer gelangt dann von dem geschlossenen Anwendungspaket auf den diesem zugrunde liegenden Host, von wo er seitlich in andere geschlossene Anwendungspakete vorstoßen oder Aktionen auf dem Host selbst durchführen kann.
Ein anderer Ansatzpunkt für Angreifer besteht darin, eBPF-Programme zu verwenden, um ein Rootkit auf dem Computer eines Opfers zu installieren und sich im Kern des Betriebssystems einzunisten. Um erfolgreich – unentdeckt von Sicherheitsteams und Sicherheitslösungen – mit eBPF-Rootkits zu operieren, muss der Angreifer sich nur über einen Tracepoint-Hookpoint am Eingang eines Systemaufrufs einklinken, um unbemerkt Zugriff auf alle Systemaufrufparameter zu erlangen.
Das installierte Rootkit ist dann in der Lage, XDP- und TC-Infrastrukturen zu nutzen, um den Zugang und die Kommunikation zu manipulieren oder sensible Daten aus dem Netzwerk zu extrahieren. Es kann sich tarnen, über verschiedene Hook-Points persistieren, die Prozessrechte erhöhen und sogar Hintertüren erstellen. Solche ‚eBPF-Malware‘ ist ein echtes Problem. Denn die meisten traditionellen Lösungen zum Endpunktschutz können sie nicht erkennen. Wie leicht Hacker eBPF-Rootkits unbemerkt in einer Linux-Umgebung zur Anwendung bringen können, hat Gal Yaniv, Mitarbeiter in Cymulates SecDev-Team, erst vor kurzem in einem Blogbeitrag aufgezeigt.
Und dennoch: immer häufiger kommt in IT-Infrastrukturen eBPF als Paketfilter zum Einsatz – ohne größere sicherheitstechnische Bedenken von Seiten der Administratoren, der IT- und IT-Sicherheitsteams. Da eBPF-Rootkits für traditionelle Endpunktsicherheitslösungen quasi unsichtbar sind, sind sie sich der Risiken, die sich aus dem Einsatz eines eBPF-Paketfilters ergeben, meist nicht bewusst. Ihnen kann nur geraten werden, hier endlich die Initiative zu ergreifen und eBPF stärker in den Blick zu nehmen. Um wirklich sicherzugehen, dass IT-Umgebungen vor dieser Art von Angriffen geschützt sind, hilft, wie auch schon Gal Yaniv festgestellt hat, nur eines: emulieren, emulieren und nochmals emulieren.
Autor: Martin Tran, Sales Engineer DACH, Central & Eastern Europe (Cymulate)