📑 Table of Contents

Capsicum is an implementation of capability-based security for UNIX and similar systems. Presented at USENIX Security Symposium 2010, the system is part of FreeBSD since its 9.0 release. It has also been adapted to DragonflyBSD in the form of kernel patches.[1] Further technical details can be found in the Ph.D. thesis[2] by Robert Watson.

The system works by chunking the normal permissions up into very small pieces. When a process enters capsicum mode, it loses all permissions normally associated with its controlling user, except "capabilities" it already has in the form of file descriptors. A process can also receive capabilities via Unix sockets. These file descriptors not only control access to the file system, but also to other devices like the network sockets. Flags are also used to control more fine-grained access like reads and writes.[3]

CloudABI

edit

CloudABI is an application binary interface based on capsicum. It keeps the overall capsicum permission model, but uses it to redesign a simplified environment for processes (system calls, C library, etc.) to run on, so that programs become portable to any platform supporting the ABI on the same instruction set architecture. The interface it offers is roughly POSIX minus parts that do not work with capability-based security. As of March 2020, CloudABI is natively a part of FreeBSD, and it can be run on other systems either via a Capsicum-based patch or using a non-secure system call emulator.[4][5]

As of October 2020, CloudABI has been deprecated in favor of WebAssembly System Interface for lack of interest.[4]

References

edit
  1. ^ "Capsicum: practical capabilities for UNIX". Cambridge Computer Laboratory. Retrieved 8 April 2020.
  2. ^ Watson, Robert N. M. (2012). "New approaches to operating system security extensibility". Cambridge Computer Laboratory. doi:10.48456/tr-818. Retrieved 1 April 2024.
  3. ^ Edge, Jake (February 22, 2012). "Capsicum: practical capabilities for UNIX". lwn.net.
  4. ^ a b "NuxiNL/cloudabi". Nuxi. 30 March 2020.
  5. ^ Brown, Neil (February 10, 2016). "CloudABI". lwn.net.
edit


📚 Artikel Terkait di Wikipedia

Executable and Linkable Format

OpenBSD 0x0D OpenVMS 0x0E NonStop Kernel 0x0F AROS 0x10 FenixOS 0x11 Nuxi CloudABI 0x12 Stratus Technologies OpenVOS 0x08 1 e_ident[EI_ABIVERSION] Further

WebAssembly

security. There are additional proposed ABI/APIs. WASI is influenced by CloudABI and Capsicum. Solomon Hykes [fr], a co-founder of Docker, wrote in 2019