seccomp
seccomp 是什么?
seccompLinux 内核机制,用于限制进程可发起的系统调用;现代 seccomp-BPF/eBPF 模式可针对单个 syscall 进行精细过滤。
seccomp(secure computing mode)于 2005 年随 Linux 2.6.12 引入,最初是粗粒度的 'strict' 模式,只允许 read、write、exit、sigreturn 四个系统调用。Linux 3.5(2012)开始提供的 seccomp-BPF 模式允许进程安装经典 BPF(以及之后的 eBPF)程序,检查每个 syscall 号与参数并返回 ALLOW、ERRNO、TRAP、KILL 或 USER_NOTIF。过滤器在 fork/execve 时被继承、安装后不能放宽,并需要 CAP_SYS_ADMIN 或 PR_SET_NO_NEW_PRIVS。seccomp 是 Docker、containerd、Kubernetes、systemd、Chrome 与 Firefox 沙箱、Android Zygote、OpenSSH 特权分离以及 Firecracker 等 Linux microVM 的 syscall 过滤核心。
● 示例
- 01
Docker 默认的 seccomp 配置文件阻止约 44 个高危 syscall。
- 02
Firefox 内容进程使用 seccomp-BPF 丢弃几乎所有 syscall。
● 常见问题
seccomp 是什么?
Linux 内核机制,用于限制进程可发起的系统调用;现代 seccomp-BPF/eBPF 模式可针对单个 syscall 进行精细过滤。 它属于网络安全的 密码学 分类。
seccomp 是什么意思?
Linux 内核机制,用于限制进程可发起的系统调用;现代 seccomp-BPF/eBPF 模式可针对单个 syscall 进行精细过滤。
seccomp 是如何工作的?
seccomp(secure computing mode)于 2005 年随 Linux 2.6.12 引入,最初是粗粒度的 'strict' 模式,只允许 read、write、exit、sigreturn 四个系统调用。Linux 3.5(2012)开始提供的 seccomp-BPF 模式允许进程安装经典 BPF(以及之后的 eBPF)程序,检查每个 syscall 号与参数并返回 ALLOW、ERRNO、TRAP、KILL 或 USER_NOTIF。过滤器在 fork/execve 时被继承、安装后不能放宽,并需要 CAP_SYS_ADMIN 或 PR_SET_NO_NEW_PRIVS。seccomp 是 Docker、containerd、Kubernetes、systemd、Chrome 与 Firefox 沙箱、Android Zygote、OpenSSH 特权分离以及 Firecracker 等 Linux microVM 的 syscall 过滤核心。
如何防御 seccomp?
针对 seccomp 的防御通常结合技术控制与运营实践,详见上方完整定义。
seccomp 还有哪些其他名称?
常见的别称包括: seccomp-BPF, secure computing mode。