Microsoft werkt eraan om uitgebreide ondersteuning voor Berkeley Packet Filter (eBPF) naar Windows te brengen

Pictogram voor leestijd 2 minuut. lezen


Lezers helpen MSpoweruser ondersteunen. We kunnen een commissie krijgen als u via onze links koopt. Tooltip-pictogram

Lees onze openbaarmakingspagina om erachter te komen hoe u MSPoweruser kunt helpen het redactieteam te ondersteunen Lees meer

ZDNet-rapporten dat Microsoft eraan werkt om de Linux-beveiligingstool Berkeley Packet Filter (eBPF) naar Windows 10 te brengen.

De tool kan momenteel worden uitgevoerd op Windows SubSystem voor Linux, maar Microsoft werkt aan native ondersteuning, met als probleem dat de tool code uitvoert in de kernelcontext, wat allerlei beveiligingscomplicaties met zich meebrengt.

Het werk kan echter de moeite waard zijn, aangezien eBPF veel wordt gebruikt bij netwerkfiltering, -analyse en -beheer en ook voor filtering van systeemoproepen en procescontexttracering en vormt de basis van meerdere beveiligingstoepassingen zoals Cilium, Falco en Tracee; Kubernetes-observatieprogramma's zoals Hubble en Pixie, en toolchains zoals Clang.

Het ebpf-for-windows-project heeft tot doel verschillende bestaande eBPF open-sourceprojecten te nemen en de "lijm" toe te voegen om ze op Windows te laten draaien.

Zoals in het diagram te zien is, kunnen bestaande eBPF-toolchains (clang, enz.) worden gebruikt om eBPF-bytecode te genereren uit broncode in verschillende talen. Bytecode kan door elke toepassing worden gebruikt, of via de Netsh-opdrachtregeltool, die een gedeelde bibliotheek gebruikt die Libbpf-API's blootlegt, hoewel dit nog in uitvoering is.

De eBPF-bytecode wordt verzonden naar een statische verifier (de PREVAIL-verifier) ​​die wordt gehost in een door de gebruikersmodus beschermd proces (een Windows-beveiligingsomgeving waarin een kernelcomponent een gebruikersmodusdaemon kan vertrouwen die is ondertekend door een sleutel die hij vertrouwt). Als de bytecode alle verificatiecontroles doorstaat, kan deze ofwel in een interpreter worden geladen (van uBPF in de uitvoeringscontext in de kernelmodus), of JIT gecompileerd (via de uBPF JIT-compiler) en native code laten laden in de uitvoering in de kernelmodus context (maar zie de FAQ onderaan over HVCI).

eBPF-programma's die in de uitvoeringscontext van de kernelmodus zijn geïnstalleerd, kunnen hechten aan verschillende hooks (momenteel twee hooks tot nu toe: XDP en een socketbind-hook) en verschillende helper-API's aanroepen die worden blootgelegd door de eBPF-shim, die intern openbare Windows-kernel-API's omhult, waardoor de gebruik van eBPF op bestaande versies van Windows. Meer haken en helpers zullen in de loop van de tijd worden toegevoegd.

Het eindresultaat is een Windows-specifieke hostingomgeving voor eBPF waarmee Windows-ontwikkelaars open-source eBPF-programma's kunnen gebruiken zonder te hoeven hercoderen.

Check out de ebpf-for-windows-project op GitHub hier.

Meer over de onderwerpen: eBPPF, microsoft, Windows 10

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *