Computer Security Foundations Workshop, IEEE (2005)
June 20, 2005 to June 22, 2005
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CSFW.2005.27
Tian Zhao , University of Wisconsin - Milwaukee
John Boyland , University of Wisconsin - Milwaukee
Java security architecture uses stack-based access control to protect security-sensitive resources. The architecture implements access control checks by inspecting the call stack to compute permission levels, which are used to decide whether to grant access to these resources. This implementation only considers the direct and indirect callers of sensitive methods that directly accesses the resources. However, it does not check the integrity of the variables used in the calls to these methods, nor does it help protect confidential values that might be returned by these calls. This paper proposes a type-based approach to strengthen stack-based access control. We use type annotations to track values originated from untrusted code such that these values will not be inputs to the sensitive methods when they are executed with high level of trust. We also use the annotations to protect confidential values from being accidentally revealed by trusted code. We give a static type system that checks these properties and augments existing dynamic stack-based checks. The hybrid approach is similar to so-called "history-based access control" without its run-time burden.
T. Zhao and J. Boyland, "Type Annotations to Improve Stack-Based Access Control," Computer Security Foundations Workshop, IEEE(CSFW), Aix-en-Provence, France, 2005, pp. 197-210.