Mit dem extended Berkeley Packet Filter, kurz eBPF, kann auf Linux-Systemen Code im Kernel ausgeführt werden. Dadurch werden verschiedene Anwendungen aus Bereichen wie Networking, Sicherheit oder Observability auf einer niedrigeren Systemebene ermöglicht.
Die eBee ist das offizielle Logo von eBPF und wurde ursprünglich von Vadim Shchekoldin entworfen.
Der extended Berkeley Packet Filter (eBPF) ist eine Technologie, mit der auf Linux-Systemen Analysen maschinennah ausgeführt werden können, ohne die Sicherheit oder Funktion des Systems zu gefährden. Er wurde 2014 entwickelt und ging aus dem in den 90er Jahren veröffentlichten Berkeley Packet Filters (BPF) hervor.
Der BPF wurde seinerzeit entwickelt, um genauere Kontrolle über den Netzwerkverkehr eines Systems zu bekommen. Er ermöglichte es, den Netzwerkverkehr zu analysieren und eigene Filterregeln auf die Pakete anzuwenden. Der auf dieser Basis entwickelte eBPF baut die Fähigkeiten des BPF weiter aus. Es handelt sich um ein Open-Source-Projekt mit einer aktiven Community.
Funktionsweise des eBPF
Der eBPF ermöglicht das sichere Ausführen von benutzerdefiniertem Code im Kernel und erlaubt Entwicklern tiefe Einblicke in das Verhalten eines Systems. Das Besondere ist, dass all das möglich ist, ohne dabei etwas am Code des Kernels ändern zu müssen. Möglich wird das dadurch, dass der eBPF eine Art virtuelle Maschine auf Ebene des Kernels aufbaut. So können Anweisungen direkt im Kernel ausgeführt werden und unmittelbar an dessen Funktionen anknüpfen.
Die virtuelle Maschine bringt dabei einige Sicherheitsfunktionen mit, um die Integrität und Sicherheit des Kernels zu bewahren. eBPF-Programme laufen grundsätzlich isoliert vom Rest des Betriebssystems und erhalten damit keinen generellen Zugriff auf den Kernel. Es werden zudem nur Programme ausgeführt, die zuvor als sicher und gültig eingestuft wurden.
Die virtuelle Maschine des eBPF bringt dafür einen eigenen Verifier mit, welcher ein strenges Regelwerk für eBPF-Programme durchsetzt. Vor der Ausführung prüft der Verifier verschiedene Eigenschaften, z. B. ob das Programm das System beschädigen oder zum Absturz bringen könnte oder ob eine Endlosschleife das Erreichen des Programmendes verhindern würde.
Vorteile des eBPF
Der eBPF bietet Entwicklern und Entwicklerinnen viele Vorteile von effizienterer Arbeitsweise bis zu erhöhter Sicherheit trotz systemnaher Operationen.
Effizienteres Arbeiten
Die Funktionen, die der eBPF ermöglicht, könnten auch auf andere Weise realisiert werden, z. B. über Anwendungen, die im User Space arbeiten. Der eBPF arbeitet direkt im Kernel Space und ist damit direkt auf der untersten Ebene des Systems aktiv. Dadurch kann er deutlich effizienter arbeiten als ein Programm, das auf höheren und weiter abstrahierten Ebenen des Systems arbeiten. Weil er so nahe am Kernel eingesetzt wird, vermeidet er unnötige Paketkopien, was ihn vor allem bei Anfragen nach spezifischen Paketen merklich effizienter macht.
Schnelle, plattformunabhängige Verarbeitung
eBPF-Anwendungen nutzen einen JIT-Compiler, werden also zur Laufzeit kompiliert. Beim Kompilieren wird auch die jeweilige Plattform mit einbezogen, sodass für jede Plattform die passenden Anweisungen erstellt werden. Das bedeutet, dass Programmierer mit eBPF plattformunabhängig arbeiten können. Alternativ kann plattformspezifischer Bytecode direkt per Interpreter verarbeitet werden.
Kein direkter Eingriff in den Kernel
Der eBPF erlaubt zur Laufzeit Operationen, für die man normalerweise in den Quellcode von Kernel-Modulen eingreifen müsste. Durch die Virtualisierung muss der Quellcode nicht dauerhaft verändert werden. Stattdessen wird dynamisch ins System eingegriffen, wenn der Bedarf dafür entsteht. Die Veränderungen sind jederzeit reversibel und haben über die Laufzeit des eBPF-Programms hinaus keinen Bestand.
Erhöhte Sicherheit
Der Verifier der eBPF-VM lässt nicht zu, dass sicherheitskritischer Code ausgeführt wird. Auch Funktionen wie Endlosschleifen, die die Stabilität des Kernels gefährden könnten, werden abgewiesen. Gerade im Vergleich mit individuell programmierten Kernelmodulen bietet die strikte Prüfung durch den Verifier eine höhere Sicherheit.
Anwendungsgebiete des eBPF
Der eBPF hat in einigen Szenarien echte Vorteile zu bieten. Im Zusammenhang mit Containerumgebungen wie Kubernetes oder Docker können z. B. komplexe Sicherheitsrichtlinien oder individuelle, performante Netzwerkdatenpfade realisiert werden. Allgemein kann eBPF mit jeder Kernelfunktion arbeiten und Funktionen in folgenden Bereichen realisieren:
Observability, z. B. Überwachung der Performance von Anwendungen
Sicherheit, z. B. Überwachung oder Abwehr von Bedrohungen
Leistungsoptimierung, z. B. Optimierung der Leistung von Dateisystemen
Cloudoptimierung, z. B. Realisierung von Netzwerk- und Sicherheitsfunktionen in Cloud-Anwendungen
Einschränkungen des eBPF
Es gibt auch Szenarien, in denen der eBPF unvorteilhaft sein kann. Wenn Ressourcen wie CPU-Zyklen knapp oder teuer sind, könnte der eBPF im Vergleich zu einfacheren Tools wie IPTables im Nachteil sein. eBPF-Anwendungen können einen hohen Ressourcenbedarf zur Konsequenz haben, sodass in manchen Konstellationen eine andere Lösung wirtschaftlicher wäre. Zudem muss bedacht werden, dass aus Sicherheitsgründen bestimmte Kontrollstrukturen wie Schleifen unzulässig sind. Dadurch werden die Möglichkeiten beschränkt, die ein Programmierer mit eBPF nutzen kann. Für komplexe Szenarien kann ein eigenes Kernel-Modul die flexiblere Wahl sein.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Fazit
eBPF ist ein nützliches Werkzeug, das wertvolle Überwachungs- und Analysefunktionen für Pakete unter Linux einfacher, sicherer und effizienter macht. Die Technologie erfreut sich wachsender Beliebtheit und wird von Größen wie Google, Netflix, Meta, Apple oder Android produktiv genutzt. Es werden immer weitere Tools entwickelt, die die Prinzipien des eBPF nutzen, z. B. Cilium. Das Projekt „eBPF for Windows“ arbeitet daran, die immer beliebter werdenden Fähigkeiten von eBPF auch auf modernen Windows-Systemen verfügbar zu machen.