Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us Track your research
Search
Cart
Book cover

European Symposium on Programming

ESOP 2007: Programming Languages and Systems pp 125–140Cite as

  1. Home
  2. Programming Languages and Systems
  3. Conference paper
A Certified Lightweight Non-interference Java Bytecode Verifier

A Certified Lightweight Non-interference Java Bytecode Verifier

  • Gilles Barthe1,
  • David Pichardie2 &
  • Tamara Rezk1 
  • Conference paper
  • 1127 Accesses

  • 29 Citations

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 4421)

Abstract

Non-interference is a semantical condition on programs that guarantees the absence of illicit information flow throughout their execution, and that can be enforced by appropriate information flow type systems. Much of previous work on type systems for non-interference has focused on calculi or high-level programming languages, and existing type systems for low-level languages typically omit objects, exceptions, and method calls, and/or do not prove formally the soundness of the type system. We define an information flow type system for a sequential JVM-like language that includes classes, objects, arrays, exceptions and method calls, and prove that it guarantees non-interference. For increased confidence, we have formalized the proof in the proof assistant Coq; an additional benefit of the formalization is that we have extracted from our proof a certified lightweight bytecode verifier for information flow. Our work provides, to our best knowledge, the first sound and implemented information flow type system for such an expressive fragment of the JVM.

Keywords

  • Type System
  • Security Level
  • Security Environment
  • Typing Rule
  • Proof Assistant

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Work partially supported by IST Project MOBIUS, by the RNTL Castles and by the ACI Sécurité SPOPS.

Chapter PDF

Download to read the full chapter text

References

  1. Appel, A.W., Felty, A.P.: A semantic model of types and machine instuctions for proof-carrying code. In: Proceedings of POPL’00, pp. 243–253. ACM Press, New York (2000)

    Google Scholar 

  2. Aydemir, B.E., et al.: Mechanized Metatheory for the Masses: The PoplMark Challenge. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 50–65. Springer, Heidelberg (2005)

    Google Scholar 

  3. Banerjee, A., Naumann, D.: Stack-based access control for secure information flow. Journal of Functional Programming 15, 131–177 (2005)

    CrossRef  MATH  MathSciNet  Google Scholar 

  4. Barthe, G., Naumann, D., Rezk, T.: Deriving an Information Flow Checker and Certifying Compiler for Java. In: Symposium on Security and Privacy, 2006, IEEE Computer Society Press, Los Alamitos (2006)

    Google Scholar 

  5. Barthe, G., Pichardie, D., Rezk, T.: Non-interference for low level languages. Technical report, INRIA (2006), http://hal.inria.fr/inria-00106182

  6. Barthe, G., Rezk, T.: Non-interference for a JVM-like language. In: Fähndrich, M. (ed.) Proceedings of TLDI’05, pp. 103–112. ACM Press, New York (2005)

    Google Scholar 

  7. Besson, F., Jensen, T., Pichardie, D.: Proof-Carrying Code from Certified Abstract Interpretation and Fixpoint Compression. Theoretical Computer Science 364(3), 273–291 (2006)

    CrossRef  MATH  MathSciNet  Google Scholar 

  8. Bieber, P., et al.: Checking Secure Interactions of Smart Card Applets: Extended version. Journal of Computer Security 10, 369–398 (2002)

    Google Scholar 

  9. Bonelli, E., Compagnoni, A.B., Medel, R.: Information flow analysis for a typed assembly language with polymorphic stacks. In: Barthe, G., et al. (eds.) CASSIS 2005. LNCS, vol. 3956, pp. 37–56. Springer, Heidelberg (2006)

    CrossRef  Google Scholar 

  10. Genaim, S., Spoto, F.: Information Flow Analysis for Java Bytecode. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 346–362. Springer, Heidelberg (2005)

    Google Scholar 

  11. Giacobazzi, R., Mastroeni, I.: Abstract non-interference: Parameterizing non-interference by abstract interpretation. In: Proceedings of POPL’04, pp. 186–197. ACM Press, New York (2004)

    Google Scholar 

  12. Hedin, D., Sands, D.: Noninterference in the presence of non-opaque pointers. In: Proceedings of CSFW’06, pp. 255–269. IEEE Computer Society Press, Los Alamitos (2006)

    Google Scholar 

  13. Hunt, S., Sands, D.: On Flow-Sensitive Security Types. In: Proceedings of POPL’06, pp. 79–90. ACM Press, New York (2006)

    Google Scholar 

  14. Leroy, X.: Bytecode verification on Java smart cards. Software–practice and experience 32(4), 319–340 (2002)

    CrossRef  MATH  Google Scholar 

  15. Myers, A.C.: Jflow: Practical mostly-static information flow control. In: Proceedings of POPL’99, pp. 228–241. ACM Press, New York (1999)

    Google Scholar 

  16. Naumann, D.: Verifying a secure information flow analyzer. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 211–226. Springer, Heidelberg (2005)

    Google Scholar 

  17. Rezk, T.: Verification of confidentiality policies for mobile code. PhD thesis, Université de Nice Sophia-Antipolis (2006)

    Google Scholar 

  18. Russo, A., Sabelfeld, A.: Securing interaction between threads and the scheduler. In: Proceedings of CSFW’06 (2006)

    Google Scholar 

  19. Sabelfeld, A., Myers, A.: Language-Based Information-Flow Security. IEEE Journal on Selected Areas in Comunications 21, 5–19 (2003)

    CrossRef  Google Scholar 

  20. Sabelfeld, A., Sands, D.: Dimensions and principles of declassification. In: Proceedings of CSFW’05, IEEE Computer Society Press, Los Alamitos (2005)

    Google Scholar 

  21. Volpano, D., Smith, G.: A Type-Based Approach to Program Security. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 607–621. Springer, Heidelberg (1997)

    CrossRef  Google Scholar 

  22. Yu, D., Islam, N.: A typed assembly language for confidentiality. In: Sestoft, P. (ed.) ESOP 2006 and ETAPS 2006. LNCS, vol. 3924, pp. 162–179. Springer, Heidelberg (2006)

    CrossRef  Google Scholar 

  23. Zanardini, D.: Certified Abstract Non-Interference: Object-Oriented Code Validation for Information Flow Security. PhD thesis, Università di Verona (April 2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

  1. INRIA Sophia Antipolis, France

    Gilles Barthe & Tamara Rezk

  2. IRISA/INRIA Rennes, France

    David Pichardie

Authors
  1. Gilles Barthe
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. David Pichardie
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. Tamara Rezk
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Rocco De Nicola

Rights and permissions

Reprints and Permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Barthe, G., Pichardie, D., Rezk, T. (2007). A Certified Lightweight Non-interference Java Bytecode Verifier. In: De Nicola, R. (eds) Programming Languages and Systems. ESOP 2007. Lecture Notes in Computer Science, vol 4421. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71316-6_10

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-540-71316-6_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71314-2

  • Online ISBN: 978-3-540-71316-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Publish with us

Policies and ethics

search

Navigation

  • Find a journal
  • Publish with us
  • Track your research

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support
  • Cancel contracts here

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature