|
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
|
Ole Agesen , Stephen N. Freund , John C. Mitchell, Adding type parameterization to the Java language, Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.49-65, October 05-09, 1997, Atlanta, Georgia, United States
|
| |
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
|
Guy Edjlali , Anurag Acharya , Vipin Chaudhary, History-based access control for mobile code, Proceedings of the 5th ACM conference on Computer and communications security, p.38-48, November 02-05, 1998, San Francisco, California, United States
[doi> 10.1145/288090.288102]
|
| |
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
|
Atshushi Igarashi , Benjamin Pierce , Philip Wadler, Featherwieght Java: a minimal core calculus for Java and GJ, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.132-146, November 01-05, 1999, Denver, Colorado, United States
|
 |
18
|
Clinton Jeffery , Wenyi Zhou , Kevin Templer , Michael Brazell, A lightweight architecture for program execution monitoring, Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.67-74, June 16-16, 1998, Montreal, Quebec, Canada
|
| |
19
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
 |
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
|
|
|