Microsoft ka përgatitur implementimin e eBPF për Windows

Microsoft publikoi një implementim të nënësisë eBPF për Windows, i cili lejon ekzekutimin e trajtuesve të arbitrarë që funksionojnë në nivelin e bërthamës së sistemit operativ. eBPF ofron një interpreter të inkorporuar në bërthamë për bytecode, duke mundësuar krijimin e trajtuesve të operacioneve rrjetore të ngarkueshme nga hapësira e përdoruesit, për të kontrolluar qasjen dhe për të monitoruar funksionimin e sistemeve. eBPF është përfshirë në bërthamën Linux që nga nxjerrja 3.18 dhe lejon përpunimin e paketimeve rrjetore hyrëse/dalëse, ridrejtimin e paketimeve, menaxhimin e bandwidth-it, kapjen e thirrjeve sistemore, kontrollin e qasjes dhe ndihmon në gjurmimin. Falë përdorimit të JIT-kompilimit, bytecode në fluks transponohet në udhëzime makinerie dhe ekzekutohet me performancë të kodit të kompiluar. Kodet burimore eBPF për Windows janë të hapura nën licencën MIT.

eBPF për Windows mund të përdoret me mjetet ekzistuese për të punuar me eBPF dhe ofron një API tipik, të aplikuar për aplikacionet eBPF në Linux. Projekti lejon gjithashtu të kompilosh kodin e shkruar në gjuhën C në bytecode eBPF me ndihmën e kompilatorit standart eBPF që bazohet në Clang dhe të ekzekutosh trajtuesit eBPF të krijuar për Linux mbi bërthamën Windows, duke ofruar një ndërfaqe të veçantë për përputhshmërinë dhe mbështetje standarde për API-në Libbpf për përputhshmërinë me aplikacionet që ndërveprojnë me programet eBPF. Po ashtu ofrohen ndërfaqe që ofrojnë hook-e të ngjashme me Linux për XDP (eXpress Data Path) dhe socket bind, duke abstruar aksesin në grumbullin rrjetor dhe shoferët rrjetorë të Windows. Në planet përfshihet ofrimi i përputhshmërisë së plotë në nivelin e kodeve burimore me trajtuesit tipikë eBPF për Linux.

Microsoft ka përgatitur implementimin e eBPF për Windows

Dallimi kyç i implementimit të eBPF për Windows është përdorimi i një verifikatori alternativ të bytecode, fillimisht të propozuar nga punonjësit e VMware dhe studiues të universiteteve kanadeze dhe israeliote. Verifikatori ekzekutohet në një proces të veçuar të izoluara në hapësirën e përdoruesit dhe aplikohet para ekzekutimit të programeve BPF me qëllim për të identifikuar gabimet dhe për të bllokuar aktivitetin e mundshëm të dëmshëm.

Për verifikimin në eBPF për Windows, përdoret një metodë analize statike e bazuar në interpretimin abstrakt, i cili, në krahasim me verifikuesin e eBPF për Linux, tregon një nivel më të ulët të alarmeve të rreme, mbështet analizën e cikleve dhe siguron një shkallëzim të mirë. Metoda merr parasysh shumë modele ekzekutimi, të nxjerra nga analiza e programeve ekzistuese eBPF.

Pas verifikimit, bytecode-i dërgohet në interpretuesin që punon në nivelin e bërthamës, ose kalon nëpër JIT-kompiluesin me ekzekutimin e mëpasshëm të kodit të makinës rezultues me të drejtat e bërthamës. Për izolimin e trajtuesve eBPF në nivelin e bërthamës përdoret mekanizmi HVCI (Integriteti i Kodit të Zhvilluar nga HyperVisor), i cili shfrytëzon mjetet e virtualizimit për të mbrojtur proceset në bërthamë dhe siguron konfirmimin e integritetit të kodit të ekzekutuar përmes nënshkrimit digjital. Kufizimi i HVCI është mundësia e verifikimit vetëm të programeve eBPF të interpretuara dhe pamundësia e përdorimit të përbashkët me JIT (ofrohet zgjedhja - ose performanca, ose mbrojtja shtesë).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster