eBPF: Wie der Kernel programmierbar wurde
eBPF macht den Linux-Kernel sicher programmierbar, was neue Möglichkeiten in den Bereichen Networking, Security und Observability eröffnet hat.
(Bild: Ulrike Weis / KI / heise medien)
- Max Schmidt
- Kathrin Stoll
eBPF – die Abkürzung steht für extended Berkley Packet Filter – ermöglicht es, stark kontrollierte Programme in einem sicheren, virtuellen Ausführungsraum direkt im Kernel auszuführen. Vorstellen kann man sich eBPF als eine strikt typisierte, sehr kleine Assembly-Sprache plus Runtime (alternativ auch als VM), die direkt im Linux-Kernel sitzt und es ermöglicht, kleine, kontrollierte Programme an sogenannte „Hook Points“ im Kernel anzuhängen. Diese Programme können Daten inspizieren, aggregieren, modifizieren oder Aktionen auslösen.
Teil von eBPF ist ein sogenannter Verifizierer (englisch Verifier), der die Programme vor ihrer Ausführung auf Korrektheit und Sicherheit prüft, sodass Endlosschleifen, Speicherfehler oder unerlaubte Zugriffe zuverlässig verhindert werden. Nach bestandener Prüfung wandelt ein Just-in-Time-Compiler (JIT-Compiler) die Programme in hochoptimierten Maschinencode um. Diese Funktionsweise macht es möglich, das Kernel- und Systemverhalten ohne Neustart zu erweitern und zu überwachen, ohne den gesamten Kernel neu kompilieren zu müssen oder fehleranfällige Kernel-Module nachzuladen.
- Durch eBPF wurde der Linux-Kernel sicher programmierbar.
- Das hat neue Möglichkeiten in den verschiedensten Bereichen der IT eröffnet, die prominenteste ist die Cloud.
- eBPF wird von der IETF standardisiert, um eBPF-Programme künftig über den Linux-Kernel hinaus lauffähig zu machen.
Dadurch eignet es sich zum Beispiel fĂĽr Echtzeitfehlerdiagnosen beim Streaminganbieter Netflix, fĂĽr Load Balancing bei Meta und zur Abwehr von Angriffen bei Cloudflare. In modernen Kubernetes-gestĂĽtzten Cloudinfrastrukturen sorgt eBPF fĂĽr schnelles Routing und die Durchsetzung von Netzwerk-Policies und auf moderneren Androiden ĂĽberwacht es den Datenverbrauch Ihrer Apps.
Das war die Leseprobe unseres heise-Plus-Artikels "eBPF: Wie der Kernel programmierbar wurde". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.