skip to main content
research-article
Free Access

A taste of Capsicum: practical capabilities for UNIX

Published:01 March 2012Publication History
Skip Abstract Section

Abstract

Capsicum is a lightweight operating system (OS) capability and sandbox framework planned for inclusion in FreeBSD 9. Capsicum extends, rather than replaces, UNIX APIs, providing new kernel primitives (sandboxed capability mode and capabilities) and a userspace sandbox API. These tools support decomposition of monolithic UNIX applications into compartmentalized logical applications, an increasingly common goal that is supported poorly by existing OS access control primitives. We demonstrate our approach by adapting core FreeBSD utilities and Google's Chromium Web browser to use Capsicum primitives, and compare the complexity and robustness of Capsicum with other sandboxing techniques.

References

  1. Accetta, M., Baron, R., Golub, D., Rashid, R., Tevanian, A., Young, M. Mach: A New Kernel Foundation for UNIX Development. Technical report, Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, Aug. 1986.Google ScholarGoogle Scholar
  2. Bittau, A., Marchenko, P., Handley, M., Karp, B. Wedge: Splitting applications into reduced-privilege compartments. In Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation (2008), USENIX Association, 309--322. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Cohen, E., Jefferson, D. Protection in the Hydra operating system. In SOSP'75: Proceedings of the Fifth ACM Symposium on Operating Systems Principles (1975), ACM, NY, 141--160. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Garfinkel, T., Pfa, B., Rosenblum, M. Ostia: A delegating architecture for secure system call interposition. In Proceedings of the Internet Society (2003).Google ScholarGoogle Scholar
  5. Google, Inc. The Chromium Project: Design Documents: OS X Sandboxing Design. http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design, Oct. 2010.Google ScholarGoogle Scholar
  6. Hardy, N. KeyKos architecture. SIGOPS Oper. Syst. Rev. 19, 4 (1985), 8--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Kilpatrick, D. Privman: A library for partitioning applications. In Proceedings of USENIX Annual Technical Conference (2003), USENIX Association, 273--284.Google ScholarGoogle Scholar
  8. Liedtke, J. On microkernel construction. In SOSP'95: Proceedings of the 15th ACM Symposium on Operating System, Principles (Copper Mountain resort, CO, Dec. 1995). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Loscocco, P.A., Smalley, S.D. Integrating flexible support for security policies into the Linux operating system. In Proceedings of the USENIX Annual Technical Conference (June 2001), USENIX Association, 29--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Murray, D.G., Hand, S. Privilege separation made easy. In Proceedings of the ACM SIGOPS European Workshop on System, Security (EUROSEC) (2008), ACM, 40--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Neumann, P.G., Boyer, R.S., Feiertag, R.J., Levitt, K.N., Robinson, L. A Provably Secure Operating System: The System, Its Applications, and Proofs, Second Edition. Technical Report CSL-116, Computer Science Laboratory, SRI International, Menlo Park, CA, May 1980.Google ScholarGoogle Scholar
  12. Provos, N., Friedl, M., Honeyman, P. Preventing privilege escalation. In Proceedings of the 12th USENIX Security Symposium (2003), USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Reis, C., Gribble, S.D. Isolating web programs in modern browser architectures. In EuroSys'09: Proceedings of the 4th ACM European Conference on Computer Systems (2009), ACM, NY, 219--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Saltzer, J.H., Schroeder, M.D. The protection of information in computer systems. In Proceedings of the IEEE 63, 9 (Sep. 1975), 1278--1308.Google ScholarGoogle ScholarCross RefCross Ref
  15. Sami Saydjari, O. Lock: An historical perspective. In Proceedings of the 18th Annual Computer Security Applications Conference (2002), IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Seaborn, M. Plash: Tools for practical least privilege, 2007. http://plash.beasts.org/Google ScholarGoogle Scholar
  17. Shapiro, J., Smith, J., Farber, D. EROS: A fast capability system. In SOSP'99: Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles, Dec. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Watson, R.N.M., Anderson, J., Laurie, B., Kennaway, K. Capsicum: Practical capabilities for UNIX. In Proceedings of the 19th USENIX Security Symposium (2010), USENIX Association, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Watson, R.N.M., Feldman, B., Migus, A., Vance, C. Design and implementation of the TrustedBSD MAC framework. In Proceedings of the Third DARPA Information Survivability Conference and Exhibition (DISCEX) (April 2003), IEEE.Google ScholarGoogle Scholar
  20. Wilkes, M.V., Needham, R.M. The Cambridge CAP Computer and Its Operating System (Operating and Programming Systems Series). Elsevier North-Holland, Inc., Amsterdam, the Netherlands, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A taste of Capsicum: practical capabilities for UNIX

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image Communications of the ACM
                Communications of the ACM  Volume 55, Issue 3
                March 2012
                106 pages
                ISSN:0001-0782
                EISSN:1557-7317
                DOI:10.1145/2093548
                Issue’s Table of Contents

                Copyright © 2012 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 March 2012

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article
                • Popular
                • Refereed

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader

              HTML Format

              View this article in HTML Format .

              View HTML Format