DocumentCode
3390431
Title
Understanding Java stack inspection
Author
Wallach, Dan S. ; Felten, Edward W.
Author_Institution
Secure Internet Programming Lab., Princeton Univ., NJ, USA
fYear
1998
fDate
3-6 May 1998
Firstpage
52
Lastpage
63
Abstract
Current implementations of Java make security decisions by searching the runtime call stack. These systems have attractive security properties, but they have been criticized as being dependent on specific artifacts of the Java implementation. The paper models the stack inspection algorithm in terms of a well understood logic for access control and demonstrates how stack inspection is a useful tool for expressing and managing complex trust relationships. We show that an access control decision based on stack inspection corresponds to the construction of a proof in the logic, and we present an efficient decision procedure for generating these proofs. By examining the decision procedure, we demonstrate that many statements in the logic are equivalent and can thus be expressed in a simpler form. We show that there are a finite number of such statements, allowing us to represent the security state of the system as a pushdown automaton. We also show that this automaton may be embedded in Java by rewriting all Java classes to pass an additional argument when a procedure is invoked. We call this security passing style and describe its benefits over previous stack inspection systems. Finally, we show how the logic allows us to describe a straightforward design for extending stack inspection across remote procedure calls
Keywords
authorisation; object-oriented languages; parallel programming; pushdown automata; remote procedure calls; theorem proving; Java classes; Java implementation; Java stack inspection; access control decision; access control logic; complex trust relationships; decision procedure; proof generation; pushdown automaton; remote procedure calls; runtime call stack; security decisions; security passing style; security properties; security state; stack inspection algorithm; stack inspection systems; Access control; Automata; Computer bugs; Inspection; Internet; Java; Logic design; Runtime; Security; Virtual machining;
fLanguage
English
Publisher
ieee
Conference_Titel
Security and Privacy, 1998. Proceedings. 1998 IEEE Symposium on
Conference_Location
Oakland, CA
ISSN
1081-6011
Print_ISBN
0-8186-8386-4
Type
conf
DOI
10.1109/SECPRI.1998.674823
Filename
674823
Link To Document