| OLD | NEW |
| 1 # Linux Sandboxing | 1 # Linux Sandboxing |
| 2 | 2 |
| 3 Chromium uses a multiprocess model, which allows to give different privileges | 3 Chromium uses a multiprocess model, which allows to give different privileges |
| 4 and restrictions to different parts of the browser. For instance, we want | 4 and restrictions to different parts of the browser. For instance, we want |
| 5 renderers to run with a limited set of privileges since they process untrusted | 5 renderers to run with a limited set of privileges since they process untrusted |
| 6 input and are likely to be compromised. Renderers will use an IPC mechanism to | 6 input and are likely to be compromised. Renderers will use an IPC mechanism to |
| 7 request access to resource from a more privileged (browser process). | 7 request access to resource from a more privileged (browser process). |
| 8 You can find more about this general design | 8 You can find more about this general design |
| 9 [here](http://dev.chromium.org/developers/design-documents/sandbox). | 9 [here](http://dev.chromium.org/developers/design-documents/sandbox). |
| 10 | 10 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 | 39 |
| 40 ## Sandbox types summary | 40 ## Sandbox types summary |
| 41 | 41 |
| 42 | **Name** | **Layer and process** | **Linux flavors where available** | **State
** | | 42 | **Name** | **Layer and process** | **Linux flavors where available** | **State
** | |
| 43 |:---------|:----------------------|:----------------------------------|:-------
---| | 43 |:---------|:----------------------|:----------------------------------|:-------
---| |
| 44 | [Setuid sandbox](#The_setuid_sandbox.md) | Layer-1 in Zygote processes (render
ers, PPAPI, [NaCl](http://www.chromium.org/nativeclient), some utility processes
) | Linux distributions and Chrome OS | Enabled by default (old kernels) and mai
ntained | | 44 | [Setuid sandbox](#The_setuid_sandbox.md) | Layer-1 in Zygote processes (render
ers, PPAPI, [NaCl](http://www.chromium.org/nativeclient), some utility processes
) | Linux distributions and Chrome OS | Enabled by default (old kernels) and mai
ntained | |
| 45 | [User namespaces sandbox](#User_namespaces_sandbox.md) | Modern alternative to
the setuid sandbox. Layer-1 in Zygote processes (renderers, PPAPI, [NaCl](http:
//www.chromium.org/nativeclient), some utility processes) | Linux distributions
and Chrome OS (kernel >= 3.8) | Enabled by default (modern kernels) and actively
developed | | 45 | [User namespaces sandbox](#User_namespaces_sandbox.md) | Modern alternative to
the setuid sandbox. Layer-1 in Zygote processes (renderers, PPAPI, [NaCl](http:
//www.chromium.org/nativeclient), some utility processes) | Linux distributions
and Chrome OS (kernel >= 3.8) | Enabled by default (modern kernels) and actively
developed | |
| 46 | [Seccomp-BPF](#The_seccomp-bpf_sandbox.md) | Layer-2 in some Zygote processes
(renderers, PPAPI, [NaCl](http://www.chromium.org/nativeclient)), Layer-1 + Laye
r-2 in GPU process | Linux kernel >= 3.5, Chrome OS and Ubuntu | Enabled by defa
ult and actively developed | | 46 | [Seccomp-BPF](#The_seccomp-bpf_sandbox.md) | Layer-2 in some Zygote processes
(renderers, PPAPI, [NaCl](http://www.chromium.org/nativeclient)), Layer-1 + Laye
r-2 in GPU process | Linux kernel >= 3.5, Chrome OS and Ubuntu | Enabled by defa
ult and actively developed | |
| 47 | [Seccomp-legacy](#The_seccomp_sandbox.md) | Layer-2 in renderers | All
| [Deprecated](https://src.chromium.org/viewvc/chrome?re
vision=197301&view=revision) | | 47 | [Seccomp-legacy](#The_seccomp_sandbox.md) | Layer-2 in renderers | All
| [Deprecated](https://src.chromium.org/viewvc/chrome?re
vision=197301&view=revision) | |
| 48 | [SELinux](#SELinux.md) | Layer-1 in Zygote processes (renderers, PPAPI) | SELi
nux distributions | [Deprecated](https://src.chromium.org/viewvc/chr
ome?revision=200838&view=revision) | | 48 | [SELinux](#SELinux.md) | Layer-1 in Zygote processes (renderers, PPAPI) | SELi
nux distributions | [Deprecated](https://src.chromium.org/viewvc/chr
ome?revision=200838&view=revision) | |
| 49 | Apparmor | Outer layer-1 in Zygote processes (renderers, PPAPI) | Not used
| Deprecated | | 49 | AppArmor | Outer layer-1 in Zygote processes (renderers, PPAPI) | Not used
| Deprecated | |
| 50 | 50 |
| 51 ## The setuid sandbox | 51 ## The setuid sandbox |
| 52 | 52 |
| 53 Also called SUID sandbox, our main layer-1 sandbox. | 53 Also called SUID sandbox, our main layer-1 sandbox. |
| 54 | 54 |
| 55 A SUID binary that will create a new network and PID namespace, as well as | 55 A SUID binary that will create a new network and PID namespace, as well as |
| 56 `chroot()` the process to an empty directory on request. | 56 `chroot()` the process to an empty directory on request. |
| 57 | 57 |
| 58 To disable it, use `--disable-setuid-sandbox`. (Do not remove the binary or | 58 To disable it, use `--disable-setuid-sandbox`. (Do not remove the binary or |
| 59 unset `CHROME_DEVEL_SANDBOX`, it is not supported). | 59 unset `CHROME_DEVEL_SANDBOX`, it is not supported). |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 | 142 |
| 143 * [this page](linux_suid_sandbox_development.md) for the `setuid` sandbox | 143 * [this page](linux_suid_sandbox_development.md) for the `setuid` sandbox |
| 144 * [this page](http://www.chromium.org/for-testers/bug-reporting-guidelines/han
ging-tabs) | 144 * [this page](http://www.chromium.org/for-testers/bug-reporting-guidelines/han
ging-tabs) |
| 145 for triggering crashes | 145 for triggering crashes |
| 146 * [this page for debugging tricks](linux_debugging.md) | 146 * [this page for debugging tricks](linux_debugging.md) |
| 147 | 147 |
| 148 ## See also | 148 ## See also |
| 149 | 149 |
| 150 * [LinuxSandboxIPC](linux_sandbox_ipc.md) | 150 * [LinuxSandboxIPC](linux_sandbox_ipc.md) |
| 151 * [How Chromium's Linux sandbox affects Native Client](https://chromium.google
source.com/native_client/src/native_client.git/+/master/docs/linux_outer_sandbox
.md) | 151 * [How Chromium's Linux sandbox affects Native Client](https://chromium.google
source.com/native_client/src/native_client.git/+/master/docs/linux_outer_sandbox
.md) |
| OLD | NEW |