Privtrans: automatically partitioning programs for privilege separation

  • Authors:
  • David Brumley;Dawn Song

  • Affiliations:
  • Carnegie Mellon University;Carnegie Mellon University

  • Venue:
  • SSYM'04 Proceedings of the 13th conference on USENIX Security Symposium - Volume 13
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Privilege separation partitions a single program into two parts: a privileged program called the monitor and an unprivileged program called the slave. All trust and privileges are relegated to the monitor, which results in a smaller and more easily secured trust base. Previously the privilege separation procedure, i.e., partitioning one program into the monitor and slave, was done by hand [18, 28]. We design techniques and develop a tool called Privtrans that allows us to automatically integrate privilege separation into source code, provided a few programmer annotations. For instance, our approach can automatically integrate the privilege separation previously done by hand in OpenSSH, while enjoying similar security benefits. Additionally, we propose optimization techniques that augment static analysis with dynamic information. Our optimization techniques reduce the number of expensive calls made by the slave to the monitor. We show Privtrans is effective by integrating privilege separation into several open-source applications.