Microsoft pripravil implementáciu eBPF pre Windows

Microsoft predstavený nedávno prostredníctvom príspevku implementácia subsystému eBPF pre Windows ktorý umožňuje spúšťať ľubovoľné ovládače, ktoré bežia na úrovni jadra operačného systému.

eGMP poskytuje zabudovaný tlmočník bajtových kódov v jadre na vytvorenie sieťových ovládačov zaťažených užívateľským priestorom, kontroly prístupu a monitorovania systému. eBPF je súčasťou jadra Linuxu od verzie 3.18 a umožňuje spracovávať prichádzajúce / odchádzajúce sieťové pakety, preposielať pakety, riadiť šírku pásma, zachytávať systémové volania, riadiť prístup a sledovať.

Prostredníctvom kompilácie JIT sa bajtový kód prevádza za behu strojových pokynov a beží s výkonom kompilovaného kódu. EBPF pre Windows je otvorený zdroj pod licenciou MIT.

Dnes s potešením oznamujeme nový projekt open source od spoločnosti Microsoft, ktorý má umožniť fungovanie eBPF v systémoch Windows 10 a Windows Server 2016 a novších. Cieľom projektu ebpf-for-windows je umožniť vývojárom používať známe reťazce nástrojov eBPF a aplikačné programové rozhrania (API) nad rámec existujúcich verzií systému Windows. Na základe práce iných tento projekt preberá niekoľko existujúcich projektov eBPF s otvoreným zdrojovým kódom a pridáva lepidlo na ich spustenie v systéme Windows.

eBPF pre Windows možno použiť s existujúcimi nástrojmi eBPF a poskytuje všeobecné API, ktoré sa používa pre aplikácie eBPF v systéme Linux.

Najmä projekt umožňuje zostaviť kód napísaný v jazyku C do bytecode eBPF pomocou štandardného kompilátora eBPF založeného na Clangu a spustiť ovládače eBPF už postavené pre Linux na jadre systému Windows, ktorá poskytuje špeciálnu vrstvu kompatibility a podporuje štandardné rozhranie Libbpf API pre kompatibilitu s aplikáciami, ktoré interagujú s programami eBPF.

Patria sem stredné vrstvy, ktoré poskytujú väzby podobné systému Linux pre XDP (eXpress Data Path), a väzby soketov, ktoré sumarizujú prístup k sieťovému zásobníku a sieťovým ovládačom systému Windows. Cieľom plánov je poskytnúť úplnú podporu na úrovni zdrojov pre generické ovládače Linux eBPF.

Kľúčovým rozdielom v implementácii eBPF pre Windows je použitie alternatívneho kontroléra bytecode, ktorý pôvodne navrhli zamestnanci spoločnosti VMware a vedci z kanadských a izraelských univerzít.

Overovač sa spúšťa v samostatnom izolovanom procese v užívateľskom priestore a používa sa pred vykonaním programov BPF na zisťovanie chýb a blokovanie možnej škodlivej činnosti.

Na overenie, eBPF pre Windows používa metódu statickej analýzy abstraktnej interpretácie, čo, V porovnaní s eBPF Checker pre Linux vykazuje nižšiu mieru falošne pozitívnych výsledkov, podporuje analýzu slučiek a poskytuje dobrú škálovateľnosť. Metóda zohľadňuje mnoho typických výkonnostných vzorov získaných z analýzy existujúcich programov eBPF.

eBPF je známa, ale revolučná technológia, ktorá poskytuje programovateľnosť, rozšíriteľnosť a svižnosť. eBPF sa použil na prípady použitia, ako je odmietnutie ochrany služby a pozorovateľnosť.

V priebehu času sa okolo eBPF vybudoval významný ekosystém nástrojov, produktov a odborných znalostí. Aj keď bola podpora eBPF prvýkrát implementovaná v jadre Linuxu, vzrastá záujem o to, aby sa eBPF mohol používať aj v iných operačných systémoch, a tiež aby sa okrem jadra rozšírili aj démoni a služby v užívateľskom režime.

Po overení bajtový kód sa odovzdá interpretovi na úrovni jadra, alebo je odovzdaný kompilátorom JIT a nasleduje spustenie výsledného strojového kódu s právami jadra. Na izoláciu ovládačov eBPF na úrovni jadra sa používa mechanizmus HVCI (HyperVisor Enhanced Code Integrity), ktorý využíva virtualizačné nástroje na ochranu procesov v jadre a zaisťuje digitálne podpísanie integrity spusteného kódu.

Jedným obmedzením HVCI je schopnosť kontrolovať iba interpretované programy eBPF a nemožnosť ich použitia v spojení s JIT (máte na výber: dodatočný výkon alebo ochrana).

Konečne ak máte záujem dozvedieť sa viac, môžete sa poradiť nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.