Microsoft on ette valmistanud Windowsi eBPF-i juurutamise

Microsoft avalikustas hiljuti postituse kaudu eBPF-i alamsüsteemi juurutamine Windowsi jaoks mis võimaldab teil käivitada suvalisi draivereid, mis töötavad operatsioonisüsteemi tuuma tasemel.

eGMP pakub sisseehitatud baidekooditõlki kernelis kasutajaruumiga koormatud võrgudraiverite loomiseks, juurdepääsu kontrollimiseks ja süsteemi jälgimiseks. eBPF on olnud Linuxi kernelis alates versioonidest 3.18 ja võimaldab töödelda sissetulevaid / väljaminevaid võrgupakette, edasisuunatud pakette, juhtida ribalaiust, pealtkuulata süsteemikõnesid, kontrollida juurdepääsu ja jälgida.

JIT-i kompileerimise kaudu tõlgitakse baidikood lennult masinjuhisteks ja see töötab koos kompileeritud koodi toimimisega. EBPF for Windows on MIT-litsentsi all avatud lähtekoodiga.

Täna on meil hea meel teatada Microsofti uuest avatud lähtekoodiga projektist, mis paneb eBPF-i tööle Windows 10 ja Windows Server 2016 ja uuemates versioonides. Projekti ebpf-for-windows eesmärk on võimaldada arendajatel Windowsi olemasolevate versioonide peal kasutada tuttavaid eBPF-i tööriistakette ja rakenduste programmeerimisliideseid (API-sid). Teiste töö põhjal võtab see projekt mitu olemasolevat avatud lähtekoodiga eBPF-projekti ja lisab "liimi", et need Windowsis töötaksid.

eBPF Windowsi jaoks saab kasutada koos olemasolevate eBPF-i tööriistadega ja pakub üldise API, mida kasutatakse Linuxi eBPF-i rakenduste jaoks.

Eelkõige projekt võimaldab teil kompenseerida C-s kirjutatud koodi baitkoodiks eBPF, kasutades standardset Clangi-põhist eBPF-kompilaatorit ja käivitage Windowsi kerneli peal juba Linuxile ehitatud eBPF-draiverid, mis pakub spetsiaalset ühilduvuskihti ja toetab standardset Libbpf API-d ühilduvuseks rakendustega, mis suhtlevad eBPF-programmidega.

See hõlmab keskmisi kihte, mis pakuvad XDP-le (eXpress Data Path) Linux-i sarnaseid sidemeid, ja soklite sidumisi, mis võtavad kokku juurdepääsu Windowsi võrgupakile ja võrgudraiveritele. Plaanide eesmärk on pakkuda Linuxi üldistele eBPF-draiveritele täielikku lähtekoha taset.

Peamine erinevus eBPF-i juurutamisel Windowsi jaoks on alternatiivse baitkoodikontrolleri kasutamine, mille algselt pakkusid välja VMware töötajad ning Kanada ja Iisraeli ülikoolide teadlased.

Tõendaja käivitatakse eraldi eraldatud protsessis kasutajaruumis ja seda kasutatakse enne BPF-i programmide käivitamist vigade tuvastamiseks ja võimaliku pahatahtliku tegevuse blokeerimiseks.

Kinnitamiseks eBPF for Windows kasutab abstraktse tõlgendamise staatilise analüüsi meetodit, mida, Võrreldes Linuxi eBPF-i tõendajaga näitab see madalamat valepositiivset määra, toetab silmusanalüüsi ja tagab hea mastaapsuse. Meetod võtab arvesse paljusid olemasolevate eBPF-programmide analüüsil saadud tüüpilisi jõudlusmustreid.

eBPF on tuntud, kuid revolutsiooniline tehnoloogia, mis pakub programmeeritavust, laiendatavust ja väledust. eBPF-i on kasutatud selliste juhtumite jaoks nagu teenuse keelamine ja jälgitavus.

Aja jooksul on eBPF-i ümber ehitatud märkimisväärne tööriistade, toodete ja teadmiste ökosüsteem. Ehkki eBPF-i tugi rakendati esmakordselt Linuxi kernelis, on kasvanud huvi lubada eBPF-i kasutada ka teistes opsüsteemides ning laiendada lisaks tuumale ka deemonite ja kasutajarežiimi teenuseid.

Pärast kinnitamist baitkood edastatakse kerneli taseme tõlkile, või viiakse see läbi JIT-kompilaatori, millele järgneb saadud masinkoodi käivitamine tuumaõigustega. EBPF-draiverite eraldamiseks tuuma tasemel kasutatakse HVCI (HyperVisor Enhanced Code Integrity) mehhanismi, mis kasutab tuumas toimuvate protsesside kaitsmiseks virtualiseerimise tööriistu ja tagab täidetava koodi terviklikkuse digitaalse allkirjastamise.

HVCI üks piirang on võime kontrollida ainult tõlgendatud eBPF-programme ja suutmatus neid kasutada koos JIT-iga (teil on valida: täiendav jõudlus või kaitse).

Lõpuks kui olete huvitatud sellest rohkem teada saama, saate nõu pidada järgmine link.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.