Microsoft je pripravil izvedbo eBPF za Windows

Predstavljen Microsoft nedavno prek objave izvajanje podsistema eBPF za Windows ki vam omogoča zagon poljubnih gonilnikov, ki se izvajajo na ravni jedra operacijskega sistema.

eGMP ponuja vgrajen tolmač bajt kod v jedru za ustvarjanje omrežnih gonilnikov, ki jih obkrožajo uporabniki, nadzor dostopa in nadzor sistema. eBPF je vključen v jedro Linuxa od različice 3.18 in omogoča obdelavo dohodnih / odhodnih omrežnih paketov, posredovanih paketov, nadzor pasovne širine, prestrezanje sistemskih klicev, nadzor dostopa in sledenje.

Z JIT kompilacijo se bajtna koda sproti prevede v strojna navodila in deluje z zmogljivostjo prevedene kode. EBPF za Windows je odprtokoden pod licenco MIT.

Danes z veseljem objavljamo nov Microsoftov odprtokodni projekt, s katerim bo eBPF deloval v sistemih Windows 10 in Windows Server 2016 in novejših. Namen projekta ebpf-for-windows je razvijalcem omogočiti uporabo znanih orodij eBPF in vmesnikov za programiranje aplikacij (API-jev) poleg obstoječih različic sistema Windows. Na podlagi dela drugih ta projekt zajema več obstoječih odprtokodnih projektov eBPF in doda "lepilo" za njihovo izvajanje v sistemu Windows.

eBPF za Windows se lahko uporablja z obstoječimi orodji eBPF in ponuja generični API, ki se uporablja za aplikacije eBPF v Linuxu.

Še posebej projekt vam omogoča zbiranje kode, napisane v jeziku C, v bajtno kodo eBPF z uporabo standardnega prevajalnika eBPF, ki temelji na Clangu in zaženite gonilnike eBPF, ki so že zgrajeni za Linux, na vrhu jedra Windows, ki zagotavlja posebno plast združljivosti in podpira standardni Libbpf API za združljivost z aplikacijami, ki sodelujejo s programi eBPF.

Sem spadajo srednje plasti, ki zagotavljajo Linuxu podobne vezi za XDP (eXpress Data Path) in vezi vtičnic, ki povzemajo dostop do omrežnega sklada in omrežnih gonilnikov sistema Windows. Načrti nameravajo zagotoviti popolno podporo na ravni virov za splošne gonilnike Linux eBPF.

Ključna razlika pri uvajanju eBPF za Windows je uporaba nadomestnega preverjevalnika bajt kod, ki so ga prvotno predlagali zaposleni in raziskovalci VMware s kanadskih in izraelskih univerz.

Preverjevalnik se zažene v ločenem izoliranem postopku v uporabniškem prostoru in se uporablja pred izvajanjem programov BPF za odkrivanje napak in blokiranje morebitnih zlonamernih dejavnosti.

Za potrditev eBPF za Windows uporablja metodo statične analize abstraktne interpretacije, kaj, V primerjavi s preveriteljem eBPF za Linux kaže nižjo stopnjo lažno pozitivnih rezultatov, podpira analizo zanke in zagotavlja dobro razširljivost. Metoda upošteva številne tipične vzorce uspešnosti, pridobljene z analizo obstoječih programov eBPF.

eBPF je znana, a revolucionarna tehnologija, ki zagotavlja programljivost, razširljivost in okretnost. eBPF se uporablja za primere, kot sta zaščita pred zavrnitvijo storitve in opaznost.

Sčasoma se je okoli eBPF ustvaril pomemben ekosistem orodij, izdelkov in strokovnega znanja. Čeprav je bila podpora za eBPF prvič uvedena v jedru Linuxa, je vedno več zanimanja, da se omogoči uporaba eBPF v drugih operacijskih sistemih, poleg jedra pa tudi razširitev demonov in storitev v uporabniškem načinu.

Po preverjanju bajtoda se posreduje interpreterju ravni jedra, ali pa se prenese skozi prevajalnik JIT, čemur sledi zagon nastale strojne kode s pravicami jedra. Za izolacijo gonilnikov eBPF na ravni jedra se uporablja mehanizem HVCI (HyperVisor Enhanced Code Integrity), ki uporablja orodja za virtualizacijo za zaščito procesov v jedru in zagotavlja, da je integriteta izvedene kode digitalno podpisana.

Ena omejitev HVCI je možnost preverjanja samo interpretiranih programov eBPF in nezmožnost njihove uporabe v povezavi z JIT (izbira imate: dodatna zmogljivost ali zaščita).

Končno če vas zanima več o tem, lahko se posvetujete naslednjo povezavo.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.