We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Formal Metadata

Title
CloudABI
Subtitle
Easily develop sandboxed apps for UNIX
Title of Series
Number of Parts
611
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2017

Content Metadata

Subject Area
Genre
Abstract
One of the fundamental problems with UNIX-like operating systems is that theydon't seem to make it easy and intuitive to develop applications that arestrongly hardened against exploits through sandboxing. With CloudABI, we'retrying to make this process a lot easier. CloudABI is a blend of POSIX and pure capability-based security, which allowsyou to create applications that are only capable of accessing those thingsthat they are designed to use. As you'll see, software also becomes easier totest and deploy as a result of using this model. In this presentation I am going to discuss a project I've been working on overthe last two years, called CloudABI. CloudABI is a simplified POSIX-likeruntime environment that is inspired by FreeBSD's Capsicum. It allows you tocreate programs that can solely interact with the environment through filedescriptors (capabilities). Compared to traditional UNIX-like systems, thisapproach has three advantages: 1. It reduces the impact of exploits. If an attacker manages to take over control of a CloudABI application, it can only access those resources that the application was designed to use (for a networked service: typically an already bound TCP socket and some data directories). This is different from most traditional UNIX-like systems, where an attacker would gain access to all resources that the user running the application can access, which is very broad. 2. It makes applications easier to test. By knowing that an application can only access those resources that are provided explicitly, the entire environment in which the application runs can be customized for testing. 3. Similarly, it makes applications easier to deploy. This model tends to reduce the need for using containers and virtual machines. Applications can be started directly, while still providing the necessary isolation from the rest of the system. In this talk I'm going to explain how CloudABI works in detail, while alsodiscussing some of its design decisions. I'll also show how you can designyour own CloudABI programs. CloudABI is available for Linux, FreeBSD and Mac OS X. A NetBSD port alsoexists.