From trusted to secure: building and executing applications that enforce system security

  • Authors:
  • Boniface Hicks;Sandra Rueda;Trent Jaeger;Patrick McDaniel

  • Affiliations:
  • Systems and Internet Infrastructure Security Laboratory (SIIS), Computer Science and Engineering, Pennsylvania State University;Systems and Internet Infrastructure Security Laboratory (SIIS), Computer Science and Engineering, Pennsylvania State University;Systems and Internet Infrastructure Security Laboratory (SIIS), Computer Science and Engineering, Pennsylvania State University;Systems and Internet Infrastructure Security Laboratory (SIIS), Computer Science and Engineering, Pennsylvania State University

  • Venue:
  • ATC'07 2007 USENIX Annual Technical Conference on Proceedings of the USENIX Annual Technical Conference
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Commercial operating systems have recently introduced mandatory access controls (MAC) that can be used to ensure system-wide data confidentiality and integrity. These protections rely on restricting the flow of information between processes based on security levels. The problem is, there are many applications that defy simple classification by security level, some of them essential for system operation. Surprisingly, the common practice among these operating systems is simply to mark these applications as "trusted", and thus allow them to bypass label protections. This compromise is not a limitation of MAC or the operating system services that enforce it, but simply a fundamental inability of any operating system to reason about how applications treat sensitive data internally--and thus the OS must either restrict the data that they receive or trust them to handle it correctly. These practices were developed prior to the advent security-typed languages. These languages provide a means of reasoning about how the OS's sensitive data is handled within applications. Thus, applications can be shown to enforce system security by guaranteeing, in advance of execution, that they will adhere to the OS's MAC policy. In this paper, we provide an architecture for an operating system service, that integrate security-typed language with operating system MAC services. We have built an implementation of this service, called SIESTA, which handles applications developed in the security-typed language, Jif, running on the SELinux operating system. We also provide some sample applications to demonstrate the security, flexibility and efficiency of our approach.