SHILL offers language abstractions for reasoning about
the authority of pieces of software and their composition.
Specifically, SHILL (1) introduces a capability-based
scripting language with language abstractions (such as
contracts and wallets) to use capabilities effectively,
and (2) implements, on a commodity operating system,
capability-based sandboxes that extend the guarantees of
the scripting language to binary executables and legacy
applications. These language abstractions, and the enforcement
of these abstractions, make it possible to manage
authority and follow POLP, even when using and
combining untrusted programs.
The rest of the paper is structured as follows. In Section
2 we present the design of SHILL. Our implementation
of SHILL in FreeBSD 9.2 is described in Section 3.
We evaluate SHILL by using it to implement several case
studies, and measure the overhead of SHILL’s security
mechanisms. We present the evaluation results in Section
4. Section 5 describes related work.