Skip to main content

Information Flow Is Linear Refinement of Constancy

  • Conference paper

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

Abstract

Detecting information flows inside a program is useful to check non-interference of program variables, an important aspect of software security. Information flows have been computed in the past by using abstract interpretation over an abstract domain IF which expresses sets of flows. In this paper we reconstruct IF as the linear refinement CC of a basic domain C expressing constancy of program variables. This is important since we also show that CC, and hence IF, is closed w.r.t. linear refinement, and is hence optimal and condensing. Then a compositional, input-independent static analysis over IF has the same precision of a non-compositional, input-driven analysis. Moreover, we show that CC has a natural representation in terms of Boolean formulas, efficiently implementable through binary decision diagrams.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bossi, A., Gabbrielli, M., Levi, G., Martelli, M.: The s-Semantics Approach: Theory and Applications. Journal of Logic Programming 19/20, 149–197 (1994)

    Article  MathSciNet  Google Scholar 

  2. Bryant, R.E.: Graph-based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers 35(8), 677–691 (1986)

    Article  MATH  Google Scholar 

  3. Clark, D., Hankin, C., Hunt, S.: Information Flow for Algol-like Languages. Computer Languages and Security 28(1), 3–28 (2002)

    MATH  Google Scholar 

  4. Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: Proc. of the 4th ACM Symposium on Principles of Programming Languages (POPL), pp. 238–252 (1977)

    Google Scholar 

  5. Cousot, P., Cousot, R.: Systematic Design of Program Analysis Frameworks. In: Proc. of the 6th ACM Symp. on Principles of Programming Languages, pp. 269–282 (1979)

    Google Scholar 

  6. Genaim, S., Giacobazzi, R., Mastroeni, I.: Modeling Secure Information Flow with Boolean Functions. In: Ryan, P. (ed.) ACM SIGPLAN and GI FoMSESS Workshop on Issues in the Theory of Security, April 2004, pp. 55–66 (2004)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. Giacobazzi, R., Mastroeni, I.: Abstract Non-Interference: Parameterizing Non-Interference by Abstract Interpretation. In: Proc. of the 31st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’04), Venice, Italy, January 2004, pp. 186–197. ACM-Press, New York (2004)

    Chapter  Google Scholar 

  9. Giacobazzi, R., Ranzato, F., Scozzari, F.: Making Abstract Domains Condensing. ACM Transactions on Computational Logic (ACM-TOCL) 6(1), 33–60 (2005)

    Article  MathSciNet  Google Scholar 

  10. Giacobazzi, R., Scozzari, F.: A Logical Model for Relational Abstract Domains. ACM Transactions on Programming Languages and Systems 20(5), 1067–1109 (1998)

    Article  Google Scholar 

  11. Sabelfeld, A., Myers, A.C.: Language-based Information-Flow Security. IEEE Journal on Selected Areas in Communications 21(1), 5–19 (2003)

    Article  Google Scholar 

  12. Sabelfeld, A., Sands, D.: A PER Model of Secure Information Flow in Sequential Programs. Higher-Order and Symbolic Computation 14(1), 59–91 (2001)

    Article  MATH  Google Scholar 

  13. Scozzari, S.: Logical Optimality of Groundness Analysis. Theoretical Computer Science 277(1-2), 149–184 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  14. Sekar, M.C., Mishra, P., Ramakrishnan, I.V.: On the Power and Limitation of Strictness Analysis Based on Abstract Interpretation. In: Proc. of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1991), Orlando, Florida, January 1991, pp. 37–48 (1991)

    Google Scholar 

  15. Volpano, D., Smith, G., Irvine, C.: A Sound Type System for Secure Flow Analysis. Journal of Computer Security 4(2,3), 167–187 (1996)

    Google Scholar 

  16. Winskel, G.: The Formal Semantics of Programming Languages. The MIT Press, Cambridge (1993)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Spoto, F. (2005). Information Flow Is Linear Refinement of Constancy. In: Van Hung, D., Wirsing, M. (eds) Theoretical Aspects of Computing – ICTAC 2005. ICTAC 2005. Lecture Notes in Computer Science, vol 3722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11560647_23

Download citation

  • DOI: https://doi.org/10.1007/11560647_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29107-7

  • Online ISBN: 978-3-540-32072-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics