Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: allow any syscall to be blacklisted with aid of LD_PRELOAD library #1447

Closed
topimiettinen opened this issue Aug 9, 2017 · 3 comments
Labels
enhancement New feature request

Comments

@topimiettinen
Copy link
Collaborator

Currently Firejail can't let seccomp filters block certain system calls because they are used later by Firejail itself after installing the seccomp filter. But Firejail could install a LD_PRELOADed shared library (like libtrace and libtracelog), which would install a seccomp filter for these remaining system calls, in case they are specified by seccomp.drop etc. For example, blocking execve would be very useful. The protection given with this late filter would not be as tight as with the filter installed earlier because some shared libraries may have a chance to run before even a library constructor is run, but the main application would still be fully controlled.

@netblue30
Copy link
Owner

This would be very cool, give it a try!

@netblue30 netblue30 added the enhancement New feature request label Aug 10, 2017
@Ferroin
Copy link
Contributor

Ferroin commented Aug 10, 2017

On the note of exec calls specifically, you may find noexec helpful as a starting point.

@topimiettinen
Copy link
Collaborator Author

@Ferroin: noexec library just overrides libc symbols. That works to a degree, but it can be circumvented. Blocking with a seccomp filter is much more robust.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature request
Projects
None yet
Development

No branches or pull requests

3 participants