Microsoft jobber med å bringe utvidet støtte for Berkeley Packet Filter (eBPF) til Windows

Ikon for lesetid 2 min. lese


Lesere hjelper til med å støtte MSpoweruser. Vi kan få provisjon hvis du kjøper gjennom lenkene våre. Verktøytipsikon

Les vår avsløringsside for å finne ut hvordan du kan hjelpe MSPoweruser opprettholde redaksjonen Les mer

ZDNet rapporterer at Microsoft jobber med å bringe Linux-sikkerhetsverktøyet utvidet Berkeley Packet Filter (eBPF) til Windows 10.

Verktøyet kan for øyeblikket kjøres på Windows SubSystem for Linux, men Microsoft jobber med innebygd støtte, med problemet at verktøyet kjører kode i kjernekonteksten, noe som gir alle slags sikkerhetskomplikasjoner.

Arbeidet kan imidlertid være verdt det, ettersom eBPF er mye brukt i nettverksfiltrering, analyse og administrasjon og også for systemanropsfiltrering og prosesskontekstsporing og danner grunnlaget for flere sikkerhetsapplikasjoner som Cilium, Falco og Tracee; Kubernetes observasjonsprogrammer som Hubble og Pixie, og verktøykjeder som Clang.

ebpf-for-windows-prosjektet tar sikte på å ta flere eksisterende eBPF åpen kildekode-prosjekter og legger til "limet" for å få dem til å kjøre på Windows.

Som vist i diagrammet kan eksisterende eBPF-verktøykjeder (clang, etc.) brukes til å generere eBPF-bytekode fra kildekoden på forskjellige språk. Bytekode kan konsumeres av hvilken som helst applikasjon, eller via Netsh-kommandolinjeverktøyet, som bruker et delt bibliotek som avslører Libbpf APIer, selv om dette fortsatt pågår.

eBPF-bytekoden sendes til en statisk verifikator (PREVAIL-verifikatoren) som er vert for en brukermodusbeskyttet prosess (et Windows-sikkerhetsmiljø som lar en kjernekomponent stole på en brukermodusdemon signert av en nøkkel den stoler på). Hvis bytekoden består alle verifikatorens kontroller, kan den enten lastes inn i en tolk (fra uBPF i kjernemodusutførelseskonteksten), eller JIT-kompileres (via uBPF JIT-kompilatoren) og ha innfødt kodeinnlasting inn i kjernemodusutførelsen kontekst (men se FAQ nederst om HVCI).

eBPF-programmer installert i kjernemodus-utførelseskonteksten kan kobles til forskjellige kroker (for øyeblikket to kroker så langt: XDP og en socket bind-hook) og kalle forskjellige hjelpe-API-er som er eksponert av eBPF-shim, som internt omslutter offentlige Windows-kjerne-APIer, slik at bruk av eBPF på eksisterende versjoner av Windows. Flere kroker og hjelpere vil bli lagt til etter hvert.

Sluttresultatet vil være et Windows-spesifikt vertsmiljø for eBPF som vil tillate Windows-utviklere å bruke åpen kildekode eBPF-programmer uten å måtte kode om.

Sjekk ut ebpf-for-windows-prosjektet på GitHub her.

Mer om temaene: eGMP, microsoft, Windows 10

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *