skip to main content
10.1145/2336717.2336718acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Typing illegal information flows as program effects

Published:15 June 2012Publication History

ABSTRACT

Specification of information flow policies is classically based on a security labeling and a lattice of security levels that establishes how information can flow between security levels. We present a type and effect system for determining the least permissive relaxation of a given confidentiality policy that allows to type a program, given a fixed security labeling. To this end, sets of illegal information flows are represented as downward closure operators (here referred to as flow kernels) on a given lattice of security levels. Illegal information flows can then be seen as program effects, and their representation as flow kernels subsumes in granularity previous lattice-oriented representations of information flow policies. Effect soundness, optimality and preservation results are presented for the proposed type and effect system, for programs written in a concurrent higher-order imperative lambda-calculus with reference creation.

Our type and effect system provides a mechanism for deriving the flow kernel that characterizes the illegal flows that occur within a program, and which can be used to support runtime decisions of compliance to other policies. This point is illustrated by means of an application to a setting where local programs run under the control of a dynamic allowed flow policy.

References

  1. A. Almeida Matos. Flow-policy awareness for distributed mobile code. In Proc. of CONCUR 2009 - Concurrency Theory, volume 5710 of Lecture Notes in Computer Science. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Almeida Matos and G. Boudol. On declassification and the non-disclosure policy. Journal of Computer Security, 17(5):549--597, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Boudol and I. Castellani. Noninterference for concurrent programs and thread systems. Theoretical Computer Science, 281(1--2):109--130, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In POPL, pages 238--252, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. K. Crary, A. Kliger, and F. Pfenning. A monadic analysis of information flow security with mutable state. Journal of Functional Programming, 15(02), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. E. Denning. A lattice model of secure information flow. Communications of the ACM, 19(5):236--243, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Dwinger. On the closure operators of a complete lattice. In Indagationes Math., volume 16, pages 560--563, 1954.Google ScholarGoogle ScholarCross RefCross Ref
  8. R. Giacobazzi and I. Mastroeni. Proving abstract noninterference. In Conf. of the European Association for Computer Science Logic, volume 3210 of LNCS, pages 280--294. Springer-Verlag, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  9. R. Giacobazzi and I. Mastroeni. A proof system for abstract noninterference. Journal of Logic and Computation, 20(2):449--479, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Goguen and J. Meseguer. Security policies and security models. In Proc. of the 1982 IEEE Symposium on Security and Privacy, pages 11--20. IEEE Computer Society, 1982.Google ScholarGoogle ScholarCross RefCross Ref
  11. M. Hicks, S. Tse, B. Hicks, and S. Zdancewic. Dynamic updating of information-flow policies. In Workshop on Foundations of Comp. Security, pages 7--18, 2005.Google ScholarGoogle Scholar
  12. J. M. Lucassen and D. K. Gifford. Polymorphic effect systems. In POPL'88: 15th ACM symposium on Principles of programming languages, pages 47--57. ACM Press, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Milner, M. Tofte, R. Harper, and David MacQueen. The definition of Standard ML. MIT Press, revised edition, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. C. Myers and B. Liskov. Complete, safe information flow with decentralized labels. In 19th IEEE Symposium on Security and Privacy, pages 186--197. IEEE Computer Society, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  15. F. Pottier and V. Simonet. Information flow inference for ml. ACM Transactions on Programming Languages and Systems, 25(1):117--158, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. Rocha, S. Bandhakavi, J. den Hartog, W. Winsborough, and S. Etalle. Towards static flow-based declassification for legacy untrusted programs. In SP'10: Proceedings of the 31st IEEE Symposium on Security and Privacy, pages 93--108. IEEE Computer Society, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Sabelfeld and A. C. Myers. Language-based information-flow security. IEEE Journal on Selected Areas in Communications, 21(1):5--19, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Sabelfeld and D. Sands. Declassification: Dimensions and principles. J. Comput. Secur., 17:517--548, October 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Vaughan and S. Chong. Inference of expressive declassification policies. In Proc. of the 2011 IEEE Symposium on Security and Privacy, pages 180--195. IEEE Computer Society, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. M. Volpano, G. Smith, and C. E. Irvine. A sound type system for secure flow analysis. Journal of Computer Security, 4(2--3):167--188, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Typing illegal information flows as program effects

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        PLAS '12: Proceedings of the 7th Workshop on Programming Languages and Analysis for Security
        June 2012
        91 pages
        ISBN:9781450314411
        DOI:10.1145/2336717

        Copyright © 2012 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 15 June 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate43of77submissions,56%

        Upcoming Conference

        PLDI '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader