Microsoft ha preparat una implementació de eBPF per a Windows

Microsoft va donar a conèixer recentment mitjançant una publicació la implementació de l'subsistema eBPF per a Windows que li permet executar controladors arbitraris que s'executen en el nivell de l'nucli de sistema operatiu.

eBPF proporciona un intèrpret de codi de bytes integrat en el nucli per crear controladors de xarxa carregats d'espai d'usuari, control d'accés i monitorització de el sistema. eBPF s'ha inclòs en el nucli de Linux des de la versió 3.18 i li permet processar paquets de xarxa entrants / sortints, reenviar paquets, controlar l'ample de banda, interceptar trucades a sistema, controlar l'accés i realitzar el seguiment.

A través de la compilació JIT, el codi de bytes es tradueix en instruccions de màquina sobre la marxa i s'executa amb el rendiment de el codi compilat. EBPF per a Windows és de codi obert sota la llicència MIT.

Avui ens complau anunciar un nou projecte de codi obert de Microsoft perquè eBPF funcioni en Windows 10 i Windows Server 2016 i versions posteriors. El projecte ebpf-for-windows té com a objectiu permetre als desenvolupadors utilitzar cadenes d'eines eBPF familiars i interfícies de programació d'aplicacions (API) sobre les versions existents de Windows. Basat en el treball d'altres, aquest projecte pren diversos projectes de codi obert eBPF existents i afegeix el «cola» perquè s'executin en Windows.

eBPF per a Windows es pot utilitzar amb eines eBPF existents i proporciona una API genèrica que s'utilitza per a aplicacions eBPF en Linux.

En particular, el projecte li permet compilar codi escrit en C a codi de bytes eBPF utilitzant el compilador eBPF estàndard basat en Clang i executar controladors eBPF ja creats per a Linux a la part superior de l'nucli de Windows, El que proporciona una capa de compatibilitat especial i admet l'API Libbpf estàndard per compatibilitat amb aplicacions que interactuen amb programes eBPF.

Això inclou capes intermèdies que proporcionen enllaços similars a Linux per XDP (eXpress Data Path) i enllaços d'sòcol que resumeixen l'accés a la pila de xarxa de Windows i als controladors de xarxa. Els plans apunten a proporcionar compatibilitat completa a nivell de font amb controladors eBPF genèrics de Linux.

La diferència clau en la implementació de eBPF per a Windows és l'ús d'un verificador de codi de bytes alternatiu, proposat originalment per empleats i investigadors de VMware d'universitats canadenques i israelians.

El verificador s'inicia en un procés aïllat separat en l'espai de l'usuari i s'utilitza abans de l'execució dels programes BPF per detectar errors i bloquejar possibles activitats malicioses.

Per a la validació, eBPF per Windows utilitza el mètode d'anàlisi estàtic d'interpretació abstracta, Que, en comparació amb el verificador eBPF per a Linux, demostra una taxa de falsos positius més baixa, Admet anàlisi de bucle i proporciona una bona escalabilitat. El mètode té en compte molts patrons d'execució típics obtinguts de l'anàlisi de programes eBPF existents.

eBPF és una tecnologia coneguda però revolucionària que proporciona capacitat de programació, extensibilitat i agilitat. eBPF s'ha aplicat a casos d'ús com la protecció contra la denegació de servei i la observabilitat.

Amb el temps, s'ha construït un ecosistema significatiu d'eines, productes i experiència al voltant de eBPF. Tot i que el suport per eBPF es va implementar per primera vegada en el nucli de Linux, hi ha hagut un interès creixent en permetre que eBPF s'usi en altres sistemes operatius i també per estendre els serveis en mode d'usuari i dimonis a més de l'nucli.

Després de la verificació, el codi de bytes es passa a l'intèrpret de nivell de nucli, o es passa a través de l'compilador JIT, seguit de l'execució de l'codi de màquina resultant amb drets d'nucli. Per aïllar els controladors de eBPF a nivell de nucli, s'utilitza el mecanisme HVCI (integritat de codi reforçada per hypervisor), que utilitza eines de virtualització per protegir els processos en el nucli i garanteix que la integritat de el codi executat estigui signat digitalment.

Una limitació de HVCI és la capacitat de verificar només els programes eBPF interpretats i la impossibilitat d'usar-los juntament amb JIT (té una opció: rendiment o protecció addicional).

Finalment si estàs interessat en conèixer més a l'respecte, pots consultar el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.