Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a21e5fffb83c5b65

Jump to content

// Workers AI · dad joke modeWhy was Capsicum hot? Because it added spice to Unix.

From Wikipedia, the free encyclopedia

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. 1 2 "NuxiNL/cloudabi". Nuxi. 30 March 2020.
  5. Brown, Neil (February 10, 2016). "CloudABI". lwn.net.
[edit]