Microsoft připravil implementaci eBPF pro Windows

Microsoft představen nedávno prostřednictvím příspěvku implementace subsystému eBPF pro Windows což vám umožňuje spouštět libovolné ovladače, které běží na úrovni jádra operačního systému.

eGMP poskytuje integrovaný bytecode interpreter v jádře k vytvoření síťových ovladačů naložených v uživatelském prostoru, kontroly přístupu a monitorování systému. eBPF je součástí jádra Linuxu od verze 3.18 a umožňuje zpracovávat příchozí / odchozí síťové pakety, přeposílat pakety, řídit šířku pásma, zachytit systémová volání, řídit přístup a sledovat.

Prostřednictvím kompilace JIT je bajtový kód za běhu přeložen do strojových pokynů a běží s výkonem kompilovaného kódu. EBPF pro Windows je otevřený zdroj pod licencí MIT.

Dnes s potěšením oznamujeme nový projekt open source od společnosti Microsoft, který má zajistit, aby eBPF fungoval ve Windows 10 a Windows Server 2016 a novějších verzích. Projekt ebpf-for-windows si klade za cíl umožnit vývojářům používat známé existující sady nástrojů eBPF a aplikační programovací rozhraní (API) nad rámec existujících verzí systému Windows. Na základě práce ostatních tento projekt přebírá několik existujících projektů eBPF s otevřeným zdrojovým kódem a přidává „lepidlo“ k jejich spuštění v systému Windows.

eBPF pro Windows lze použít se stávajícími nástroji eBPF a poskytuje obecné API, které se používá pro aplikace eBPF v systému Linux.

Zejména projekt umožňuje kompilovat kód napsaný v C do bytecode eBPF pomocí standardního kompilátoru eBPF založeného na Clangu a spusťte ovladače eBPF již postavené pro Linux na jádře Windows, který poskytuje speciální vrstvu kompatibility a podporuje standardní API Libbpf pro kompatibilitu s aplikacemi, které interagují s programy eBPF.

To zahrnuje střední vrstvy, které poskytují vazby podobné Linuxu pro XDP (eXpress Data Path) a vazby soketů, které shrnují přístup k síťovému zásobníku Windows a síťovým ovladačům. Cílem plánů je poskytnout plnou podporu na úrovni zdroje pro obecné ovladače Linux eBPF.

Klíčovým rozdílem v implementaci eBPF pro Windows je použití alternativního kontroléru bytecode, který původně navrhli zaměstnanci a vědci z VMware z kanadských a izraelských univerzit.

Ověřovatel se spouští v samostatném izolovaném procesu v uživatelském prostoru a používá se před spuštěním programů BPF k detekci chyb a blokování potenciální škodlivé aktivity.

Pro ověření, eBPF pro Windows používá metodu statické analýzy abstraktní interpretace, co, Ve srovnání s eBPF Checker pro Linux vykazuje nižší míru falešně pozitivních výsledků, podporuje analýzu smyček a poskytuje dobrou škálovatelnost. Metoda bere v úvahu mnoho typických vzorců výkonu získaných analýzou stávajících programů eBPF.

eBPF je známá, ale revoluční technologie, která poskytuje programovatelnost, rozšiřitelnost a hbitost. eBPF byl použit pro případy použití, jako je odmítnutí ochrany služby a pozorovatelnost.

V průběhu času byl kolem eBPF vybudován významný ekosystém nástrojů, produktů a odborných znalostí. Ačkoli byla podpora pro eBPF poprvé implementována v linuxovém jádře, vzrostl zájem o umožnění použití eBPF v jiných operačních systémech a také o rozšíření démonů a služeb v uživatelském režimu kromě jádra.

Po ověření bytecode je předán tlumočníkovi na úrovni jádra, nebo je předán kompilátorem JIT, následovaný spuštěním výsledného strojového kódu s právy jádra. K izolaci ovladačů eBPF na úrovni jádra se používá mechanismus HVCI (HyperVisor Enhanced Code Integrity), který využívá virtualizační nástroje k ochraně procesů v jádře a zajišťuje, že integrita spuštěného kódu je digitálně podepsána.

Jedním z omezení HVCI je schopnost kontrolovat pouze interpretované programy eBPF a neschopnost je používat ve spojení s JIT (máte na výběr: další výkon nebo ochrana).

Konečně pokud se o tom chcete dozvědět více, můžete se poradit následující odkaz.


Zanechte svůj komentář

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

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.