Abstract
Most static analysis techniques for optimizing stack inspection approximate permission sets such as granted permissions and denied permissions. Because they compute permission sets following control flow, they usually take intra-procedural control flow into consideration as well as call relationship. In this paper, we observed that it is necessary for more precise optimization on stack inspection to compute more specific information on checks instead of permissions. We propose a backward static analysis based on simple call graph to approximate redundant permission checks which must fail. In a similar way, we also propose a backward static analysis to approximate success permission checks, which must pass stack inspection.
- M. Bartoletti, P. Degano, and G. L. Ferrari. Static Analysis for Stack Inspection. Electr. Notes Theor. Comput. Sci. 54, 2001.Google Scholar
- M. Bartoletti, P. Degano, G. L. Ferrari. Stack inspection and secure program transformations. Int. Journal of Information Security, Vol.2, pp. 187--217, 2004. Google Scholar
Digital Library
- F. Besson, T. Blanc, C. Fournet, A. D. Gordon. From Stack Inspection to Access Control: A Security Analysis for Libraries. CSFW 2004. Google Scholar
Digital Library
- F. Besson, T. de Grenier de Latour, and T. Jensen. Secure calling contexts for stack inspection. In Proc. 4th Conference on Principles and Practice of Declarative Programming. ACM Press, New York, 2002. Google Scholar
Digital Library
- F. Besson, T. Jensen, D. Le Metayer, and T. Thorn. Model checking security properties of control flow graphs. Journal of Computer Security 9, pp. 217--250, 2001. Google Scholar
Digital Library
- U. Erlingsson and Fred B. Schneider. IRM Enforcement of Java Stack Inspection. 2000 IEEE Symposium on Security and Privacy, pp. 246--255. Google Scholar
Digital Library
- C. Fournet and A. D. Gordon. Stack inspection: Theory and variants. ACM Trans. Program. Lang. & Syst. 25(3): 360--399 (2003) Google Scholar
Digital Library
- J. Gosling, Joy, Steele, The Java Language Specification Second Edition, Addison-Wesley, 2002 Google Scholar
Digital Library
- D. Grove, G. DeFouw, J. Dean, and C. Chambers. Call Graph Construction in Object-Oriented Languages. ACM OOPSLA 1997, pp. 108--124. Google Scholar
Digital Library
- L. Koved, M. Pistoia, A. Kershenbaum. Access rights analysis for Java. OOPSLA 2002, pp. 359--372 Google Scholar
Digital Library
- F. Nielson, H. R. Nielson, and C. Hankin, Principles of Program Analysis, Springer-Verlag, 1999. Google Scholar
Digital Library
- N. Nitta, Y. Takata, H. Seki. An efficient security verification method for programs with stack inspection. 2001 ACM Conference on Computer and Communications Security, pp. 68--77. Google Scholar
Digital Library
- F. Pottier, C. Skalka, S. F. Smith. A systematic approach to static access control. ACM Trans. Program. Lang. & Syst. 27(2), pp. 344--382, 2005. Google Scholar
Digital Library
- Frank Tip and Jens Palsberg. Scalable propagation-based call graph construction algorithms. ACM OOPSLA 2000, pp 281--293. Google Scholar
Digital Library
- Dan S. Wallach, Andrew W. Appel, Edward W. Felten. SAFKASI: a security mechanism for language-based systems. ACM Trans. Softw. Eng. Method. 9(4), pp. 341--378, 2000. Google Scholar
Digital Library
- http://java.sun.com/j2se/1.5.0/docs/api.Google Scholar
Index Terms
Static check analysis for Java stack inspection
Recommendations
Visualization of permission checks in java using static analysis
WISA'06: Proceedings of the 7th international conference on Information security applications: PartIThe security manager in Java 2 is a runtime access control mechanism. Whenever an access permission to critical resources is requested, the security manager inspects a call stack to examine whether the program has appropriate access permissions or not. ...
Escape analysis for JavaTM: Theory and practice
Escape analysis is a static analysis that determines whether the lifetime of data may exceed its static scope.This paper first presents the design and correctness proof of an escape analysis for JavaTM. This analysis is interprocedural, context ...
TAJ: effective taint analysis of web applications
PLDI '09: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and ImplementationTaint analysis, a form of information-flow analysis, establishes whether values from untrusted methods and parameters may flow into security-sensitive operations. Taint analysis can detect many common vulnerabilities in Web applications, and so has ...






Comments