Microsoft ti pese imuse eBPF kan fun Windows

Microsoft ti ṣe atẹjade imuse ti eBPF subsystem fun Windows, eyiti o fun ọ laaye lati ṣe ifilọlẹ awọn olutọju lainidii ti n ṣiṣẹ ni ipele ekuro ẹrọ iṣẹ. eBPF n pese onitumọ bytecode ti a ṣe sinu ekuro, eyiti o jẹ ki o ṣee ṣe lati ṣẹda awọn oluṣakoso iṣẹ nẹtiwọọki ti kojọpọ lati aaye olumulo, iwọle iṣakoso ati atẹle iṣẹ ti awọn eto. eBPF ti wa ninu ekuro Linux lati igba itusilẹ 3.18 ati gba ọ laaye lati mu awọn apo-iwe nẹtiwọọki ti nwọle / ti njade, fifiranšẹ soso, iṣakoso bandiwidi, idalọwọduro ipe eto, iṣakoso wiwọle ati wiwa kakiri. Ṣeun si lilo akopọ JIT, bytecode ti wa ni itumọ lori fifo sinu awọn ilana ẹrọ ati ṣiṣe pẹlu iṣẹ ti koodu ti o ṣajọ. eBPF fun Windows jẹ orisun ṣiṣi labẹ iwe-aṣẹ MIT.

eBPF fun Windows le ṣee lo pẹlu awọn irinṣẹ eBPF to wa ati pese API jeneriki ti a lo fun awọn ohun elo eBPF lori Lainos. Ninu awọn ohun miiran, iṣẹ akanṣe naa ngbanilaaye lati ṣajọ koodu ti a kọ sinu C sinu eBPF bytecode nipa lilo olupilẹṣẹ eBPF ti o da lori Clang boṣewa ati ṣiṣe awọn olutọju eBPF ti a ṣẹda tẹlẹ fun Linux lori ekuro Windows, pese ipele ibamu pataki ati atilẹyin boṣewa Libbpf. API fun ibamu pẹlu awọn ohun elo ti o nlo pẹlu awọn eto eBPF. Eyi pẹlu awọn ipele ti o pese awọn kio bii Lainos fun XDP (Ọna data eXpress) ati asopọ socket, iwọle abstraction si akopọ nẹtiwọọki ati awọn awakọ nẹtiwọọki Windows. Awọn ero pẹlu ipese ibamu koodu orisun ni kikun pẹlu awọn ilana Linux eBPF boṣewa.

Microsoft ti pese imuse eBPF kan fun Windows

Iyatọ bọtini laarin imuse eBPF fun Windows ni lilo oluṣayẹwo bytecode yiyan, ti ipilẹṣẹ ni ipilẹṣẹ nipasẹ awọn oṣiṣẹ VMware ati awọn oniwadi lati awọn ile-ẹkọ giga Ilu Kanada ati Israeli. Oludaniloju nṣiṣẹ ni ọna ti o yatọ, ti o ya sọtọ ni aaye olumulo ati pe o lo ṣaaju ṣiṣe awọn eto BPF lati ṣe idanimọ awọn aṣiṣe ati dènà iṣẹ-ṣiṣe irira ti o ṣeeṣe.

Fun ijẹrisi, eBPF fun Windows nlo ọna itupalẹ aimi ti o da lori Itumọ Abstract, eyiti, ni akawe si oludaniloju eBPF fun Lainos, ṣe afihan oṣuwọn rere eke kekere kan, ṣe atilẹyin itupalẹ loop, ati pese iwọn to dara. Ọna naa ṣe akiyesi ọpọlọpọ awọn ilana ipaniyan aṣoju ti o gba lati inu itupalẹ ti awọn eto eBPF ti o wa.

Lẹhin ijẹrisi, a gbe bytecode lọ si onitumọ ti n ṣiṣẹ ni ipele kernel, tabi kọja nipasẹ olupilẹṣẹ JIT kan, atẹle nipa ipaniyan ti koodu ẹrọ abajade pẹlu awọn ẹtọ ekuro. Lati ya sọtọ awọn olutọju eBPF ni ipele kernel, HVCI (HyperVisor-enforced Code Integrity) siseto ti lo, eyiti o nlo awọn irinṣẹ agbara lati daabobo awọn ilana ninu ekuro ati pese ijẹrisi ti iduroṣinṣin ti koodu ipaniyan nipa lilo ibuwọlu oni-nọmba kan. Idiwọn ti HVCI ni pe o le rii daju awọn eto eBPF ti o tumọ nikan ko si le ṣee lo ni apapo pẹlu JIT (o ni yiyan boya iṣẹ ṣiṣe tabi aabo afikun).

orisun: opennet.ru

Fi ọrọìwòye kun