Microsoft ħejjiet implimentazzjoni tal-eBPF għall-Windows

Microsoft ippubblikat implimentazzjoni tas-subsistema eBPF għall-Windows, li tippermettilek tniedi handlers arbitrarji li jaħdmu fil-livell tal-kernel tas-sistema operattiva. eBPF jipprovdi interpretu bytecode mibni fil-kernel, li jagħmilha possibbli li jinħolqu handlers tal-operat tan-netwerk mgħobbija mill-ispazju tal-utent, jikkontrollaw l-aċċess u jimmonitorjaw l-operat tas-sistemi. eBPF ġie inkluż fil-kernel tal-Linux sa mir-rilaxx 3.18 u jippermettilek timmaniġġja pakketti tan-netwerk deħlin/ħerġin, twassil tal-pakketti, ġestjoni tal-bandwidth, interċettazzjoni tas-sejħiet tas-sistema, kontroll tal-aċċess u traċċar. Grazzi għall-użu tal-kumpilazzjoni JIT, bytecode jiġi tradott fuq il-fly f'struzzjonijiet tal-magni u esegwit bil-prestazzjoni ta 'kodiċi kkompilat. eBPF għall-Windows huwa sors miftuħ taħt il-liċenzja MIT.

eBPF għall-Windows jista 'jintuża ma' għodod eBPF eżistenti u jipprovdi API ġenerika użata għal applikazzjonijiet eBPF fuq Linux. Fost affarijiet oħra, il-proġett jippermettilek li tikkompila kodiċi miktuba f'C f'bytecode eBPF billi tuża l-kompilatur eBPF standard ibbażat fuq Clang u tmexxi eBPF handlers diġà maħluqa għal Linux fuq il-qalba tal-Windows, li tipprovdi saff ta 'kompatibilità speċjali u tappoġġja l-Libbpf standard. API għall-kompatibilità ma 'applikazzjonijiet li jinteraġixxu ma' programmi eBPF. Dan jinkludi saffi li jipprovdu ganċijiet bħal Linux għal XDP (eXpress Data Path) u socket bind, astrazzjoni tal-aċċess għall-munzell tan-netwerk u s-sewwieqa tan-netwerk tal-Windows. Il-pjanijiet jinkludu l-provvista ta' kompatibilità sħiħa fil-livell tal-kodiċi tas-sors ma' proċessuri standard Linux eBPF.

Microsoft ħejjiet implimentazzjoni tal-eBPF għall-Windows

Id-differenza ewlenija bejn l-implimentazzjoni tal-eBPF għall-Windows hija l-użu ta 'verifikatur ta' bytecode alternattiv, oriġinarjament propost minn impjegati u riċerkaturi ta 'VMware minn universitajiet Kanadiżi u Iżraeljani. Il-verifikatur jaħdem fi proċess separat u iżolat fl-ispazju tal-utent u jintuża qabel ma jesegwixxi programmi BPF biex jidentifika l-iżbalji u jimblokka attività malizzjuża possibbli.

Għall-verifika, eBPF għall-Windows juża metodu ta 'analiżi statika bbażat fuq Interpretazzjoni Astratta, li, meta mqabbel mal-verifikatur eBPF għal Linux, juri rata pożittiva falza aktar baxxa, jappoġġja analiżi tal-linja, u jipprovdi skalabbiltà tajba. Il-metodu jqis ħafna mudelli ta’ eżekuzzjoni tipiċi miksuba mill-analiżi tal-programmi eżistenti tal-eBPF.

Wara l-verifika, il-bytecode jiġi trasferit għal interpretu li jaħdem fil-livell tal-kernel, jew mgħoddi minn kompilatur JIT, segwit mill-eżekuzzjoni tal-kodiċi tal-magna li jirriżulta bid-drittijiet tal-kernel. Biex jiġu iżolati l-handlers tal-eBPF fil-livell tal-kernel, jintuża l-mekkaniżmu HVCI (HyperVisor-enforced Code Integrity), li juża għodod ta 'virtwalizzazzjoni biex jipproteġi l-proċessi fil-qalba u jipprovdi konferma tal-integrità tal-kodiċi ta' eżekuzzjoni permezz ta 'firma diġitali. Il-limitazzjoni ta 'HVCI hija li tista' tivverifika biss programmi eBPF interpretati u ma tistax tintuża flimkien ma 'JIT (għandek għażla ta' prestazzjoni jew sigurtà addizzjonali).

Sors: opennet.ru

Żid kumment