|
ABSTRACT
A common mechanism for ensuring that software behaves securely is to monitor programs at run time and check that they dynamically adhere to constraints specified by a security policy. Whenever a program monitor detects that untrusted software is attempting to execute a dangerous action, it takes remedial steps to ensure that only safe code actually gets executed. This article improves our understanding of the space of policies enforceable by monitoring the run-time behaviors of programs. We begin by building a formal framework for analyzing policy enforcement: we precisely define policies, monitors, and enforcement. This framework allows us to prove that monitors enforce an interesting set of policies that we call the infinite renewal properties. We show how to construct a program monitor that provably enforces any reasonable infinite renewal property. We also show that the set of infinite renewal properties includes some nonsafety policies, that is, that monitors can enforce some nonsafety (including some purely liveness) policies. Finally, we demonstrate concrete examples of nonsafety policies enforceable by practical run-time monitors.
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
|
Abadi, M. and Fournet, C. 2003. Access control based on execution history. In Proceedings of the 10th Annual Network and Distributed System Symposium (NDSS’03).
|
 |
2
|
|
| |
3
|
|
| |
4
|
Alpern, B. and Schneider, F. B. 1985. Defining liveness. Inform. Process. Lett. 21, 4, 181--185.
|
| |
5
|
Alpern, B. and Schneider, F. B. 1987. Recognizing safety and liveness. Distrib. Comput. 2, 117--126.
|
| |
6
|
Bauer, L., Ligatti, J., and Walker, D. 2002. More enforceable security policies. In Proceedings of the Annual Symposium on Foundations of Computer Security (FOCS’02). Copenhagen, Denmark.
|
| |
7
|
Bauer, L., Ligatti, J., and Walker, D. 2003. Types and effects for non-interfering program monitors. In Proceedings of the Software Security---Theories and Systems. Mext-NSF-JSPS International Symposium, (ISSS’02). Tokyo, Japan, Revised Papers, M. Okada, B. Pierce, A. Scedrov, H. Tokuda, and A. Yonezawa, Eds. Lecture Notes in Computer Science, vol. 2609. Springer.
|
 |
8
|
|
| |
9
|
Bauer, L., Ligatti, J., and Walker, D. 2005b. Polymer: A language for composing run-time security policies. http://www.cs.princeton.edu/sip/projects/polymer/.
|
| |
10
|
Biba, K. J. 1975. Integrity considerations for secure computer systems. Tech. rep. ESD-TR-76-372, MITRE Corporation.
|
 |
11
|
|
| |
12
|
Brewer, D. F. C. and Nash, M. J. 1989. The Chinese Wall security policy. In Proceedings of the IEEE Symposium on Security and Privacy (SP’89). 206--214.
|
| |
13
|
Büchi, J. R. 1962. On a decision method in restricted second order arithmetic. In Proceedings of the 1960 International Congress on Logic, Methodology, and Philosophy of Science (CLMPS’60). 1--11.
|
| |
14
|
|
 |
15
|
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]
|
| |
16
|
|
| |
17
|
|
 |
18
|
|
| |
19
|
|
| |
20
|
|
| |
21
|
Evans, D. and Twyman, A. 1999. Flexible policy-directed code safety. In Proceedings of the IEEE Symposium on Security and Privacy (SP’99).
|
| |
22
|
Fong, P. W. L. 2004. Access control by tracking shallow execution history. In Proceedings of the IEEE Symposium on Security and Privacy (SP’04).
|
| |
23
|
|
 |
24
|
|
 |
25
|
|
 |
26
|
Tim Harris , Simon Marlow , Simon Peyton-Jones , Maurice Herlihy, Composable memory transactions, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
[doi> 10.1145/1065944.1065952]
|
| |
27
|
|
 |
28
|
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
|
| |
29
|
Kim, M., Kannan, S., Lee, I., Sokolsky, O., and Viswantathan, M. 2002. Computational analysis of run-time monitoring---fundamentals of Java-MaC. In Proceedings of the 2nd International Workshop on Runtime Verification (RV’02).
|
| |
30
|
Kim, M., Viswanathan, M., Ben-Abdallah, H., Kannan, S., Lee, I., and Sokolsky, O. 1999. Formally specified monitoring of temporal properties. In Proceedings of the 11th Euromicro Conference on Real-Time Systems (ECRTS’99).
|
| |
31
|
|
| |
32
|
|
| |
33
|
|
| |
34
|
Ligatti, J., Bauer, L., and Walker, D. 2003. Edit automata: Enforcement mechanisms for run-time security policies. Tech. rep. TR-681-03, Princeton University.
|
| |
35
|
Ligatti, J., Bauer, L., and Walker, D. 2005a. Edit automata: Enforcement mechanisms for run-time security policies. Int. J. Inform. Secur. 4, 1--2, 2--16.
|
| |
36
|
Ligatti, J., Bauer, L., and Walker, D. 2005b. Enforcing non-safety security policies with program monitors. In Proceedings of the 10th European Symposium on Research in Computer Security (ESORICS’05).
|
 |
37
|
|
| |
38
|
|
| |
39
|
|
| |
40
|
|
| |
41
|
Martinelli, F. and Mori, P. 2007. Enhancing Java security with history based access control. In Foundations of Security Analysis and Design.
|
| |
42
|
Matteucci, I. 2006. A tool for the synthesis of programmable controllers. In Proceedings of the 4th International Workshop on Formal Aspects in Security and Trust (FAST’06).
|
| |
43
|
|
| |
44
|
|
| |
45
|
Milner, R. 1978. Synthesis of communicating behaviour. In Mathematical Foundations of Computer Science. Lecture Notes in Computer Science, vol. 64. 71--83.
|
 |
46
|
|
| |
47
|
|
| |
48
|
|
 |
49
|
|
| |
50
|
|
 |
51
|
|
| |
52
|
|
 |
53
|
Robert Wahbe , Steven Lucco , Thomas E. Anderson , Susan L. Graham, Efficient software-based fault isolation, Proceedings of the fourteenth ACM symposium on Operating systems principles, p.203-216, December 05-08, 1993, Asheville, North Carolina, United States
|
 |
54
|
|
 |
55
|
|
|