【问题标题】:seccomp-bpf - how can i use bpf to filter the arguments of a system call?seccomp-bpf - 如何使用 bpf 过滤系统调用的参数?
【发布时间】:2014-11-30 21:27:47
【问题描述】:

我有一个函数 f(),它返回 0 或 1 - 0 表示假,1 表示真。我想做的是用 seccomp-bpf 设置一个规则,这样系统调用“fopen”只有在 f(--fopen 的第一个参数--) == 1 时才被允许。

我该怎么做?

【问题讨论】:

    标签: c filter seccomp bpf


    【解决方案1】:

    据我了解 seccomp-bpf 任意 f() 是不可能的。如果 f 可以翻译为 BPF 序列,只需将其应用于第一个参数。

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

    这种组合使用的一个例子是 sydbox http://dev.exherbo.org/~alip/sydbox/sydbox.html

    【讨论】:

      猜你喜欢
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      相关资源
      最近更新 更多