A Microsoft está trabalhando para trazer suporte estendido ao Berkeley Packet Filter (eBPF) para o Windows

Ícone de tempo de leitura 2 minutos. ler


Os leitores ajudam a oferecer suporte ao MSpoweruser. Podemos receber uma comissão se você comprar através de nossos links. Ícone de dica de ferramenta

Leia nossa página de divulgação para descobrir como você pode ajudar o MSPoweruser a sustentar a equipe editorial Saiba mais

Relatórios ZDNet que a Microsoft está trabalhando para trazer a ferramenta de segurança do Linux estendida Berkeley Packet Filter (eBPF) para o Windows 10.

Atualmente, a ferramenta pode ser executada no Windows SubSystem para Linux, mas a Microsoft está trabalhando no suporte nativo, com o problema de que a ferramenta executa código no contexto do kernel, o que gera todos os tipos de complicações de segurança.

O trabalho pode valer a pena, no entanto, pois o eBPF é amplamente usado em filtragem, análise e gerenciamento de rede e também para filtragem de chamadas de sistema e rastreamento de contexto de processo e forma a base de vários aplicativos de segurança, como Cilium, Falco e Tracee; Programas de observação do Kubernetes, como Hubble e Pixie, e cadeias de ferramentas, como Clang.

O projeto ebpf-for-windows visa pegar vários projetos de código aberto eBPF existentes e adicionar a “cola” para fazê-los rodar no Windows.

Conforme mostrado no diagrama, as cadeias de ferramentas eBPF existentes (clang, etc.) podem ser usadas para gerar bytecode eBPF a partir do código-fonte em vários idiomas. O bytecode pode ser consumido por qualquer aplicativo ou por meio da ferramenta de linha de comando Netsh, que usa uma biblioteca compartilhada que expõe as APIs Libbpf, embora isso ainda esteja em andamento.

O bytecode eBPF é enviado para um verificador estático (o verificador PREVAIL) hospedado em um processo protegido pelo modo de usuário (um ambiente de segurança do Windows que permite que um componente do kernel confie em um daemon do modo de usuário assinado por uma chave confiável). Se o bytecode passar em todas as verificações do verificador, ele pode ser carregado em um interpretador (do uBPF no contexto de execução do modo kernel) ou JIT compilado (através do compilador JIT uBPF) e ter o código nativo carregado na execução do modo kernel contexto (mas veja o FAQ na parte inferior sobre HVCI).

Os programas eBPF instalados no contexto de execução do modo kernel podem se conectar a vários ganchos (atualmente dois ganchos até agora: XDP e um gancho de ligação de soquete) e chamar várias APIs auxiliares expostas pelo eBPF shim, que encapsula internamente as APIs públicas do kernel do Windows, permitindo a uso de eBPF em versões existentes do Windows. Mais ganchos e ajudantes serão adicionados ao longo do tempo.

O resultado final será um ambiente de hospedagem específico do Windows para eBPF, que permitiria aos desenvolvedores do Windows usar programas eBPF de código aberto sem precisar recodificar.

Confira o projeto ebpf-for-windows no GitHub aqui.

Mais sobre os tópicos: eGMP, microsoft, janelas 10

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *