Abstract
We present a flow and context sensitive compositional information flow analysis for full (mono-threaded) Java bytecode. We base our analysis on the transformation of the Java bytecode into a control-flow graph of basic blocks of code which makes explicit the complex features of the Java bytecode. We represent information flows through Boolean functions and hence implement an accurate and efficient information flow analysis through binary decision diagrams. To the best of our knowledge, it is the first one for full Java bytecode.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers, Principles Techniques and Tools. Addison Wesley Publishing Company, Reading (1986)
Amtoft, T., Banerjee, A.: Information Flow Analysis in Logical Form. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 100–115. Springer, Heidelberg (2004)
Banerjee, A., Naumann, D.A.: Stack-based Access Control and Secure Information Flow. Journal of Functional Programming, Special issue on Language-based Security (to appear)
Barthe, G., Basu, A., Rezk, T.: Security Types Preserving Compilation. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 2–15. Springer, Heidelberg (2004)
Barthe, G., Rezk, T.: Secure Information Flow for a Sequential Java Virtual Machine (unpublished)
Bodei, C., Degano, P., Nielson, F., Riis Nielson, H.: Static Analysis for Secrecy and non-Interference in Networks of Processes. In: Malyshkin, V.E. (ed.) PaCT 2001. LNCS, vol. 2127, p. 27. Springer, Heidelberg (2001)
Bonelli, E., Compagnoni, A., Medel, R.: SIFTAL: A Typed Assembly Language for Secure Information Flow Analysis. Manuscript (2004)
Bryant, R.E.: Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers 35(8), 677–691 (1986)
Clark, D., Hankin, C., Hunt, S.: Information Flow for ALGOL-like Languages. Computer Languages 28(1), 3–28 (2002)
Dean, J., Grove, D., Chambers, C.: Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis. In: Olthoff, W. (ed.) ECOOP 1995. LNCS, vol. 952, pp. 77–101. Springer, Heidelberg (1995)
Denning, D.E.: A Lattice Model of Secure Information Flow. Communications of the ACM 19(5), 236–242 (1976)
Genaim, S., Giacobazzi, R., Mastroeni, I.: Modeling Secure Information Flow with Boolean Functions. In: Ryan, P. (ed.) WITS 2004 (April 2004)
Genaim, S., Spoto, F.: Information flow analysis for java bytecode. Extended Version
Kobayashi, N., Shirane, K.: Type-based Information Flow Analysis for Low-Level Languages. In: 3rd Asian Workshop on Programming Languages and Systems (2002)
Laud, P.: Semantics and Program Analysis of Computationally Secure Information Flow. In: Sands, D. (ed.) ESOP 2001. LNCS, vol. 2028, pp. 77–91. Springer, Heidelberg (2001)
Lind-Nielsen, J.: BuDDy - A Binary Decision Diagram Package, Available at http://www.itu.dk/research/buddy/
Lindholm, T., Yellin, F.: The JavaTM Virtual Machine Specification. JavaTM Series. Addison-Wesley, Reading (1999)
Mizuno, M.: A Least Fixed Point Approach to Inter-Procedural Information Flow Control. In: Proc. 12th NIST-NCSC National Computer Security Conference, pp. 558–570 (1989)
Myers, A.C.: J. Practical Mostly-Static Information Flow Control. In: 26th ACM Symposium on Principles of Programming Languages, San Antonio, Texas, pp. 228–241 (1999)
Sabelfeld, A., Myers, A.: Language-based Information-Flow Security. IEEE Journal on Selected Areas in Communications 21(1), 5–19 (2003)
Sabelfeld, A., Sands, D.: A PER Model of Secure Information Flow in Sequential Programs. Higher-Order and Symbolic Computation 14(1), 59–91 (2001)
Skalka, C., Smith, S.: Static Enforcement of Security with Types. In: ICFP 2000, pp. 254–267. ACM Press, New York (2000)
Spoto, F.: The Julia Generic Static Analyser (2004), http://www.sci.univr.it/~spoto/julia
Spoto, F., Jensen, T.: Class Analyses as Abstract Interpretations of Trace Semantics. ACM Transactions on Programming Languages and Systems (TOPLAS) 25(5), 578–630 (2003)
Volpano, D., Smith, G., Irvine, C.: A Sound Type System for Secure Flow Analysi. Journal of Computer Security 4(2,3), 167–187 (1996)
Zdancewic, S., Myers, A.C.: Secure Information Flow and CPS. In: Sands, D. (ed.) ESOP 2001. LNCS, vol. 2028, pp. 46–61. Springer, Heidelberg (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Genaim, S., Spoto, F. (2005). Information Flow Analysis for Java Bytecode. In: Cousot, R. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2005. Lecture Notes in Computer Science, vol 3385. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30579-8_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-30579-8_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24297-0
Online ISBN: 978-3-540-30579-8
eBook Packages: Computer ScienceComputer Science (R0)