seccomp, как обрабатывать события ptrace
Я использую seccomp
фильтры для ограничения системных вызовов, выполняемых процессом. Вполне понятно, что использование белого списка системных вызовов для разрешения и запрета системных вызовов. Я застрял на концепции ptrace
события, созданные seccomp
правила. Например я могу запретить open
но я хочу генерировать ptrace
событие на open
системный вызов, чтобы я мог определить, может ли процесс открыть этот файл или нет. Мой конкретный вопрос: как отловить событие ptrace, генерируемое seccomp? Любая помощь или ссылка будет большим благословением.
Я погуглила в своем скромном качестве, но не нашла никакой помощи и не показала пример.
1 ответ
Вам нужно иметь отдельную программу, которая отслеживает низшие. Этот трассировщик должен позвонить
ptrace(PTRACE_SETOPTIONS, tracee_pid, 0, PTRACE_O_TRACESECCOMP);
запрашивать уведомления и звонить
waitpid(tracee_pid, &status, __WALL);
быть уведомленным. когда waitpid
возвращается, анализировать status
и получить уведомление через
unsigned long data;
ptrace(PTRACE_GETEVENTMSG, tracee_pid, 0, &data);