Microsoft je pripremio implementaciju eBPF-a za Windows

Microsoft predstavio nedavno putem posta implementacija eBPF podsustava za Windows koji vam omogućuje pokretanje proizvoljnih pokretačkih programa koji se izvode na razini jezgre operativnog sustava.

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 sustava. eBPF je uključen u Linux kernel od verzije 3.18 i omogućuje 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 strojne upute i radi s izvedbom kompiliranog koda. EBPF za Windows je otvoreni izvor pod MIT licencom.

Danas nam je drago što možemo najaviti novi Microsoftov projekt otvorenog koda kako bi eBPF radio na sustavima Windows 10 i Windows Server 2016 i novijim. Projekt ebpf-for-windows želi omogućiti programerima da koriste poznate eBPF alate i sučelja za programiranje aplikacija (API) povrh postojećih verzija Windowsa. Na temelju rada drugih, ovaj projekt uzima nekoliko postojećih eBPF projekata s otvorenim kodom i dodaje "ljepilo" da bi se pokrenuli na sustavu Windows.

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

Osobito projekt vam omogućuje kompajliranje koda napisanog na C u bajt kod eBPF pomoću standardnog eBPF kompajlera temeljenog na Clangu i pokrenite eBPF upravljačke programe koji su već izgrađeni za Linux na vrhu jezgre Windows, 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 Linux-slične veze za XDP (eXpress Data Path) i poveznice utičnica koje sažimaju pristup Windowsovom mrežnom snopu 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 primjeni eBPF-a za Windows je upotreba zamjenske provjere bajt-koda, koju su izvorno predložili zaposlenici VMwarea i istraživači s kanadskih i izraelskih sveučilišta.

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

Za provjeru valjanosti, eBPF za Windows koristi metodu statičke analize apstraktne interpretacije, što, U usporedbi s eBPF verifikatorom za Linux, pokazuje nižu stopu lažnih pozitivnih rezultata, podržava analizu petlje i pruža dobru skalabilnost. Metoda uzima u obzir mnoge tipične obrasce izvedbe 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 i promatranje uskraćivanja usluge.

Vremenom se oko eBPF-a izgradio značajan ekosustav 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 sustavima, kao i za proširenje demona i usluga u korisničkom načinu uz jezgru.

Nakon provjere, bajtkod se prosljeđuje interpretatoru razine jezgre, ili se prenosi kroz JIT kompajler, nakon čega slijedi pokretanje rezultirajućeg strojnog 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 izvršenog koda.

Jedno ograničenje HVCI-a je mogućnost provjere samo protumačenih eBPF programa i nemogućnost njihove upotrebe u suradnji s JIT-om (imate izbor: dodatna izvedba ili zaštita).

Konačno ako vas zanima više o tome, možete se posavjetovati sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.