Microsoft arbetar för att få utökat stöd för Berkeley Packet Filter (eBPF) till Windows

Lästid ikon 2 min. läsa


Läsare hjälper till att stödja MSpoweruser. Vi kan få en provision om du köper via våra länkar. Verktygstipsikon

Läs vår informationssida för att ta reda på hur du kan hjälpa MSPoweruser upprätthålla redaktionen Läs mer

ZDNet rapporterar att Microsoft arbetar för att föra Linux-säkerhetsverktyget utökade Berkeley Packet Filter (eBPF) till Windows 10.

Verktyget kan för närvarande köras på Windows SubSystem för Linux, men Microsoft arbetar med inbyggt stöd, med problemet att verktyget kör kod i kärnkontexten, vilket ger upphov till alla typer av säkerhetskomplikationer.

Arbetet kan dock vara värt det, eftersom eBPF används flitigt i nätverksfiltrering, analys och hantering och även för systemanropsfiltrering och processkontextspårning och utgör grunden för flera säkerhetsapplikationer som Cilium, Falco och Tracee; Kubernetes observationsprogram som Hubble och Pixie, och verktygskedjor som Clang.

ebpf-for-windows-projektet syftar till att ta flera befintliga eBPF-projekt med öppen källkod och lägger till "limmet" för att få dem att köras på Windows.

Som visas i diagrammet kan befintliga eBPF-verktygskedjor (clang, etc.) användas för att generera eBPF-bytekod från källkod på olika språk. Bytekod kan konsumeras av vilken applikation som helst, eller via kommandoradsverktyget Netsh, som använder ett delat bibliotek som exponerar Libbpf API:er, även om detta fortfarande pågår.

eBPF-bytekoden skickas till en statisk verifierare (PREVAIL-verifieraren) som är värd i en användarlägesskyddad process (en Windows-säkerhetsmiljö som tillåter en kärnkomponent att lita på en användarlägesdemon signerad av en nyckel som den litar på). Om bytekoden klarar alla verifieringskontroller kan den antingen laddas in i en tolk (från uBPF i kärnlägesexekveringskontexten), eller JIT-kompileras (via uBPF JIT-kompilatorn) och ha inbyggd kod inläsning i kärnlägesexekveringen sammanhang (men se FAQ längst ner om HVCI).

eBPF-program installerade i kärnlägesexekveringskontexten kan kopplas till olika hooks (för närvarande två hooks hittills: XDP och en socket bind-hook) och anropa olika hjälpar-API:er som exponeras av eBPF-shim, som internt omsluter offentliga Windows-kärn-API:er, vilket gör att användning av eBPF på befintliga versioner av Windows. Fler krokar och hjälpare kommer att läggas till med tiden.

Slutresultatet blir en Windows-specifik värdmiljö för eBPF som skulle tillåta Windows-utvecklare att använda eBPF-program med öppen källkod utan att behöva koda om.

Kolla in ebpf-for-windows-projekt på GitHub här.

Mer om ämnena: eGMP, microsoft, Windows 10

Kommentera uppropet

E-postadressen publiceras inte. Obligatoriska fält är markerade *