|
SB++
Sandbox applications
|
Syscall Filter Generation This header includes the filter() command for generating a SECCOMP-BPF filter to restrict syscall within the sandbox. Moving to C/C++ allows us to use the libseccomp library directory, which is already installed on any systemd system, allowing us to avoid a dependency where the python bindings are packaged separately. Implementation wise, the groups have been removed, as have numerical syscall numbers. Groups were a bad idea from the start; any system that combines syscalls will introduce more attack surface, especially for a grouping to be broad enough that a filter can be made by hand–the original goal. This also means that offering syscalls on the command line are not supported. Secondly, while portability of the application folders isn't a must, numerical syscalls make the files nebulous and system-specific. More...
Functions | |
| std::string | filter (const std::string &application) |
| Generate a syscall filter. | |
| void | update_policy (const std::string &application, const shared::vector &straced) |
| Append an existing policy with newly discovered syscalls. | |
Syscall Filter Generation This header includes the filter() command for generating a SECCOMP-BPF filter to restrict syscall within the sandbox. Moving to C/C++ allows us to use the libseccomp library directory, which is already installed on any systemd system, allowing us to avoid a dependency where the python bindings are packaged separately. Implementation wise, the groups have been removed, as have numerical syscall numbers. Groups were a bad idea from the start; any system that combines syscalls will introduce more attack surface, especially for a grouping to be broad enough that a filter can be made by hand–the original goal. This also means that offering syscalls on the command line are not supported. Secondly, while portability of the application folders isn't a must, numerical syscalls make the files nebulous and system-specific.
| std::string syscalls::filter | ( | const std::string & | application | ) |
Generate a syscall filter.
| application | The application. |
Here is the call graph for this function:
Here is the caller graph for this function:| void syscalls::update_policy | ( | const std::string & | application, |
| const shared::vector & | straced ) |
Append an existing policy with newly discovered syscalls.
| application | The name of the application, to locate the syscalls.txt |
| strace | The output of an straced-run. |
Here is the call graph for this function: