我想使用EBPF并在打开的系统调用上放置一个探针,因此当用户想要打开某个文件时,我将检查其名称,如果它是目标名称,我将阻止其打开。唯一的事情是我不知道如何实际实现这个目标。
此外,如果您可以指定某种解决方案是否适用于长袍或根探头,我将不胜感激。非常感谢。
TL; DR。当前无法使用BPF进行此操作。
尽管Linux内核中目前没有[[使用eBPF在系统调用上强制执行策略的选项。不过,这可能会随着基于eBPF的LSM(Linux安全模块)的引入而改变(请参阅Kernel Runtime Security Instrumentation,KRSI — the other BPF security module,和KRSI and proprietary BPF programs)。
但是您可以通过seccomp-bpf在系统调用上执行策略
,但它使用的是旧的BPF字节码cBPF而不是eBPF。但是,对于security reasons,无法检查使用seccomp-bpf的指针传递的syscall参数];因此您将无法检查正在打开的文件的名称。