Microsoft pracuje na zavedení rozšířené podpory Berkeley Packet Filter (eBPF) do Windows

Ikona času čtení 2 min. číst


Čtenáři pomáhají podporovat MSpoweruser. Pokud nakoupíte prostřednictvím našich odkazů, můžeme získat provizi. Ikona popisku

Přečtěte si naši informační stránku a zjistěte, jak můžete pomoci MSPoweruser udržet redakční tým Dozvědět se více

ZDNet zprávy že Microsoft pracuje na zavedení rozšířeného bezpečnostního nástroje pro Linux Berkeley Packet Filter (eBPF) do Windows 10.

Tento nástroj lze v současné době spustit na Windows SubSystem for Linux, ale Microsoft pracuje na nativní podpoře, problém je v tom, že nástroj spouští kód v kontextu jádra, což vyvolává nejrůznější bezpečnostní komplikace.

Tato práce však může stát za to, protože eBPF se široce používá při filtrování, analýze a správě sítě a také pro filtrování systémových volání a sledování kontextu procesů a tvoří základ mnoha bezpečnostních aplikací, jako jsou Cilium, Falco a Tracee; Pozorovací programy Kubernetes jako Hubble a Pixie a toolchainy jako Clang.

Projekt ebpf-for-windows si klade za cíl převzít několik existujících projektů eBPF s otevřeným zdrojovým kódem a přidat „lepidlo“, aby byly spuštěny ve Windows.

Jak je znázorněno na diagramu, existující nástrojové řetězce eBPF (clang atd.) lze použít ke generování bajtového kódu eBPF ze zdrojového kódu v různých jazycích. Bytecode může být spotřebován libovolnou aplikací nebo pomocí nástroje příkazového řádku Netsh, který používá sdílenou knihovnu, která odhaluje rozhraní API Libbpf, i když to stále probíhá.

Bajtkód eBPF je odeslán statickému ověřovateli (verifikátor PREVAIL), který je hostován v procesu chráněném v uživatelském režimu (prostředí zabezpečení Windows, které umožňuje komponentě jádra důvěřovat démonovi uživatelského režimu podepsanému klíčem, kterému důvěřuje). Pokud bajtový kód projde všemi kontrolami ověřovače, může být buď načten do interpretru (z uBPF v kontextu provádění v režimu jádra), nebo zkompilován JIT (prostřednictvím kompilátoru uBPF JIT) a nechat načíst nativní kód do provádění v režimu jádra. kontextu (ale viz FAQ o HVCI dole).

Programy eBPF nainstalované do kontextu provádění režimu jádra se mohou připojit k různým háčkům (v současnosti jsou to dva háčky: XDP a háček na vazbu zásuvek) a volat různá pomocná rozhraní API vystavená shimem eBPF, který interně obaluje veřejná rozhraní API jádra Windows, což umožňuje použití eBPF na stávajících verzích Windows. Postupem času přibudou další háčky a pomocníci.

Konečným výsledkem bude hostitelské prostředí pro eBPF specifické pro Windows, které by vývojářům Windows umožnilo používat programy eBPF s otevřeným zdrojovým kódem bez nutnosti překódování.

Podívejte se na Projekt ebpf-for-windows na GitHubu zde.

Více o tématech: eGMP, microsoft, Windows 10

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *