Microsoft hefur útbúið eBPF útfærslu fyrir Windows

Microsoft hefur gefið út útfærslu á eBPF undirkerfinu fyrir Windows, sem gerir þér kleift að ræsa handahófskennda meðhöndlun sem keyra á stýrikerfiskjarnastigi. eBPF býður upp á bætikóða túlk sem er innbyggður í kjarnann, sem gerir það mögulegt að búa til netaðgerðir sem hlaðið er upp úr notendarými, stjórna aðgangi og fylgjast með rekstri kerfa. eBPF hefur verið innifalið í Linux kjarnanum frá útgáfu 3.18 og gerir þér kleift að sjá um komandi/útgefinn netpakka, pakkaframsendingu, bandbreiddarstjórnun, kerfishlerun, aðgangsstýringu og rakningu. Þökk sé notkun JIT samantektar er bætikóði þýddur á flugi í vélaleiðbeiningar og keyrður með frammistöðu samsetts kóða. eBPF fyrir Windows er opinn uppspretta undir MIT leyfinu.

eBPF fyrir Windows er hægt að nota með núverandi eBPF verkfærum og býður upp á almennt API sem notað er fyrir eBPF forrit á Linux. Meðal annars gerir verkefnið þér kleift að setja saman kóða sem skrifaður er í C ​​inn í eBPF bætikóða með því að nota staðlaða eBPF þýðanda sem byggir á Clang og keyra eBPF meðhöndlara sem þegar eru búnir til fyrir Linux ofan á Windows kjarnann, sem gefur sérstakt samhæfnislag og styður staðlaða Libbpf API fyrir samhæfni við forrit sem hafa samskipti við eBPF forrit. Þetta felur í sér lög sem bjóða upp á Linux-líka króka fyrir XDP (eXpress Data Path) og socket bind, sem dregur úr aðgangi að netstaflanum og Windows netrekla. Áætlanir fela í sér að veita fullan frumkóðasamhæfi við venjulega Linux eBPF örgjörva.

Microsoft hefur útbúið eBPF útfærslu fyrir Windows

Lykilmunurinn á eBPF útfærslunni fyrir Windows er notkun á öðrum bækikóða sannprófanda, upphaflega lagt til af starfsmönnum VMware og vísindamönnum frá kanadískum og ísraelskum háskólum. Sannprófandinn keyrir í sérstöku, einangruðu ferli í notendarými og er notað áður en BPF forrit eru keyrð til að bera kennsl á villur og loka fyrir mögulega skaðlega virkni.

Til sannprófunar notar eBPF fyrir Windows kyrrstöðugreiningaraðferð sem byggir á Abstract Interpretation, sem, samanborið við eBPF sannprófunaraðila fyrir Linux, sýnir lægra rangt jákvæða hlutfall, styður lykkjugreiningu og veitir góða sveigjanleika. Aðferðin tekur tillit til margra dæmigerðra framkvæmdarmynstra sem fást við greiningu á núverandi eBPF forritum.

Eftir sannprófun er bætikóðinn fluttur í túlk sem keyrir á kjarnastigi, eða sendur í gegnum JIT þýðanda, fylgt eftir með því að keyra vélkóðann sem myndast með kjarnaréttindum. Til að einangra eBPF meðhöndlun á kjarnastigi er HVCI (HyperVisor-enforced Code Integrity) vélbúnaðurinn notaður, sem notar sýndarvæðingartæki til að vernda ferla í kjarnanum og veitir staðfestingu á heilleika keyrslukóðans með stafrænni undirskrift. Takmörkun HVCI er að það getur aðeins staðfest túlkuð eBPF forrit og ekki hægt að nota það í tengslum við JIT (þú hefur val um annað hvort frammistöðu eða viðbótaröryggi).

Heimild: opennet.ru

Bæta við athugasemd