Microsoft telah menyiapkan pelaksanaan eBPF untuk Windows

Microsoft melancarkan baru-baru ini melalui catatan pelaksanaan subsistem eBPF untuk Windows yang membolehkan anda menjalankan pemacu sewenang-wenang yang berjalan di peringkat kernel sistem operasi.

eGMP menyediakan jurubahasa bytecode terbina dalam di kernel untuk membuat pemacu rangkaian yang dimuatkan di ruang pengguna, kawalan akses dan pemantauan sistem. eBPF telah dimasukkan dalam kernel Linux sejak versi 3.18 dan membolehkan anda memproses paket rangkaian masuk / keluar, paket ke hadapan, kawalan lebar jalur, panggilan sistem pemintas, akses kawalan, dan trek.

Melalui penyusunan JIT, bytecode diterjemahkan ke dalam arahan mesin dengan cepat dan berjalan dengan prestasi kod yang disusun. EBPF untuk Windows adalah sumber terbuka di bawah lesen MIT.

Hari ini kami dengan senang hati mengumumkan projek sumber terbuka baru dari Microsoft untuk menjadikan eBPF berfungsi pada Windows 10 dan Windows Server 2016 dan yang lebih baru. Projek ebpf-for-windows bertujuan untuk membolehkan pemaju menggunakan rantai alat eBPF dan antara muka pengaturcaraan aplikasi (API) yang sudah biasa di atas versi Windows yang ada. Berdasarkan karya orang lain, projek ini mengambil beberapa projek eBPF sumber terbuka yang ada dan menambahkan "gam" untuk menjadikannya berjalan di Windows.

eBPF untuk Windows boleh digunakan dengan alat eBPF yang ada dan menyediakan API generik yang digunakan untuk aplikasi eBPF di Linux.

Secara khusus projek ini membolehkan anda menyusun kod yang ditulis dalam C menjadi bytecode eBPF menggunakan penyusun eBPF berasaskan Clang standard dan jalankan pemacu eBPF yang sudah dibina untuk Linux di atas kernel Windows, yang menyediakan lapisan keserasian khas dan menyokong API Libbpf standard untuk keserasian dengan aplikasi yang berinteraksi dengan program eBPF.

Ini termasuk lapisan tengah yang menyediakan pengikatan seperti Linux untuk XDP (Jalur Data eXpress) dan pengikatan soket yang merangkum akses ke timbunan rangkaian Windows dan pemacu rangkaian. Rancangan bertujuan untuk memberikan sokongan peringkat sumber sepenuhnya untuk pemacu eBPF Linux generik.

Perbezaan utama dalam melaksanakan eBPF untuk Windows adalah penggunaan pemeriksa bytecode alternatif, yang pada awalnya dicadangkan oleh pekerja dan penyelidik VMware dari universiti Kanada dan Israel.

Pengesah dimulakan dalam proses terpencil yang terpisah di ruang pengguna dan digunakan sebelum pelaksanaan program BPF untuk mengesan kesalahan dan menyekat potensi aktiviti berbahaya.

Untuk pengesahan, eBPF untuk Windows menggunakan kaedah analisis statik interpretasi abstrak, apa, Berbanding dengan pengesah eBPF untuk Linux, ia menunjukkan kadar positif palsu yang lebih rendah, menyokong analisis gelung dan memberikan skalabiliti yang baik. Kaedah ini mengambil kira banyak corak prestasi khas yang diperoleh daripada analisis program eBPF yang ada.

eBPF adalah teknologi yang terkenal tetapi revolusioner yang menyediakan pengaturcaraan, kepanjangan, dan kelincahan eBPF telah digunakan untuk menggunakan kes seperti penolakan perlindungan perkhidmatan dan pengamatan.

Dari masa ke masa, ekosistem alat, produk, dan kepakaran yang ketara telah dibina di sekitar eBPF. Walaupun dukungan untuk eBPF pertama kali dilaksanakan di kernel Linux, ada minat yang semakin meningkat untuk membiarkan eBPF digunakan dalam sistem operasi lain dan juga untuk memperluas layanan daemon dan mod pengguna selain kernel.

Selepas pengesahan, bytecode diteruskan ke pentafsir tahap kernel, atau diteruskan melalui penyusun JIT, diikuti dengan menjalankan kod mesin yang dihasilkan dengan hak kernel. Untuk mengasingkan pemacu eBPF di peringkat kernel, mekanisme HVCI (HyperVisor Enhanced Code Integrity) digunakan, yang menggunakan alat virtualisasi untuk melindungi proses dalam kernel dan memastikan integriti kod yang dilaksanakan ditandatangani secara digital.

Satu batasan HVCI adalah kemampuan untuk memeriksa program eBPF yang ditafsirkan dan ketidakupayaan untuk menggunakannya bersama dengan JIT (anda mempunyai pilihan: prestasi atau perlindungan tambahan).

Akhirnya jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh berunding pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.