CAPSICUM(4) | MidnightBSD Kernel Interfaces Manual | CAPSICUM(4) |
Capsicum
—
lightweight OS capability and sandbox framework
options CAPABILITY_MODE
options CAPABILITIES
Capsicum
is a lightweight OS capability
and sandbox framework implementing a hybrid capability system model.
Capabilities are unforgeable tokens of authority that can be delegated and
must be presented to perform an action. Capsicum
makes file descriptors into capabilities.
Capsicum
can be used for application and
library compartmentalisation, the decomposition of larger bodies of software
into isolated (sandboxed) components in order to implement security policies
and limit the impact of software vulnerabilities.
Capsicum
provides two core kernel
primitives:
In some cases, Capsicum
requires use of
alternatives to traditional POSIX APIs in order to name objects using
capabilities rather than global namespaces:
In some cases, Capsicum
limits the valid
values of some parameters to traditional APIs in order to restrict access to
global namespaces:
cap_enter(2), cap_fcntls_limit(2), cap_getmode(2), cap_ioctls_limit(2), cap_rights_limit(2), fchmod(2), open(2), pdfork(2), pdgetpid(2), pdkill(2), pdwait4(2), read(2), shm_open(2), write(2), cap_rights_get(3), libcasper(3), procdesc(4)
Capsicum
first appeared in
FreeBSD 9.0, and was developed at the University of
Cambridge.
Capsicum
was developed by
Robert Watson
<rwatson@FreeBSD.org>
and Jonathan Anderson
<jonathan@FreeBSD.org>
at the University of Cambridge, and Ben Laurie
<benl@FreeBSD.org>
and Kris Kennaway
<kris@FreeBSD.org> at
Google, Inc., and Pawel Jakub Dawidek
<pawel@dawidek.net>.
April 19, 2022 | midnightbsd-3.1 |