Microsoft telah menyiapkan implementasi eBPF untuk Windows

Microsoft meluncurkan baru-baru ini melalui sebuah postingan implementasi subsistem eBPF untuk Windows yang memungkinkan Anda menjalankan driver arbitrer yang berjalan di tingkat kernel sistem operasi.

eGMP menyediakan penerjemah bytecode bawaan di kernel untuk membuat driver jaringan yang sarat dengan ruang pengguna, kontrol akses, dan pemantauan sistem. eBPF telah disertakan dalam kernel Linux sejak versi 3.18 dan memungkinkan Anda memproses paket jaringan masuk / keluar, meneruskan paket, mengontrol bandwidth, mencegat panggilan sistem, mengontrol akses, dan melacak.

Melalui kompilasi JIT, kode byte diterjemahkan ke dalam instruksi mesin dengan cepat dan berjalan dengan kinerja kode yang dikompilasi. EBPF untuk Windows adalah open source di bawah lisensi MIT.

Hari ini kami dengan bangga mengumumkan proyek open source baru dari Microsoft untuk membuat eBPF berfungsi di Windows 10 dan Windows Server 2016 dan yang lebih baru. Proyek ebpf-for-windows bertujuan untuk memungkinkan pengembang menggunakan toolchain eBPF yang sudah dikenal dan antarmuka pemrograman aplikasi (API) di atas versi Windows yang sudah ada. Berdasarkan hasil kerja orang lain, proyek ini mengambil beberapa proyek eBPF open source yang sudah ada dan menambahkan "perekat" agar dapat berjalan di Windows.

eBPF untuk Windows dapat digunakan dengan alat eBPF yang ada dan menyediakan API umum yang digunakan untuk aplikasi eBPF di Linux.

Khususnya proyek memungkinkan Anda untuk mengkompilasi kode yang ditulis dalam C menjadi bytecode eBPF menggunakan compiler eBPF berbasis Clang standar dan jalankan driver eBPF yang sudah dibuat untuk Linux di atas kernel Windows, yang menyediakan lapisan kompatibilitas khusus dan mendukung API Libbpf standar untuk kompatibilitas dengan aplikasi yang berinteraksi dengan program eBPF.

Ini termasuk lapisan tengah yang menyediakan pengikatan mirip Linux untuk XDP (Jalur Data eXpress) dan pengikatan soket yang meringkas akses ke tumpukan jaringan Windows dan driver jaringan. Rencana bertujuan untuk memberikan dukungan tingkat sumber penuh untuk driver Linux eBPF generik.

Perbedaan utama dalam mengimplementasikan eBPF untuk Windows adalah penggunaan pemeriksa bytecode alternatif, yang awalnya diusulkan oleh karyawan VMware dan peneliti dari universitas Kanada dan Israel.

Verifikator dimulai dalam proses terpisah yang terpisah di ruang pengguna dan digunakan sebelum pelaksanaan program BPF untuk mendeteksi kesalahan dan memblokir potensi aktivitas berbahaya.

Untuk validasi, eBPF untuk Windows menggunakan metode analisis statis interpretasi abstrak, apa, Dibandingkan dengan Pemeriksa eBPF untuk Linux, ini menunjukkan tingkat positif palsu yang lebih rendah, mendukung analisis loop dan memberikan skalabilitas yang baik. Metode ini memperhitungkan banyak pola kinerja tipikal yang diperoleh dari analisis program eBPF yang ada.

eBPF adalah teknologi terkenal namun revolusioner yang menyediakan kemampuan program, ekstensibilitas, dan kelincahan. eBPF telah diterapkan pada kasus penggunaan seperti penolakan perlindungan layanan dan observabilitas.

Seiring waktu, ekosistem alat, produk, dan keahlian yang signifikan telah dibangun di sekitar eBPF. Meskipun dukungan untuk eBPF pertama kali diimplementasikan di kernel Linux, ada minat yang semakin besar untuk mengizinkan eBPF digunakan di sistem operasi lain dan juga untuk memperluas layanan daemon dan mode pengguna selain kernel.

Setelah verifikasi, bytecode diteruskan ke interpreter level kernel, atau dikirimkan melalui kompiler JIT, diikuti dengan menjalankan kode mesin yang dihasilkan dengan hak kernel. Untuk mengisolasi driver eBPF di tingkat kernel, mekanisme HVCI (HyperVisor Enhanced Code Integrity) digunakan, yang menggunakan alat virtualisasi untuk melindungi proses di kernel dan memastikan bahwa integritas kode yang dieksekusi ditandatangani secara digital.

Salah satu batasan HVCI adalah kemampuan untuk memeriksa hanya program eBPF yang ditafsirkan dan ketidakmampuan untuk menggunakannya bersama dengan JIT (Anda punya pilihan: kinerja atau perlindungan tambahan).

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentang itu, Anda bisa berkonsultasi link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.