Mae Microsoft wedi paratoi gweithrediad eBPF ar gyfer Windows

Mae Microsoft wedi cyhoeddi gweithrediad o'r is-system eBPF ar gyfer Windows sy'n eich galluogi i redeg trinwyr mympwyol sy'n gweithio ar lefel cnewyllyn y system weithredu. Mae eBPF yn darparu dehonglydd cod byte sydd wedi'i ymgorffori yn y cnewyllyn sy'n eich galluogi i greu trinwyr gweithrediadau rhwydwaith llwytho gofod defnyddiwr, rheoli mynediad, a monitro systemau. Mae eBPF wedi'i gynnwys yn y cnewyllyn Linux ers rhyddhau 3.18 ac mae'n caniatΓ‘u ichi brosesu pecynnau rhwydwaith sy'n dod i mewn / allan, pecynnau blaen, lled band rheoli, galwadau system rhyng-gipio, rheoli mynediad a pherfformio olrhain. Diolch i'r defnydd o gasgliad JIT, mae bytecode yn cael ei drosi'n gyfarwyddiadau peiriant ar y hedfan a'i weithredu gyda pherfformiad cod wedi'i lunio. Mae'r cod ffynhonnell ar gyfer eBPF ar gyfer Windows yn ffynhonnell agored o dan y drwydded MIT.

Gellir defnyddio eBPF ar gyfer Windows gydag offer eBPF presennol ac mae'n darparu API generig a ddefnyddir ar gyfer cymwysiadau eBPF Linux. Ymhlith pethau eraill, mae'r prosiect yn caniatΓ‘u llunio cod a ysgrifennwyd yn C i god byte eBPF gan ddefnyddio'r casglwr eBPF rheolaidd sy'n seiliedig ar Clang a rhedeg trinwyr eBPF a grΓ«wyd eisoes ar gyfer Linux ar ben cnewyllyn Windows, gan ddarparu haen cydnawsedd arbennig a chefnogi'r API Libbpf safonol ar gyfer cydnawsedd Γ’ chymwysiadau sy'n rhyngweithio Γ’ rhaglenni eBPF. Mae hyn yn cynnwys haenau sy'n darparu bachau tebyg i Linux ar gyfer XDP (Llwybr Data eXpress) a rhwymiad soced, gan dynnu mynediad i'r stack rhwydwaith a gyrwyr rhwydwaith Windows. O'r cynlluniau, nodir ei fod yn darparu cydnawsedd llawn ar lefel y cod ffynhonnell Γ’ thrinwyr eBPF Linux nodweddiadol.

Mae Microsoft wedi paratoi gweithrediad eBPF ar gyfer Windows

Y gwahaniaeth allweddol wrth weithredu eBPF ar gyfer Windows yw defnyddio dilysydd bytecode amgen, a gynigiwyd yn wreiddiol gan weithwyr VMware ac ymchwilwyr o brifysgolion Canada ac Israel. Mae'r dilysydd yn rhedeg mewn proses ynysig ar wahΓ’n yng ngofod y defnyddiwr ac fe'i defnyddir cyn gweithredu rhaglenni BPF er mwyn canfod gwallau a rhwystro gweithgaredd maleisus posibl.

Mae eBPF ar gyfer Windows yn defnyddio dull dadansoddi statig yn seiliedig ar Ddehongliad Haniaethol ar gyfer dilysu, sydd, o'i gymharu Γ’'r dilysydd eBPF ar gyfer Linux, Γ’ chyfradd gadarnhaol ffug is, yn cefnogi dadansoddiad dolen, ac yn darparu graddadwyedd da. Mae'r dull yn ystyried llawer o batrymau gweithredu nodweddiadol a gafwyd o ddadansoddi rhaglenni eBPF presennol.

Ar Γ΄l dilysu, mae'r cod beit yn cael ei drosglwyddo i ddehonglydd lefel cnewyllyn neu'n cael ei basio trwy gasglwr JIT, ac yna gweithredu cod y peiriant sy'n deillio o hynny gyda hawliau cnewyllyn. Er mwyn ynysu trinwyr eBPF ar lefel y cnewyllyn, defnyddir mecanwaith HVCI (Gonestrwydd Cod a Orfodir gan HyperVisor), sy'n defnyddio offer rhithwiroli i amddiffyn prosesau yn y cnewyllyn ac yn darparu gwiriad o gyfanrwydd y cod sy'n cael ei weithredu trwy lofnod digidol. Cyfyngiad HVCI yw'r gallu i wirio rhaglenni eBPF wedi'u dehongli yn unig a'r amhosibl o'i ddefnyddio ar y cyd Γ’ JIT (rhoddir dewis - naill ai perfformiad neu amddiffyniad ychwanegol).

Ffynhonnell: opennet.ru

Ychwanegu sylw