Inihanda ng Microsoft ang isang pagpapatupad ng eBPF para sa Windows

Inilantad ng Microsoft kamakailan lamang sa pamamagitan ng isang post ang pagpapatupad ng subsystem ng eBPF para sa Windows na nagbibigay-daan sa iyo upang magpatakbo ng di-makatwirang mga driver na tumatakbo sa antas ng kernel ng operating system.

eGMP nagbibigay ng built-in na interpreter ng bytecode sa kernel upang lumikha ng mga driver ng network na puno ng space-load, kontrol sa pag-access, at pagsubaybay sa system. eBPF ay naisama sa Linux kernel mula noong bersyon 3.18 at Pinapayagan kang iproseso ang mga papasok / papalabas na packet ng network, mga forward packet, kontrolin ang bandwidth, maharang ang mga tawag sa system, kontrolin ang pag-access, at subaybayan.

Sa pamamagitan ng pagtitipon ng JIT, ang byte code ay isinalin sa mga tagubilin sa makina nang mabilis at tumatakbo sa pagganap ng naipon na code. Ang EBPF para sa Windows ay bukas na mapagkukunan sa ilalim ng lisensya ng MIT.

Ngayon ay nalulugod kaming ipahayag ang isang bagong proyekto ng bukas na mapagkukunan mula sa Microsoft upang gawing gumagana ang eBPF sa Windows 10 at Windows Server 2016 at mas bago. Nilalayon ng proyekto ng ebpf-for-windows na paganahin ang mga developer na gumamit ng pamilyar na mga toolkit ng eBPF at interface ng application programming (API) sa tuktok ng mga mayroon nang mga bersyon ng Windows. Batay sa gawain ng iba, ang proyektong ito ay tumatagal ng maraming umiiral na mga proyekto ng bukas na mapagkukunan ng eBPF at idinagdag ang "pandikit" upang mapatakbo sila sa Windows.

Ang eBPF para sa Windows maaaring magamit sa mga mayroon nang mga tool sa eBPF at nagbibigay ng isang pangkaraniwang API na ginagamit para sa mga aplikasyon ng eBPF sa Linux.

Sa partikular pinapayagan ka ng proyekto na itala ang code na nakasulat sa C sa bytecode Ang eBPF gamit ang pamantayan ng taglagay ng e-book based na Clang at patakbuhin ang mga driver ng eBPF na naka-built para sa Linux sa tuktok ng kernel ng Windows, na nagbibigay ng isang espesyal na layer ng pagiging tugma at sinusuportahan ang karaniwang Libbpf API para sa pagiging tugma sa mga application na nakikipag-ugnay sa mga programa sa eBPF.

Kasama dito ang mga gitnang layer na nagbibigay ng mga bindings na tulad ng Linux para sa XDP (eXpress Data Path) at mga socket bindings na nagbubuod ng pag-access sa Windows network stack at mga driver ng network. Nilalayon ng mga plano na magbigay ng buong suporta sa antas ng mapagkukunan para sa mga generic na driver ng Linux eBPF.

Ang pangunahing pagkakaiba sa pagpapatupad ng eBPF para sa Windows ay ang paggamit ng isang kahaliling checkt ng bytecode, na orihinal na iminungkahi ng mga empleyado at mananaliksik ng VMware mula sa mga unibersidad ng Canada at Israel.

Ang nagpapatotoo ay nagsimula sa isang hiwalay na proseso na nakahiwalay sa puwang ng gumagamit at ginagamit bago ang pagpapatupad ng mga programa ng BPF upang makita ang mga error at hadlangan ang potensyal na nakakahamak na aktibidad.

Para sa pagpapatunay, Ang eBPF para sa Windows ay gumagamit ng abstract interpretasyon na static na pamamaraan ng pagtatasa, Ano, Kung ihahambing sa Checker ng eBay para sa Linux, nagpapakita ito ng isang mas mababang maling positibong rate, sumusuporta sa pagtatasa ng loop at nagbibigay ng mahusay na kakayahang sumukat. Isinasaalang-alang ng pamamaraan ang maraming tipikal na mga pattern ng pagganap na nakuha mula sa pagtatasa ng mga mayroon nang mga programa sa eBPF.

Ang eBPF ay isang kilalang ngunit rebolusyonaryong teknolohiya na nagbibigay ng kakayahang mai-program, mapalawak, at liksi. Ang eBPF ay inilapat upang magamit ang mga kaso tulad ng pagtanggi ng proteksyon sa serbisyo at kakayahang sundin.

Sa paglipas ng panahon, isang makabuluhang ecosystem ng mga tool, produkto, at kadalubhasaan ay naitayo sa paligid ng eBPF. Bagaman ang suporta para sa eBPF ay unang ipinatupad sa kernel ng Linux, nagkaroon ng lumalaking interes na payagan ang eBPF na magamit sa iba pang mga operating system at upang mapalawak din ang mga daemon at mga serbisyo ng mode ng user bilang karagdagan sa kernel.

Pagkatapos ng pagpapatunay, ang bytecode ay naipasa sa interpreter ng antas ng kernel, o ito ay naipasa sa pamamagitan ng JIT compiler, na sinusundan ng pagpapatakbo ng nagresultang machine code na may mga karnel rights. Upang ihiwalay ang mga driver ng eBPF sa antas ng kernel, ginagamit ang mekanismo ng HVCI (HyperVisor Enhanced Code Integrity), na gumagamit ng mga tool sa virtualization upang protektahan ang mga proseso sa kernel at tinitiyak na ang integridad ng naipatupad na code ay digital na naka-sign.

Ang isang limitasyon ng HVCI ay ang kakayahang suriin lamang ang mga nainterpret na programa ng eBPF at ang kawalan ng kakayahang magamit ang mga ito kasabay ng JIT (mayroon kang pagpipilian: karagdagang pagganap o proteksyon).

Sa wakas kung interesado kang malaman ang tungkol dito, maaari kang kumunsulta ang sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.