Abstract
The Principle of Least Privilege suggests that software should be executed with no more authority than it requires to accomplish its task. Current security tools make it difficult to apply this principle: they either require significant modifications to applications or do not facilitate reasoning about combining untrustworthy components. We propose SHILL, a secure shell scripting language. SHILL scripts enable compositional reasoning about security through contracts that limit the effects of script execution, including the effects of programs invoked by the script. SHILL contracts are declarative security policies that act as documentation for consumers of SHILL scripts, and are enforced through a combination of language design and sandboxing. We have implemented a prototype of SHILL for FreeBSD and used it for several case studies including a grading script and a script to download, compile, and install software. Our experience indicates that SHILL is a practical and useful system security tool, and can provide fine-grained security guarantees.
Original language | English (US) |
---|---|
Title of host publication | Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2014 |
Publisher | USENIX Association |
Pages | 183-199 |
Number of pages | 17 |
ISBN (Electronic) | 9781931971164 |
State | Published - Jan 1 2014 |
Event | 11th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2014 - Broomfield, United States Duration: Oct 6 2014 → Oct 8 2014 |
Publication series
Name | Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2014 |
---|
Conference
Conference | 11th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2014 |
---|---|
Country/Territory | United States |
City | Broomfield |
Period | 10/6/14 → 10/8/14 |
Funding
We thank Dan Bradley for his contributions to an early version of this work, and Jennifer Kirk for her help with statistical analysis. We are grateful to Leif Andersen, Vincent St-Amour, and Matthias Felleisen for their help profiling SHILL code. We thank Eddie Kohler, the Programming Languages Group at Harvard, and the reviewers for their helpful comments. Many thanks to Frans Kaashoek for his thoughtful shepherding. This research is supported by the Air Force Research Laboratory.
ASJC Scopus subject areas
- Information Systems
- Computer Networks and Communications
- Hardware and Architecture