如何找到所有必须在seccomp列入白名单的syscall?

时间:2018-07-01 16:19:29

标签: linux system-calls seccomp

我有一个想要使用seccomp(v2)沙箱的现有程序。

如何找到允许该程序使用的seccomp规则?


我尝试为seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(…), 0)打印的所有系统调用添加strace -xfc a.out,但是显然这还不够,因为运行程序时我仍然收到“ SIGSYS,错误的系统调用”使用seccomp。

1 个答案:

答案 0 :(得分:1)

最可靠的方法可能是将seccomp过滤器切换为返回SECCOMP_RET_TRAP(“在发生错误时发送可捕获的SIGSYS”)而不是SECCOMP_RET_KILL(“使用不可捕获的{ {1}}”),然后从信号处理程序中打印SIGSYS,然后自杀。