Microsoft, Windows için bir eBPF uygulaması hazırladı

Microsoft açıkladı son zamanlarda bir gönderi aracılığıyla Windows için eBPF alt sisteminin uygulanması bu, işletim sisteminin çekirdek düzeyinde çalışan rastgele sürücüleri çalıştırmanıza olanak tanır.

eGMP yerleşik bir bayt kodu yorumlayıcısı sağlar çekirdekte kullanıcı alanı yüklü ağ sürücüleri, erişim kontrolü ve sistem izleme oluşturmak için. eBPF 3.18 sürümünden beri Linux çekirdeğine dahil edilmiştir ve gelen / giden ağ paketlerini işlemenize, paketleri iletmenize, bant genişliğini kontrol etmenize, sistem çağrılarına müdahale etmenize, erişimi kontrol etmenize ve izlemenize olanak tanır.

JIT derlemesi aracılığıyla, bayt kodu anında makine talimatlarına çevrilir ve derlenen kodun performansıyla çalışır. Windows için EBPF, MIT lisansı altında açık kaynak kodludur.

Bugün, eBPF'nin Windows 10 ve Windows Server 2016 ve sonrasında çalışmasını sağlamak için Microsoft'tan yeni bir açık kaynak projesini duyurmaktan mutluluk duyuyoruz. Windows için ebpf projesi, geliştiricilerin bilinen eBPF araç zincirlerini ve uygulama programlama arayüzlerini (API'ler) Windows'un mevcut sürümlerinin üzerinde kullanmalarını sağlamayı amaçlamaktadır. Başkalarının çalışmalarına dayalı olarak, bu proje birkaç mevcut açık kaynak eBPF projesini alır ve bunların Windows üzerinde çalışmasını sağlamak için "yapıştırıcı" ekler.

Windows için eBPF mevcut eBPF araçlarıyla kullanılabilir ve Linux'taki eBPF uygulamaları için kullanılan genel bir API sağlar.

Özellikle proje, C ile yazılmış kodu bayt koduna derlemenizi sağlar Standart Clang tabanlı eBPF derleyicisini kullanan eBPF ve Windows çekirdeğinin üzerine Linux için zaten oluşturulmuş eBPF sürücülerini çalıştırın, özel bir uyumluluk katmanı sağlayan ve eBPF programlarıyla etkileşim kuran uygulamalarla uyumluluk için standart Libbpf API'yi destekleyen.

Bu, XDP (eXpress Veri Yolu) için Linux benzeri bağlantılar sağlayan orta katmanları ve Windows ağ yığınına ve ağ sürücülerine erişimi özetleyen soket bağlamalarını içerir. Planlar, genel Linux eBPF sürücüleri için tam kaynak düzeyinde destek sağlamayı amaçlamaktadır.

Windows için eBPF'nin uygulanmasındaki temel fark, orijinal olarak VMware çalışanları ve Kanada ve İsrail üniversitelerinden araştırmacılar tarafından önerilen alternatif bir bayt kodu denetleyicisinin kullanılmasıdır.

Doğrulayıcı, kullanıcı alanında ayrı bir izole işlemde başlatılır ve hataları tespit etmek ve olası kötü niyetli etkinlikleri engellemek için BPF programlarının yürütülmesinden önce kullanılır.

Doğrulama için, eBPF for Windows, soyut yorumlama statik analiz yöntemini kullanır, ne, Linux için eBPF doğrulayıcıyla karşılaştırıldığında, daha düşük bir yanlış pozitif oranı gösterir, döngü analizini destekler ve iyi bir ölçeklenebilirlik sağlar. Yöntem, mevcut eBPF programlarının analizinden elde edilen birçok tipik performans modelini hesaba katar.

eBPF, programlanabilirlik, genişletilebilirlik ve çeviklik sağlayan iyi bilinen ancak devrim niteliğinde bir teknolojidir. eBPF, hizmet reddi koruması ve gözlemlenebilirlik gibi kullanım durumlarına uygulanmıştır.

Zamanla, eBPF etrafında önemli bir araç, ürün ve uzmanlık ekosistemi oluştu. EBPF desteği ilk olarak Linux çekirdeğinde uygulanmış olsa da, eBPF'nin diğer işletim sistemlerinde kullanılmasına ve ayrıca çekirdeğe ek olarak arka plan yordamlarını ve kullanıcı modu hizmetlerini genişletmeye yönelik artan bir ilgi vardır.

Doğrulamadan sonra, bayt kodu çekirdek seviyesi yorumlayıcısına aktarılır, veya JIT derleyicisinden geçirilir ve ardından elde edilen makine kodu çekirdek haklarıyla çalıştırılır. EBPF sürücülerini çekirdek düzeyinde izole etmek için, çekirdekteki işlemleri korumak için sanallaştırma araçlarını kullanan ve yürütülen kodun bütünlüğünün dijital olarak imzalanmasını sağlayan HVCI (HyperVisor Enhanced Code Integrity) mekanizması kullanılır.

HVCI'nin bir sınırlaması, yalnızca yorumlanmış eBPF programlarını kontrol etme yeteneği ve bunları JIT ile bağlantılı olarak kullanamamasıdır (bir seçeneğiniz vardır: ek performans veya koruma).

Nihayet hakkında daha fazla bilgi edinmek istiyorsanız, danışabilirsin aşağıdaki bağlantı.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.