Na het Windows Subsystem for Linux (WSL), dat goed is ontvangen door de verschillende gebruikers van het besturingssysteem, Microsoft besloot een andere belangrijke technologie van de Linux-gemeenschap te lenen, eBPF (Berkeley Extended Packet Filter) en breng het naar Windows.
Het bedrijf zei dat het geen afsplitsing van eBPF zou zijn, Ja, dit wordt gebruikt in bestaande projecten, waaronder het IOVisor uBPF-project en de PREVAIL-verificator, om eBPF-API's en -programma's op hun eigen besturingssystemen uit te voeren, inclusief Windows 10 en Windows Server 2016 (of hoger).
In de afgelopen vijf jaar is Microsoft, dat aan het begin van dit millennium nog steeds Linux zag als de kanker van de computerindustrie, een van de grootste bijdragers aan de ontwikkeling van de kernel geworden.
Met WSL maakte hij de weg vrij voor meerdere applicaties op Windows, waardoor sysadmins en programmeurs Linux-tools en -services rechtstreeks vanuit Windows konden gebruiken zonder iets anders te virtualiseren of complexe infrastructuren te bouwen.
Nu kiest Microsoft ervoor om eBPF toe te voegen aan Windows, zoals dit is een technologie die bekend staat om zijn programmeervermogen en behendigheid, vooral om de kernel van een besturingssysteem uit te breiden, voor use cases zoals bescherming tegen DoS-aanvallen en observeerbaarheid.
Het is een op register gebaseerde virtuele machine ontworpen om te draaien op een 64-bits aangepaste RISC-architectuur via JIT-compilatie op de Linux-kernel. Als zodanig zijn eBPF-programma's bijzonder goed geschikt voor het debuggen en analyseren van systemen, zoals het bewaken van bestandssystemen en logboekoproepen.
De relatie van eBPF met de Linux-kernel is vergeleken met de relatie van JavaScript met webpagina's, maakt het mogelijk om het gedrag van de Linux-kernel te wijzigen door een actief eBPF-programma te laden, zonder de kernelbroncode te wijzigen of een kernelmodule te laden.
eBPF vertegenwoordigt een van de grootste Linux-kernelinnovaties van het afgelopen decennium. En omdat er enige interesse was om de technologie aan te passen aan andere besturingssystemen, besloot Microsoft Windows-software een kans te geven. Het project, genaamd ebpf-for-windows, is open source en beschikbaar op GitHub.
"Het ebpf-for-windows-project is bedoeld om ontwikkelaars in staat te stellen de vertrouwde eBPF-toolchains en Application Programming Interfaces (API's) te gebruiken in bestaande versies van Windows", aldus Dave Thaler in een blogpost van maandag, Microsoft Associate Software Engineer, en Poorna Gaddehosur, Senior software-ingenieur van Microsoft.
"Gebaseerd op het werk van anderen, neemt dit project verschillende bestaande open source eBPF-projecten en voegt de middelste laag toe om bovenop Windows te draaien."
Het bedrijf noemt het geen eBPF-vork. Daarom kunnen Windows-ontwikkelaars tools zoals clang gebruiken om de bytecode te genereren.
eBPF van de broncode die in elke toepassing kan worden ingevoegd of kan worden gebruikt met de Windows netsh-opdrachtregel. Volgens het bedrijf gebeurt dit via een gedeelde bibliotheek die gebruik maakt van de Libbpf API's.
De bibliotheek geeft de EBPF-bytecode door via de PREVAIL in een Windows-beveiligingsomgeving die een kernelcomponent in staat stelt een gebruikersmodusdaemon te vertrouwen die is ondertekend met een vertrouwde sleutel.
Microsoft-ingenieurs zeggen dat het project bedoeld is om ondersteuning te bieden voor eBPF-code met behulp van hooks en helpers die zowel in Linux als Windows bestaan.
"Linux biedt veel links en helpers, waarvan sommige erg Linux-specifiek zijn (bijvoorbeeld door gebruik te maken van interne Linux-datastructuren) die niet van toepassing zouden zijn op andere platforms", zeiden ze.
Eindelijk Als u er meer over wilt weten, u kunt de details controleren In de volgende link. Terwijl degenen die geïnteresseerd zijn in het kunnen bekijken van de eBPF-repository op GitHub, dit kunnen doen vanaf de volgende link.