Microsoft ir sagatavojusi eBPF ieviešanu operētājsistēmai Windows

Microsoft atklāja nesen, izmantojot pastu eBPF apakšsistēmas ieviešana operētājsistēmai Windows kas ļauj palaist patvaļīgus draiverus, kas darbojas operētājsistēmas kodola līmenī.

eGMP nodrošina iebūvētu baitkodu tulku kodolā, lai izveidotu lietotāju ar kosmosu aprīkotus tīkla draiverus, piekļuves kontroli un sistēmas uzraudzību. eBPF ir iekļauts Linux kodolā kopš versijas 3.18 un ļauj apstrādāt ienākošās / izejošās tīkla paketes, pāradresācijas paketes, kontrolēt joslas platumu, pārtvert sistēmas zvanus, kontrolēt piekļuvi un izsekot.

Izmantojot JIT kompilāciju, baitu kods tiek pārvērsts mašīnu instrukcijās, kad tas darbojas, un tas darbojas ar apkopotā koda veiktspēju. EBPF operētājsistēmai Windows ir atvērta pirmkoda ar MIT licenci.

Šodien mēs priecājamies paziņot par jaunu Microsoft atvērtā pirmkoda projektu, lai eBPF darbotos operētājsistēmās Windows 10 un Windows Server 2016 un jaunākās versijās. Projekta ebpf-for-windows mērķis ir ļaut izstrādātājiem izmantot jau esošās Windows versijas, izmantojot jau zināmas eBPF rīku ķēdes un lietojumprogrammu saskarnes (API). Pamatojoties uz citu darbu, šim projektam ir vajadzīgi vairāki esošie atvērtā koda eBPF projekti un pievienota "līme", lai tie darbotos operētājsistēmā Windows.

eBPF operētājsistēmai Windows var izmantot ar esošajiem eBPF rīkiem un nodrošina vispārīgu API, kas tiek izmantots eBPF lietojumprogrammām Linux.

Jo īpaši projekts ļauj apkopot C rakstīto kodu baitkodā eBPF, izmantojot standarta Clang bāzes eBPF kompilatoru un palaidiet eBPF draiverus, kas jau ir izveidoti Linux, virs Windows kodola, kas nodrošina īpašu saderības slāni un atbalsta standarta Libbpf API savietojamību ar lietojumprogrammām, kas mijiedarbojas ar eBPF programmām.

Tas ietver vidējos slāņus, kas nodrošina Linux līdzīgas saites XDP (eXpress Data Path) un ligzdu saistījumus, kas apkopo piekļuvi Windows tīkla kaudzei un tīkla draiveriem. Plānu mērķis ir nodrošināt pilnu avota līmeņa atbalstu vispārējiem Linux eBPF draiveriem.

Galvenā atšķirība eBPF ieviešanā operētājsistēmai Windows ir alternatīva baitkodu pārbaudītāja izmantošana, kuru sākotnēji ierosināja VMware darbinieki un pētnieki no Kanādas un Izraēlas universitātēm.

Verificētājs tiek palaists atsevišķā izolētā procesā lietotāja telpā un tiek izmantots pirms BPF programmu izpildes, lai atklātu kļūdas un bloķētu iespējamo ļaunprātīgo darbību.

Lai apstiprinātu, eBPF operētājsistēmai Windows izmanto abstraktas interpretācijas statiskās analīzes metodi, kas, Salīdzinot ar Linux eBPF verificētāju, tas parāda zemāku viltus pozitīvo rādītāju, atbalsta cilpu analīzi un nodrošina labu mērogojamību. Metode ņem vērā daudzus tipiskus veiktspējas modeļus, kas iegūti, analizējot esošās eBPF programmas.

eBPF ir plaši pazīstama, bet revolucionāra tehnoloģija, kas nodrošina programmējamību, paplašināmību un veiklību. eBPF ir piemērots tādiem lietošanas gadījumiem kā pakalpojuma atteikuma aizsardzība un novērojamība.

Laika gaitā ap eBPF ir izveidojusies ievērojama rīku, produktu un zināšanu ekosistēma. Lai gan atbalsts eBPF vispirms tika ieviests Linux kodolā, arvien lielāka interese ir ļaut eBPF izmantot citās operētājsistēmās, kā arī paplašināt dēmonus un lietotāja režīma pakalpojumus papildus kodolam.

Pēc verifikācijas baitkods tiek nodots kodola līmeņa tulkotājam, vai arī tas tiek izlaists caur JIT kompilatoru, kam seko iegūtā mašīnas koda palaišana ar kodola tiesībām. Lai izolētu eBPF draiverus kodola līmenī, tiek izmantots HVCI (HyperVisor Enhanced Code Integrity) mehānisms, kas izmanto virtualizācijas rīkus, lai aizsargātu kodola procesus un nodrošinātu izpildītā koda integritātes digitālu parakstīšanu.

Viens HVCI ierobežojums ir spēja pārbaudīt tikai interpretētās eBPF programmas un nespēja tās izmantot kopā ar JIT (jums ir izvēle: papildu veiktspēja vai aizsardzība).

Beidzot ja jūs interesē uzzināt vairāk par to, jūs varat konsultēties šo saiti.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.