2014-11-30 3 views
1

У меня есть функция f(), которая возвращает 0 или 1 - 0 для false, 1 для true. То, что я хотел бы сделать, это установить правило с seccomp-bpf, чтобы системный вызов «fopen» разрешен только в том случае, если f (- первый параметр fopen--) == 1.seccomp-bpf - как я могу использовать bpf для фильтрации аргументов системного вызова?

Как бы это сделать ?

ответ

2

Насколько я понимаю, seccomp-bpf невозможно для произвольного f(). Если f можно перевести как последовательность BPF, просто примените ее к первому параметру.

другой альтернативой является использование ptrace или комбинацию Seccomp-BUF и ptrace, чтобы ограничить мелкозернистый возможности FOPEN вызова

пример такого комбинированного использования является sydbox http://dev.exherbo.org/~alip/sydbox/sydbox.html

Смежные вопросы