Microsoft está trabajando para brindar soporte extendido de Berkeley Packet Filter (eBPF) a Windows

Icono de tiempo de lectura 2 minuto. leer


Los lectores ayudan a respaldar a MSpoweruser. Es posible que obtengamos una comisión si compra a través de nuestros enlaces. Icono de información sobre herramientas

Lea nuestra página de divulgación para descubrir cómo puede ayudar a MSPoweruser a sostener el equipo editorial. Leer más

Informes ZDNet que Microsoft está trabajando para traer la herramienta de seguridad de Linux extendida Berkeley Packet Filter (eBPF) a Windows 10.

Actualmente, la herramienta se puede ejecutar en Windows SubSystem para Linux, pero Microsoft está trabajando en soporte nativo, con el problema de que la herramienta ejecuta código en el contexto del kernel, lo que genera todo tipo de complicaciones de seguridad.

Sin embargo, el trabajo puede valer la pena, ya que eBPF se usa ampliamente en el filtrado, análisis y administración de redes y también para el filtrado de llamadas del sistema y el seguimiento del contexto del proceso, y forma la base de múltiples aplicaciones de seguridad como Cilium, Falco y Tracee; Programas de observación de Kubernetes como Hubble y Pixie, y cadenas de herramientas como Clang.

El proyecto ebpf-for-windows tiene como objetivo tomar varios proyectos de código abierto eBPF existentes y agregar el "pegamento" para que se ejecuten en Windows.

Como se muestra en el diagrama, las cadenas de herramientas eBPF existentes (clang, etc.) se pueden usar para generar bytecode eBPF a partir del código fuente en varios idiomas. El código de bytes puede ser consumido por cualquier aplicación, o a través de la herramienta de línea de comandos Netsh, que usa una biblioteca compartida que expone las API de Libbpf, aunque esto todavía está en progreso.

El código de bytes eBPF se envía a un verificador estático (el verificador PREVAIL) que está alojado en un proceso protegido en modo usuario (un entorno de seguridad de Windows que permite que un componente del kernel confíe en un demonio en modo usuario firmado por una clave en la que confía). Si el código de bytes pasa todas las comprobaciones del verificador, puede cargarse en un intérprete (desde uBPF en el contexto de ejecución en modo kernel) o compilarse JIT (a través del compilador uBPF JIT) y hacer que el código nativo se cargue en la ejecución en modo kernel contexto (pero vea las preguntas frecuentes en la parte inferior sobre HVCI).

Los programas eBPF instalados en el contexto de ejecución en modo kernel pueden adjuntarse a varios ganchos (actualmente dos ganchos hasta el momento: XDP y un gancho de vinculación de socket) y llamar a varias API auxiliares expuestas por eBPF shim, que envuelve internamente las API públicas del kernel de Windows, lo que permite la uso de eBPF en versiones existentes de Windows. Se agregarán más ganchos y ayudantes con el tiempo.

El resultado final será un entorno de alojamiento específico de Windows para eBPF que permitiría a los desarrolladores de Windows utilizar programas eBPF de código abierto sin tener que recodificar.

Primero eche un vistazo al sitio web de la página proyecto ebpf-for-windows en GitHub aquí.

Más sobre los temas: eGMP, microsoft, ventanas 10

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *