ACM Home Page
Please provide us with feedback. Feedback
Composing expressive runtime security policies
Full text PdfPdf (1.26 MB)
Source
ACM Transactions on Software Engineering and Methodology (TOSEM) archive
Volume 18 ,  Issue 3  (May 2009) table of contents
Article No. 9  
Year of Publication: 2009
ISSN:1049-331X
Authors
Lujo Bauer  Carnegie Mellon University, Pittsburgh, PA
Jay Ligatti  University of South Florida
David Walker  Princeton University, Princeton, NJ
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 40,   Downloads (12 Months): 231,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1525880.1525882
What is a DOI?

ABSTRACT

Program monitors enforce security policies by interposing themselves into the control flow of untrusted software whenever that software attempts to execute security-relevant actions. At the point of interposition, a monitor has authority to permit or deny (perhaps conditionally) the untrusted software's attempted action. Program monitors are common security enforcement mechanisms and integral parts of operating systems, virtual machines, firewalls, network auditors, and antivirus and antispyware tools.

Unfortunately, the runtime policies we require program monitors to enforce grow more complex, both as the monitored software is given new capabilities and as policies are refined in response to attacks and user feedback. We propose dealing with policy complexity by organizing policies in such a way as to make them composable, so that complex policies can be specified more simply as compositions of smaller subpolicy modules. We present a fully implemented language and system called Polymer that allows security engineers to specify and enforce composable policies on Java applications. We formalize the central workings of Polymer by defining an unambiguous semantics for our language. Using this formalization, we state and prove an uncircumventability theorem which guarantees that monitors will intercept all security-relevant actions of untrusted software.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Apache Software Foundation. 2003. Byte Code Engineering Library. Apache Software Foundation. http://jakarta.apache.org/bcel/.
 
3
 
4
Bauer, L., Ligatti, J., and Walker, D. 2003. Types and effects for non-interfering program monitors. In Software Security—Theories and Systems. Mext-NSF-JSPS International Symposium Revised Papers, M. Okada (ISSS'02) et al., Eds. Lecture Notes in Computer Science, vol. 2609. Springer.
5
 
6
Bauer, L., Ligatti, J., and Walker, D. 2005b. Polymer: A language for composing runtime security policies. http://www.cs.princeton.edu/sip/projects/polymer/.
 
7
8
 
9
10
 
11
 
12
 
13
Evans, D. and Twyman, A. 1999. Flexible policy-directed code safety. In IEEE Security and Privacy.
 
14
 
15
 
16
Hindman, B. and Grossman, D. 2006. Strong atomicity for Java without virtual-machine support.
17
18
 
19
20
 
21
Kim, M., Viswanathan, M., Ben-Abdallah, H., Kannan, S., Lee, I., and Sokolsky, O. 1999. Formally specified monitoring of temporal properties. In European Conference on Real-time Systems.
 
22
Krishnan, P. 2005. A monitoring policy calculus. Tech. rep. CSA-05-01, Bond University.
 
23
 
24
 
25
Ligatti, J., Bauer, L., and Walker, D. 2005. Enforcing non-safety security policies with program monitors. In 10th European Symposium on Research in Computer Security (ESORICS).
 
26
 
27
 
28
Oasis. 2005. eXtensible Access Control Markup Language (XACML) version 2.0. http://docs.oasis-open.org/xacml/2.0/access_control-xacml-2.0-core-spec-os.pdf.
 
29
Petersen, A. 2003. Pooka: A Java email client. http://www.suberic.net/pooka/.
 
30
 
31
Saltzer, J. H. and Schroeder, M. D. 1975. The protection of information in computer systems. In IEEE 63, 9. 1278--1308.
 
32
33
34

Collaborative Colleagues:
Lujo Bauer: colleagues
Jay Ligatti: colleagues
David Walker: colleagues