Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 120

BPF LSM

BPF LSM 是什么?

BPF LSMLinux 安全模块,允许经过验证的 eBPF 程序挂载到 LSM 钩子,对系统调用、文件、套接字与 capability 实施自定义的强制访问控制。


BPF LSM(BPF Linux Security Module)在 Linux 5.7(2020 年)合入,由 Google 的 KP Singh 等人主导。Linux 安全模块框架在内核中定义了数百个安全钩子(inode_permission、socket_connect、bprm_check、file_open、capable 等),传统 LSM 如 SELinuxAppArmor、Smack、Tomoyo 都基于此实现。BPF LSM 让经过验证的 eBPF 程序在运行时挂到这些同样的钩子上,从而把策略作为编译后的字节码下发,而无需修补内核。Cilium Tetragon、KubeArmor、bpfd 等工具利用 BPF LSM 实施 MAC 控制,例如禁止在容器中对 /tmp 下的二进制执行 execve、阻止对敏感进程的 ptrace,同时支持热加载和 cgroup 感知。它是对 SELinux、AppArmor 的补充而非替代。

示例

  1. 01

    通过 KubeArmor 加载 BPF LSM 程序,在 Kubernetes Pod 中拒绝对非 /usr/bin 二进制的 execve。

  2. 02

    使用 Tetragon 在 bpf/security_ptrace_access_check 钩子上拒绝对加固进程的 ptrace 尝试。

常见问题

BPF LSM 是什么?

Linux 安全模块,允许经过验证的 eBPF 程序挂载到 LSM 钩子,对系统调用、文件、套接字与 capability 实施自定义的强制访问控制。 它属于网络安全的 身份与访问 分类。

BPF LSM 是什么意思?

Linux 安全模块,允许经过验证的 eBPF 程序挂载到 LSM 钩子,对系统调用、文件、套接字与 capability 实施自定义的强制访问控制。

BPF LSM 是如何工作的?

BPF LSM(BPF Linux Security Module)在 Linux 5.7(2020 年)合入,由 Google 的 KP Singh 等人主导。Linux 安全模块框架在内核中定义了数百个安全钩子(inode_permission、socket_connect、bprm_check、file_open、capable 等),传统 LSM 如 SELinux、AppArmor、Smack、Tomoyo 都基于此实现。BPF LSM 让经过验证的 eBPF 程序在运行时挂到这些同样的钩子上,从而把策略作为编译后的字节码下发,而无需修补内核。Cilium Tetragon、KubeArmor、bpfd 等工具利用 BPF LSM 实施 MAC 控制,例如禁止在容器中对 /tmp 下的二进制执行 execve、阻止对敏感进程的 ptrace,同时支持热加载和 cgroup 感知。它是对 SELinux、AppArmor 的补充而非替代。

如何防御 BPF LSM?

针对 BPF LSM 的防御通常结合技术控制与运营实践,详见上方完整定义。

BPF LSM 还有哪些其他名称?

常见的别称包括: LSM BPF, eBPF LSM。

相关术语