|
ABSTRACT
The Java Security Architecture includes a dynamic mechanism for enforcing access control checks, the so-called stack inspection process. While the architecture has several appealing features, access control checks are all implemented via dynamic method calls. This is a highly nondeclarative form of specification that is hard to read, and that leads to additional run-time overhead. This article develops type systems that can statically guarantee the success of these checks. Our systems allow security properties of programs to be clearly expressed within the types themselves, which thus serve as static declarations of the security policy. We develop these systems using a systematic methodology: we show that the security-passing style translation, proposed by Wallach et al. [2000] as a dynamic implementation technique, also gives rise to static security-aware type systems, by composition with conventional type systems. To define the latter, we use the general HM(X) framework, and easily construct several constraint- and unification-based type systems.
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
|
Alexander Aiken , Edward L. Wimmers , T. K. Lakshman, Soft typing with conditional types, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.163-173, January 16-19, 1994, Portland, Oregon, United States
[doi> 10.1145/174675.177847]
|
| |
3
|
Banerjee, A. and Naumann, D. A. 2001. A simple semantics and static analysis for Java security. Tech. Rep. 2001-1, Stevens Institute of Technology. June. URL: http://guinness.cs.stevens-tech.edu/~naumann/publications/tr2001.ps.
|
| |
4
|
Bartoletti, M., Degano, P., and Ferrari, G. 2001. Static analysis for stack inspection. In International Workshop on Concurrency and Coordination. Electronic Notes in Theoretical Computer Science, vol. 54. Elsevier Science, Amsterdam, The Netherlands.
|
 |
5
|
Frédéric Besson , Thomas de Grenier de Latour , Thomas Jensen, Secure calling contexts for stack inspection, Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming, p.76-87, October 06-08, 2002, Pittsburgh, PA, USA
[doi> 10.1145/571157.571166]
|
| |
6
|
|
| |
7
|
Clements, J. and Felleisen, M. 2003. A tail-recursive semantics for stack inspections. In Proceedings of the European Symposium on Programming (ESOP). Lecture Notes in Computer Science, vol. 2618. Springer-Verlag, New York, 22--37. URL: http://www.ccs.neu.edu/scheme/pubs/esop2003-cf.ps.gz.
|
 |
8
|
|
 |
9
|
|
 |
10
|
|
| |
11
|
Gong, L. 1998. Java security architecture (JDK1.2). URL: http://java.sun.com/products/jdk/1.2/docs/guide/security/spec/security-spec.doc.html.
|
| |
12
|
Gong, L. and Schemers, R. 1998. Implementing protection domains in the Java Development Kit 1.2. In Proceedings of the Internet Society Symposium on Network and Distributed System Security. 125--134. URL: http://java.sun.com/people/gong/papers/jdk12impl.ps.gz.
|
| |
13
|
Guzmán, J. C. and Suárez, A. 1994. An extended type system for exceptions. In Proceedings of the ACM Workshop on ML and its Applications. Number 2265 in INRIA Research Reports. INRIA, 127--135.
|
 |
14
|
|
| |
15
|
Jensen, T., Le Mètayer, D., and Thorn, T. 1999. Verifying security properties of control-flow graphs. In Proceedings of the IEEE Symposium on Security and Privacy (S&P). IEEE Computer Society Press, Los Alamitos, Calif., 89--105. URL: http://www.irisa.fr/lande/jensen/papers/SP99.ps.
|
 |
16
|
Larry Koved , Marco Pistoia , Aaron Kershenbaum, Access rights analysis for Java, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
| |
17
|
|
| |
18
|
|
 |
19
|
|
| |
20
|
|
 |
21
|
|
 |
22
|
|
| |
23
|
|
| |
24
|
|
 |
25
|
|
| |
26
|
|
| |
27
|
Rémy, D. 1992a. Extending ML type system with a sorted equational theory. Tech. Rep. 1766, INRIA, Rocquencourt, BP 105, 78153 Le Chesnay Cedex, France. URL: ftp://ftp.inria.fr/INRIA/Projects/cristal/Didier.Remy/eq-theory-on-types.ps.gz.
|
 |
28
|
|
| |
29
|
|
 |
30
|
|
| |
31
|
Simonet, V. 2003. Type inference with structural subtyping: a faithful formalization of an efficient constraint solver. In Proceedings of the Asian Symposium on Programming Languages and Systems. URL: http://cristal.inria.fr/~simonet/publis/simonet-structural-subtyping.ps.gz.
|
| |
32
|
|
| |
33
|
Skalka, C. and Pottier, F. 2002. Syntactic type soundness for HM(X). In Proceedings of the Workshop on Types in Programming (TIP). Electronic Notes in Theoretical Computer Science, vol. 75. URL: http://pauillac.inria.fr/~fpottier/publis/skalka-fpottier-tip-02.ps.gz.
|
 |
34
|
|
| |
35
|
|
| |
36
|
|
| |
37
|
|
| |
38
|
Sulzmann, M., Müller, M., and Zenger, C. 1999. Hindley/Milner style type systems in constraint form. Research Report ACRC--99--009, University of South Australia, School of Computer and Information Science. July. URL: http://www.ps.uni-sb.de/~mmueller/papers/hm-constraints.ps.gz.
|
| |
39
|
|
 |
40
|
|
| |
41
|
|
 |
42
|
|
| |
43
|
|
 |
44
|
|
 |
45
|
|
| |
46
|
|
|