Microsoft je pripremio implementaciju eBPF-a za Windows

Microsoft predstavio nedavno putem posta implementacija eBPF podsistema za Windows koji vam omogućava pokretanje proizvoljnih upravljačkih programa koji se izvode na razini jezgre operativnog sistema.

eGMP pruža ugrađeni interpretator bajt koda u jezgri za stvaranje mrežnih upravljačkih programa opterećenih korisničkim prostorom, kontrole pristupa i nadzora sistema. eBPF je uključen u Linux kernel od verzije 3.18 i omogućava vam obradu dolaznih / odlaznih mrežnih paketa, prosljeđenih paketa, kontrolu širine pojasa, presretanje sistemskih poziva, kontrolu pristupa i praćenje.

Kroz JIT kompilaciju, bajt kôd se u hodu prevodi u mašinske upute i radi s performansama kompiliranog koda. EBPF za Windows je otvoreni izvor pod MIT licencom.

Danas nam je drago da najavimo novi Microsoftov projekt otvorenog koda koji će omogućiti eBPF rad na Windowsima 10 i Windows Server 2016 i novijim verzijama. Projekt ebpf-for-windows želi omogućiti programerima da koriste poznate eBPF lance alata i sučelja za programiranje aplikacija (API) povrh postojećih verzija Windowsa. Na osnovu rada drugih, ovaj projekat uzima nekoliko postojećih eBPF projekata otvorenog koda i dodaje "ljepilo" da bi se pokrenuli na Windowsima.

eBPF za Windows može se koristiti sa postojećim eBPF alatima i pruža generički API koji se koristi za eBPF aplikacije na Linuxu.

Posebno projekt vam omogućuje kompajliranje koda napisanog na C u bajtkod eBPF koristeći standardni eBPF kompajler zasnovan na Clangu i pokrenite eBPF upravljačke programe koji su već izgrađeni za Linux na vrhu Windows jezgre, koji pruža poseban sloj kompatibilnosti i podržava standardni Libbpf API za kompatibilnost s aplikacijama koje komuniciraju s eBPF programima.

To uključuje srednje slojeve koji pružaju vezivanja nalik Linuxu za XDP (eXpress Data Path) i poveznice soketa koji sažimaju pristup Windows mrežnom steku i mrežnim upravljačkim programima. Planovi imaju za cilj pružiti potpunu podršku na razini izvora za generičke Linux eBPF upravljačke programe.

Ključna razlika u implementaciji eBPF-a za Windows je upotreba alternativnog bajt koda, koji su prvobitno predložili zaposlenici VMware-a i istraživači sa kanadskih i izraelskih univerziteta.

Verifikator se pokreće u zasebnom izoliranom procesu u korisničkom prostoru i koristi se prije izvršenja BPF programa za otkrivanje grešaka i blokiranje potencijalnih zlonamjernih aktivnosti.

Za validaciju, eBPF za Windows koristi metodu statičke analize apstraktne interpretacije, šta, U usporedbi s eBPF verifikatorom za Linux, pokazuje nižu stopu lažno pozitivnih rezultata, podržava analizu petlje i pruža dobru skalabilnost. Metoda uzima u obzir mnoge tipične obrasce performansi dobivene analizom postojećih eBPF programa.

eBPF je dobro poznata, ali revolucionarna tehnologija koja pruža mogućnost programiranja, proširivosti i okretnosti. eBPF je primijenjen na slučajeve kao što su zaštita od uskraćivanja usluge i uočljivost.

Vremenom se oko eBPF-a izgradio značajan ekosistem alata, proizvoda i stručnosti. Iako je podrška za eBPF prvi put implementirana u jezgru Linuxa, raste sve veći interes za omogućavanjem upotrebe eBPF-a u drugim operativnim sistemima, kao i za proširenje demona i usluga u korisničkom režimu uz jezgro.

Nakon verifikacije, bajtkod se prenosi interpretatoru nivoa jezgre, ili se prenosi kroz JIT kompajler, nakon čega slijedi pokretanje rezultirajućeg mašinskog koda s pravima na jezgru. Da bi se izolirali eBPF pokretači na razini jezgre, koristi se mehanizam HVCI (HyperVisor Enhanced Code Integrity) koji koristi alate za virtualizaciju kako bi zaštitio procese u jezgri i osigurava digitalni potpis integriteta izvedenog koda.

Jedno ograničenje HVCI-a je mogućnost provjere samo protumačenih eBPF programa i nemogućnost korištenja istih zajedno s JIT-om (imate izbor: dodatne performanse ili zaštita).

Konačno ako ste zainteresirani da saznate više o tome, možete se posavjetovati sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.