seccomp

如何使用 systemd-nspawn 创建限制性系统调用 *白名单*?
seccomp

如何使用 systemd-nspawn 创建限制性系统调用 *白名单*?

我正在尝试使用 锁定容器systemd-nspawn,以便仅有的允许我列入白名单的特定系统调用。每文档,默认情况下有一个相当宽松的过滤器,由数百个不同系统调用的大型白名单组成。有一个单位选项SystemCallFilter=,声称允许您将特定呼叫列入黑名单或白名单。我尝试了一下,在那里放置了一个系统调用并期望完全失败: [Exec] ... # We use way more syscalls than this! This whitelist should fail, but it doesn't because it's not a real white...

Admin

seccomp 与 bcc 的系统调用拦截
seccomp

seccomp 与 bcc 的系统调用拦截

如何使用 seccomp 和 prctl syscall 与 bcc 来拦截系统调用?还有另一种方法可以通过密件抄送实现此目标吗? 我知道用 C 语言编写纯 ebpf 代码是可能的,但它太难理解和使用,我想使用 bcc。 ...

Admin

执行文件命令时出现无效系统调用错误
seccomp

执行文件命令时出现无效系统调用错误

我注意到一件奇怪的事情。当我以普通用户身份运行该file命令时,总是收到无效的系统调用错误。 例如在桀骜: $ file ~/.zshrc [1] 18553 invalid system call file ~/.zshrc 或者在巴什/短跑/嘘: $ file ~/.bashrc Bad system call 它不依赖于目标文件、wm 环境(也发生在 tty 中)并且似乎也不依赖于 shell。 避免此错误的唯一方法是以 root 身份运行该命令或使用以下命令sudo: $ sudo file ~/.bashrc ...

Admin

恶意 seccomp 过滤器如何导致尝试使用“setuid(2)”返回 0,而不实际进行系统调用?
seccomp

恶意 seccomp 过滤器如何导致尝试使用“setuid(2)”返回 0,而不实际进行系统调用?

我正在阅读我的 Debian 系统上的文档seccomp(2),并偶然发现了以下段落中的以下句子: 例如,此类恶意过滤器可能会导致尝试将setuid(2) 调用者的用户 ID 设置为非零值,而不是实际进行系统调用而返回 0。 如何seccomp滥用过滤器来实现上述目的? 如果恶意过滤器不允许setuid(2),则进程可能会收到SIGSYS信号并终止,并且系统调用将不会执行。 如果恶意过滤器允许setuid(2),则execve(2)d 程序将正确更改用户的 UID。 我缺少什么? man seccomp: ... 否则...

Admin