Microsoft parantos nyiapkeun palaksanaan eBPF pikeun Windows

Microsoft parantos nyebarkeun palaksanaan subsistem eBPF pikeun Windows, anu ngamungkinkeun anjeun ngaluncurkeun panangan sawenang anu ngajalankeun dina tingkat kernel sistem operasi. eBPF nyadiakeun juru bytecode diwangun kana kernel, nu ngamungkinkeun pikeun nyieun pawang operasi jaringan dimuat ti spasi pamaké, kontrol aksés jeung ngawas operasi sistem. eBPF geus kaasup dina kernel Linux Ubuntu saprak release 3.18 sarta ngidinan Anjeun pikeun nanganan pakét jaringan asup / kaluar, pakét diteruskeun, manajemén rubakpita, sistem panggero interception, kontrol aksés jeung tracing. Hatur nuhun kana pamakéan kompilasi JIT, bytecode ditarjamahkeun dina laleur kana parentah mesin sarta dieksekusi kalawan kinerja kode disusun. eBPF pikeun Windows mangrupikeun sumber terbuka dina lisénsi MIT.

eBPF pikeun Windows tiasa dianggo sareng alat eBPF anu tos aya sareng nyayogikeun API umum anu dianggo pikeun aplikasi eBPF dina Linux. Diantara hal séjén, proyék éta ngamungkinkeun anjeun pikeun nyusun kode anu ditulis dina C kana bytecode eBPF nganggo kompiler eBPF basis Clang standar sareng ngajalankeun pawang eBPF anu parantos didamel pikeun Linux di luhur kernel Windows, nyayogikeun lapisan kasaluyuan khusus sareng ngadukung standar Libbpf. API pikeun kasaluyuan sareng aplikasi anu berinteraksi sareng program eBPF. Ieu ngawengku lapisan nu nyadiakeun hook kawas Linux Ubuntu pikeun XDP (eXpress Data Path) jeung meungkeut stop kontak, abstracting aksés ka tumpukan jaringan jeung drivers jaringan Windows. Rencanana kalebet nyayogikeun kasaluyuan tingkat kode sumber lengkep sareng prosesor Linux eBPF standar.

Microsoft parantos nyiapkeun palaksanaan eBPF pikeun Windows

Beda konci antara palaksanaan eBPF pikeun Windows nyaéta pamakéan verifier bytecode alternatif, asalna diajukeun ku pagawé VMware jeung peneliti ti universitas Kanada jeung Israél. Verifier dijalankeun dina prosés anu misah, terasing dina rohangan pangguna sareng dianggo sateuacan ngaéksekusi program BPF pikeun ngaidentipikasi kasalahan sareng meungpeuk kamungkinan kagiatan jahat.

Pikeun verifikasi, eBPF pikeun Windows nganggo metode analisis statik dumasar kana Interprétasi Abstrak, anu, dibandingkeun sareng verifier eBPF pikeun Linux, nunjukkeun tingkat positip palsu anu langkung handap, ngadukung analisis loop, sareng nyayogikeun skalabilitas anu saé. Metoda nyokot kana akun loba pola palaksanaan has diala tina analisa program eBPF aya.

Saatos verifikasi, bytecode ditransferkeun ka juru anu ngajalankeun dina tingkat kernel, atanapi ngalangkungan kompiler JIT, dituturkeun ku palaksanaan kode mesin anu hasilna sareng hak kernel. Pikeun ngasingkeun pawang eBPF dina tingkat kernel, mékanisme HVCI (HyperVisor-enforced Code Integrity) dianggo, anu ngagunakeun alat virtualisasi pikeun ngajagaan prosés dina kernel sareng masihan konfirmasi integritas kode palaksanaan nganggo tanda tangan digital. Watesan HVCI nyaéta yén éta ngan ukur tiasa pariksa program eBPF anu diinterpretasi sareng henteu tiasa dianggo babarengan sareng JIT (anjeun gaduh pilihan pikeun pagelaran atanapi kaamanan tambahan).

sumber: opennet.ru

Tambahkeun komentar