commit | d23ad7927113a86d4b023e18660aabe9697c4a71 | [log] [tgz] |
---|---|---|
author | Jorge Lucangeli Obes <jorgelo@google.com> | Tue Oct 13 10:26:40 2020 -0400 |
committer | Jorge Lucangeli Obes <jorgelo@google.com> | Mon Nov 09 10:02:39 2020 -0500 |
tree | 07a3214934c6aa393690740955d134b0376675e6 | |
parent | 74024f68be2e7f4c890bc02aeb0a28b53310e055 [diff] |
Implement SECCOMP_RET_KILL_PROCESS. On kernels that support it, use SECCOMP_RET_KILL_PROCESS on seccomp violations when the process requests thread-sync. Kernel support can be checked by reading /proc/sys/kernel/seccomp/actions_avail. While we could use RET_KILL_PROCESS everywhere, start by using it in the thread-sync case where we definitely want to kill the entire process if one thread hits a seccomp violation. Bug: chromium:899270 Test: New unit test. Change-Id: I18e5377a1a9dfd1883ab4a95e8f345bdc94431cc
The Minijail homepage is https://google.github.io/minijail/.
The main source repo is https://android.googlesource.com/platform/external/minijail/.
There might be other copies floating around, but this is the official one!
Minijail is a sandboxing and containment tool used in Chrome OS and Android. It provides an executable that can be used to launch and sandbox other programs, and a library that can be used by code to sandbox itself.
You're one git clone
away from happiness.
$ git clone https://android.googlesource.com/platform/external/minijail $ cd minijail
Releases are tagged as linux-vXX
: https://android.googlesource.com/platform/external/minijail/+refs
See the HACKING.md document for more details.
See the RELEASE.md document for more details.
See the tools/README.md document for more details.
We've got a couple of contact points.
The following talk serves as a good introduction to Minijail and how it can be used.
The Chromium OS project has a comprehensive sandboxing document that is largely based on Minijail.
After you play with the simple examples below, you should check that out.
# id uid=0(root) gid=0(root) groups=0(root),128(pkcs11) # minijail0 -u jorgelo -g 5000 /usr/bin/id uid=72178(jorgelo) gid=5000(eng) groups=5000(eng)
# minijail0 -u jorgelo -c 3000 -- /bin/cat /proc/self/status Name: cat ... CapInh: 0000000000003000 CapPrm: 0000000000003000 CapEff: 0000000000003000 CapBnd: 0000000000003000