eBPF Security Framework Development by Vitor Diego GaleckieBPF Security Framework Development by Vitor Diego Galecki

eBPF Security Framework Development

Vitor Diego Galecki

Vitor Diego Galecki

🛡️ Antivirus eBPF Security Framework

O Antivirus eBPF Security Framework é um projeto de segurança avançado que utiliza o eBPF (extended Berkeley Packet Filter) para implementar um sistema de defesa multicamadas diretamente no kernel Linux. Ele combina um firewall de rede (XDP) de alto desempenho com um módulo de monitoramento de segurança do sistema (LSM), permitindo detecção e mitigação de ameaças com latência mínima.

✨ Características Principais


🚀 Estrutura do Projeto

O projeto é configurado como um Cargo Workspace para separar claramente os componentes de userspace e kernel:
Componente,Tipo,Descrição antivirus-ebpf,Kernel (eBPF),"Contém os programas xdp_firewall, check_security, e file_open. Lida com o processamento de pacotes e eventos de segurança." antivirus,Userspace (Host),"A aplicação Rust que carrega os programas eBPF, injeta a BLOCKLIST e roda o scanner Yara-X contra os eventos de segurança recebidos." antivirus-common,Shared,"Contém structs e tipos de dados compartilhados (ex: LsmEventBin, PacketEvent, ReputationScore) usados pelo eBPF e pelo userspace."

Prerequisites

stable rust toolchains: rustup toolchain install stable
nightly rust toolchains: rustup toolchain install nightly --component rust-src
(if cross-compiling) rustup target: rustup target add ${ARCH}-unknown-linux-musl
(if cross-compiling) LLVM: (e.g.) brew install llvm (on macOS)
(if cross-compiling) C toolchain: (e.g.) brew install filosottile/musl-cross/musl-cross (on macOS)
bpf-linker: cargo install bpf-linker (--no-default-features on macOS)

Build & Run

Use cargo build, cargo check, etc. as normal. Run your program with:

Cargo build scripts are used to automatically build the eBPF correctly and include it in the program.

Cross-compiling on macOS

Cross compilation should work on both Intel and Apple Silicon Macs.

The cross-compiled program target/${ARCH}-unknown-linux-musl/release/antivirus can be copied to a Linux server or VM and run there.

🛑 Como Desanexar e Finalizar

O programa eBPF (xdp_firewall e os hooks LSM) permanecerá ativo no kernel enquanto o processo host (antivirus) estiver em execução. Ao finalizar o processo host normalmente (ex: Ctrl+C ou término do programa), a library aya garante que os programas eBPF sejam automaticamente desanexados e descarregados do kernel, limpando o sistema.
Like this project

Posted Jul 12, 2026

Developed an eBPF-based security framework for Linux kernel.