Microsoft chce rozšířit eBPF z linuxového jádra na Windows

Po subsystému Windows pro Linux (WSL), který byl dobře přijat různými uživateli operačního systému, Microsoft se rozhodl vypůjčit si od linuxové komunity další důležitou technologii, eBPF (Berkeley Extended Packet Filter) a přenést jej do Windows.

La compañía řekl, že to nebude vidlice eBPF, Ano, toto bude použito ve stávajících projektech, včetně projektu IOVisor uBPF a ověřovatele PREVAIL, ke spuštění eBPF API a programů na jejich vlastních operačních systémech, včetně Windows 10 a Windows Server 2016 (nebo vyšších).

Za posledních pět let se společnost Microsoft, která na začátku tohoto tisíciletí stále viděla Linux jako rakovinu počítačového průmyslu, stala jedním z největších přispěvatelů k vývoji jádra.

S WSL připravil cestu pro více aplikací v systému Windows a umožnil systémovým administrátorům a programátorům používat nástroje a služby Linux přímo z Windows, aniž by museli virtualizovat cokoli jiného nebo budovat složité infrastruktury.

Nyní se Microsoft rozhodl přidat eBPF do Windows, as Jedná se o technologii dobře známou svou programovatelností a hbitostí, zejména k rozšíření jádra operačního systému, pro případy použití, jako je ochrana před útoky DoS a pozorovatelnost.

Je to virtuální stroj založený na registru navrženo pro provoz na 64bitové vlastní architektuře RISC prostřednictvím kompilace JIT v linuxovém jádře. Programy eBPF jsou obzvláště vhodné pro ladění a analýzu systému, jako je monitorování systému souborů a protokolování hovorů.

Vztah eBPF k linuxovému jádru byl srovnáván se vztahem JavaScriptu k webovým stránkám, umožňuje upravit chování linuxového jádra načtením běžícího programu eBPF bez úpravy zdrojového kódu jádra nebo načtení modulu jádra.

eBPF představuje jednu z největších inovací jádra Linuxu za poslední desetiletí. A protože existoval určitý zájem o přizpůsobení technologie jiným operačním systémům, Microsoft se rozhodl vyzkoušet software Windows. Projekt s názvem ebpf-for-windows je open source a je k dispozici na GitHubu.

„Projekt ebpf-for-windows si klade za cíl umožnit vývojářům používat známé sady nástrojů eBPF a aplikační programovací rozhraní (API) ve stávajících verzích systému Windows,“ vysvětlil Dave Thaler v pondělním příspěvku na blogu, Microsoft Associate Software Engineer a Poorna Gaddehosur, Microsoft Senior Software Engineer.

„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á střední vrstvu, která běží nad Windows.“

Společnost to nenazývá vidličkou eBPF. Proto budou vývojáři systému Windows moci generovat bytecode pomocí nástrojů, jako je clang.

eBPF zdrojového kódu, který lze vložit do jakékoli aplikace nebo použít s příkazovým řádkem Windows netsh. Podle společnosti se to děje prostřednictvím sdílené knihovny, která používá API Libbpf.

Knihovna předává bytecode EBPF prostřednictvím PREVAIL v prostředí zabezpečení Windows, které umožňuje komponentě jádra důvěřovat démonovi v uživatelském režimu podepsanému důvěryhodným klíčem.

Inženýři společnosti Microsoft tvrdí, že cílem projektu je poskytnout podporu pro kód eBPF pomocí háků a pomocníků, které existují v systému Linux i Windows.

„Linux poskytuje mnoho odkazů a pomocníků, z nichž někteří jsou velmi specifičtí pro Linux (například pomocí interních datových struktur Linuxu), což by nebylo možné použít na jiné platformy,“ uvedli.

Konečně Máte-li zájem o tom vědět více, můžete zkontrolovat podrobnosti Na následujícím odkazu. Zatímco pro ty, kteří mají zájem nahlédnout do úložiště eBPF na GitHubu, mohou tak učinit z následující odkaz.


Buďte první komentář

Zanechte svůj komentář

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

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  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.