eBPF(Extended Berkeley Packet Filter) 允许开发者在无需修改内核源码或加载内核模块的前提下,在 Linux 内核事件触发点安全运行沙箱字节码。它已成为现代云原生安全与实时入侵防御(HIDS)的核心基石。
一、eBPF LSM 挂载点示例
c
#include <vmlinux.h>
#include <bpf/bpf_tracing.h>
SEC("lsm/bprm_check_security")
int BPF_PROG(restrict_exec, struct linux_binprm *bprm) {
char comm[16];
bpf_get_current_comm(&comm, sizeof(comm));
// 阻止非受信进程执行高危系统调用
return 0;
}
char LICENSE[] SEC("license") = "GPL";