Microsoft wis nyiapake implementasine eBPF kanggo Windows

Microsoft wis nerbitake implementasine subsistem eBPF kanggo Windows, sing ngidini sampeyan miwiti panangan sewenang-wenang sing mlaku ing tingkat kernel sistem operasi. eBPF menehi interpreter bytecode dibangun ing kernel, kang ndadekake iku bisa kanggo nggawe handler operasi jaringan dimuat saka papan pangguna, akses kontrol lan ngawasi operasi sistem. eBPF wis klebu ing kernel Linux wiwit release 3.18 lan ngijini sampeyan kanggo nangani mlebu / paket jaringan metu, packet forwarding, manajemen bandwidth, sistem interception telpon, kontrol akses lan nelusuri. Thanks kanggo nggunakake kompilasi JIT, bytecode diterjemahake kanthi cepet menyang instruksi mesin lan dieksekusi kanthi kinerja kode kompilasi. eBPF kanggo Windows minangka sumber terbuka miturut lisensi MIT.

eBPF kanggo Windows bisa digunakake karo alat eBPF sing wis ana lan nyedhiyakake API umum sing digunakake kanggo aplikasi eBPF ing Linux. Antarane liyane, proyek kasebut ngidini sampeyan ngumpulake kode sing ditulis ing C menyang bytecode eBPF nggunakake kompiler eBPF basis Clang standar lan mbukak panangan eBPF sing wis digawe kanggo Linux ing ndhuwur kernel Windows, nyedhiyakake lapisan kompatibilitas khusus lan ndhukung Libbpf standar. API kanggo kompatibilitas karo aplikasi sing sesambungan karo program eBPF. Iki kalebu lapisan sing nyedhiyakake pancingan kaya Linux kanggo XDP (eXpress Data Path) lan ikatan soket, akses abstrak menyang tumpukan jaringan lan driver jaringan Windows. Rencana kalebu nyedhiyakake kompatibilitas tingkat kode sumber lengkap karo pemroses eBPF Linux standar.

Microsoft wis nyiapake implementasine eBPF kanggo Windows

Bentenane utama ing antarane implementasi eBPF kanggo Windows yaiku nggunakake verifier bytecode alternatif, sing diusulake dening karyawan lan peneliti VMware saka universitas Kanada lan Israel. Verifier lumaku ing proses sing kapisah lan terisolasi ing ruang pangguna lan digunakake sadurunge nglakokake program BPF kanggo ngenali kesalahan lan ngalangi kemungkinan kegiatan angkoro.

Kanggo verifikasi, eBPF kanggo Windows nggunakake metode analisis statis adhedhasar Interpretasi Abstrak, sing dibandhingake karo verifier eBPF kanggo Linux, nuduhake tingkat positif palsu sing luwih murah, ndhukung analisis loop, lan menehi skalabilitas sing apik. Cara kasebut njupuk akeh pola eksekusi khas sing dipikolehi saka analisis program eBPF sing ana.

Sawise verifikasi, bytecode ditransfer menyang interpreter sing mlaku ing tingkat kernel, utawa liwati kompiler JIT, banjur dieksekusi kode mesin sing diasilake kanthi hak kernel. Kanggo ngisolasi panangan eBPF ing tingkat kernel, mekanisme HVCI (HyperVisor-enforced Code Integrity) digunakake, sing nggunakake alat virtualisasi kanggo nglindhungi proses ing kernel lan menehi konfirmasi integritas kode eksekusi nggunakake teken digital. Watesan HVCI yaiku mung bisa verifikasi program eBPF sing diinterpretasikake lan ora bisa digunakake bebarengan karo JIT (sampeyan duwe pilihan kinerja utawa keamanan tambahan).

Source: opennet.ru

Add a comment