ACM Home Page
Please provide us with feedback. Feedback
Stack inspection: Theory and variants
Full text PdfPdf (357 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 25 ,  Issue 3  (May 2003) table of contents
Pages: 360 - 399  
Year of Publication: 2003
ISSN:0164-0925
Authors
Cédric Fournet  Microsoft Research, Cambridge, United Kingdom
Andrew D. Gordon  Microsoft Research, Cambridge, United Kingdom
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 92,   Citation Count: 11
Additional Information:

abstract   references   cited by   index terms   review   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/641909.641912
What is a DOI?

ABSTRACT

Stack inspection is a security mechanism implemented in runtimes such as the JVM and the CLR to accommodate components with diverse levels of trust. Although stack inspection enables the fine-grained expression of access control policies, it has rather a complex and subtle semantics. We present a formal semantics and an equational theory to explain how stack inspection affects program behavior and code optimisations. We discuss the security properties enforced by stack inspection, and also consider variants with stronger, simpler properties.


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). Internet Society, 107--121.
2
 
3
 
4
Banerjee, A. and Naumann, D. 2001. A simple semantics and static analysis for Java security. CS Report 2001--1, Stevens Institute of Technology.
5
 
6
Bartoletti, M., Degano, P., and Ferrari, G. 2001. Static analysis for stack inspection. In ConCoord: International Workshop on Concurrency and Coordination. ENTCS, vol. 54. Elsevier North-Holland, Amsterdam, The Netherlands.
7
 
8
 
9
 
10
 
11
Fournet, C. and Gordon, A. D. 2001. Stack inspection: Theory and variants. Tech. Rep. MSR--TR--2001--103, Microsoft Research. http://research.microsoft.com/scripts/pubs/view.asp?TR_ID=MSR-TR-2001-103.
12
 
13
 
14
15
16
 
17
 
18
Jensen, T., Metayer, D. L., and Thorn, T. 1999. Verification of control flow based security properties. In Proceedings of the 1999 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, Los Alamitos, Calif., 89--103.
 
19
 
20
 
21
 
22
 
23
Microsoft. 2001. NET Framework Developer's Guide: Security Optimizations. http://msdn.microsoft.com/library/en-us/cpguide/html/cpconsecurityoptimizations.asp.
 
24
Milner, R. 1977. Fully abstract models of typed lambda-calculi. Theoret. Comput. Sci. 4, 1--23.
 
25
 
26
Morris, J. H. 1968. Lambda-calculus models of programming languages. Ph.D. dissertation. MIT Cambridge, Mass.
27
 
28
Ørbæek, P. and Palsberg, J. 1997. Trust in the λ-calculus. J. Funct. Prog. 3, 2, 75--85.
 
29
Plotkin, G. D. 1975. Call-by-name, call-by-value and the λ-calculus. Theoret. Comput. Sci. 1, 125--159.
 
30
 
31
Schinz, M. and Odersky, M. 2001. Tail call elimination on the Java Virtual Machine. In Proceedings of the SIGPLAN Workshop on Multi-Language Infrastructure and Interoperability (BABEL'01). ENTCS, vol. 59(1). Elsevier North Holland, Amsterdam, The Netherlands, 155--168.
32
33

CITED BY  11


REVIEW

"Maulik A Dave : Reviewer"

For software written with components that have different levels of trust, safe runs are a major concern. Stack inspection is one technique used to ensure these safe runs. When untrusted and trusted components call each others¿ functions, stack ins  more...

Collaborative Colleagues:
Cédric Fournet: colleagues
Andrew D. Gordon: colleagues