seccomp-bpf - 如何使用bpf过滤系统调用的参数?

时间:2014-11-30 21:27:47

标签: c filter seccomp bpf

我有一个函数f(),它返回0或1 - 0表示false,1表示true。我想要做的是使用seccomp-bpf设置规则,以便系统调用" fopen"只有当f( - fopen' s first parameter - )== 1。

时才允许

我该怎么做?

1 个答案:

答案 0 :(得分:2)

据我所知,seccomp-bpf对于任意f()都是不可能的。如果f可以转换为BPF序列,只需将其应用于第一个参数。

另一种选择是使用ptrace或者seccomp-buf和ptrace的组合来细化限制fopen调用的功能

此类组合使用的一个示例是sydbox http://dev.exherbo.org/~alip/sydbox/sydbox.html