Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/351240.351245acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article
Free access

Information flow inference for free

Published: 01 September 2000 Publication History

Abstract

This paper shows how to systematically extend an arbitrary type system with dependency information, and how soundness and non-interference proofs for the new system may rely upon, rather than duplicate, the soundness proof of the original system. This allows enriching virtually any of the type systems known today with information flow analysis, while requiring only a minimal proof effort.Our approach is based on an untyped operational semantics for a labelled calculus akin to core ML. Thus, it is simple, and should be applicable to other computing paradigms, such as object or process calculi.The paper also discusses access control, and shows it may be viewed as entirely independent of information flow control. Letting the two mechanisms coexist, without interacting, yields a simple and expressive type system, which allows, in particular, "selective" declassification.

References

[1]
M. Abadi, A. Banerjee, N. Heintze, and J. G. Riecke. A core calculus of dependency. InConference Record of the 26th ACM Symposium on Principles of Programming Languages, pages 147-160, San Antonio, Texas, Jan. 1999.
[2]
M. Abadi, B. Lampson, and J.-J. L~vy. Analysis and caching of dependencies. In Proceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming, pages 83-91, Philadelphia, Pennsylvania, May 1996.
[3]
A. Aiken, M. F~hndrich, J. S. Foster, and Z. Su. A toolkit for constructing type- and constraint-based program analyses. Lecture Notes in Computer Science, 1473:78, 1998.
[4]
G. R. Andrews and R. P. Reitman. Anaxiomatic approach toinformation ?ow in programs. ACM Transactions on Programming Languages and Systems, 2(1):56-76, Jan. 1980.
[5]
J.-P. Ban~tre, C. Bryce, and D. Le M~tayer. Compile-time detection of information ?ow in sequential programs. In D. Gollmann, editor, Proceedings of the 3rd European Symposium on Research in Computer Security, volume 875ofLecture Notes in Computer Science, pages 55-74. Springer Verlag, 1994.
[6]
D. E. Denning. Cryptography and Data Security. Addison-Wesley, Reading, Massachusetts, 1982.
[7]
D. E. Denning and P. J. Denning. Certi?cation of programs for secure information ?ow. Communications of the ACM, 20(7):504-513, July 1977.
[8]
J. S. Fenton. Memoryless subsystems. The Computer Journal, 17(2):143-147, May 1974.
[9]
C. Fournet, L. Maranget, C. Laneve, and D. R~my. Implicit typing ~ la ML for the join-calculus. In 8th International Conference on Concurrency Theory (CONCUR'97), volume 1243 of Lecture Notes in Computer Science, pages 196-212, Warsaw, Poland, 1997. Springer.
[10]
Y.-C. Fuh and P. Mishra. Polymorphic subtype inference: Closing the theory-practice gap. In J. D~az and F. Orejas, editors, Proceedings of the International Joint Conference onTheory and Practice of Software Development : Vol. 2, volume 352 of LNCS, pages 167-183, Berlin, Mar. 1989. Springer.
[11]
J. Goguen and J. Meseguer. Security policies and security models. In Proceedings of the 1982 IEEE Symposium on Security and Privacy, pages 11-20, Apr. 1982.
[12]
N. Heintze and J. G. Riecke. The SLam calculus: Programming with secrecy and integrity. In Conference Record of the 25th ACM Symposium on Principles of Programming Languages, pages 365-377, San Diego, California, Jan. 1998.
[13]
B. W. Lampson. A note on the con?nement problem. Communications of the Association for Computing Machinery, 16(10):613-615, Oct. 1973.
[14]
A. C. Myers. Mostly-Static Decentralized Information Flow Control. PhD thesis, Massachusetts Institute of Technology, Jan. 1999.Technical Report MIT/LCS/TR-783.
[15]
A. C. Myers and B. Liskov. Complete, safe information ?ow withdecentralized labels. In Proceedings of the 1998 IEEE Symposium on Security and Privacy, pages 186-197, May 1998.
[16]
M. Odersky, M. Sulzmann, and M.Wehr. Type inference with constrained types. Theory and Practice of Object Systems, 5(1), 1999.
[17]
P. ~rb~k and J. Palsberg. Trust in the A-calculus. Journal of Functional Programming, 7(6):557-591, Nov. 1997.
[18]
J. Palsberg and P. ~rb~k. Trust in the A-calculus. Lecture Notes in Computer Science, 983:314-330, 1995.
[19]
F. Pottier. Simplifying subtyping constraints: a theory. Submitted for journal publication, Dec. 1998.
[20]
F. Pottier. Type inference in the presence of subtyping: from theory to practice. Technical Report 3483, INRIA, Sept. 1998.
[21]
D. R~my. Projective ML. In 1992 ACM Conference on Lisp and Functional Programming, pages 66-75, New-York, 1992. ACM Press.
[22]
D. R~my andJ.Vouillon. Objective ML: A simple object-oriented extension of ML. In Proceedings of the 24th ACM Symposium on Principles of Programming Languages, pages 40-53, Paris, France, Jan. 1997.
[23]
J. L. Ross and M. Sagiv. Building a bridge between pointer aliases and program dependences. Nordic Journal of Computing, 5(4):361-386, 1998.
[24]
G. S. Smith. Polymorphic type inference with overloading and subtyping. In M.-C. Gaudel and J.-P. Jouannaud, editors, TAPSOFT'93, volume 668of Lecture Notes in Computer Science, pages 671-685. Springer-Verlag, Apr. 1993.
[25]
A. Stoughton. Access ?ow: A protection model which integrates access control and information ?ow. In Proceedings of the 1981 IEEE Symposium on Security and Privacy, pages 9-18, 1981.
[26]
V. Trifonov and S. Smith. Subtyping constrained types. In Proceedings of the Third International Static Analysis Symposium, volume 1145 of LNCS, pages 349-365. SV, Sept. 1996.
[27]
D. Volpano and G. Smith. A type-based approach to program security. Lecture Notesin Computer Science, 1214:607-621, Apr. 1997.
[28]
A. K. Wright and M. Felleisen. A syntactic approach to type soundness. Information and Computation, 115(1):38-94, Nov. 1994.

Cited By

View all
  • (2021)Mechanized logical relations for termination-insensitive noninterferenceProceedings of the ACM on Programming Languages10.1145/34342915:POPL(1-29)Online publication date: 4-Jan-2021
  • (2019)JRIF: Reactive Information Flow Control for JavaFoundations of Security, Protocols, and Equational Reasoning10.1007/978-3-030-19052-1_7(70-88)Online publication date: 28-Apr-2019
  • (2016)Information flow analysis for a dynamically typed language with staged metaprogrammingJournal of Computer Security10.3233/JCS-16055724:5(541-582)Online publication date: 8-Nov-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICFP '00: Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
September 2000
294 pages
ISBN:1581132026
DOI:10.1145/351240
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2000

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ICFP00
Sponsor:

Acceptance Rates

ICFP '00 Paper Acceptance Rate 24 of 110 submissions, 22%;
Overall Acceptance Rate 333 of 1,064 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)119
  • Downloads (Last 6 weeks)22
Reflects downloads up to 01 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Mechanized logical relations for termination-insensitive noninterferenceProceedings of the ACM on Programming Languages10.1145/34342915:POPL(1-29)Online publication date: 4-Jan-2021
  • (2019)JRIF: Reactive Information Flow Control for JavaFoundations of Security, Protocols, and Equational Reasoning10.1007/978-3-030-19052-1_7(70-88)Online publication date: 28-Apr-2019
  • (2016)Information flow analysis for a dynamically typed language with staged metaprogrammingJournal of Computer Security10.3233/JCS-16055724:5(541-582)Online publication date: 8-Nov-2016
  • (2016)The spirit of ghost codeFormal Methods in System Design10.1007/s10703-016-0243-x48:3(152-174)Online publication date: 1-Jun-2016
  • (2015)Exploring and enforcing security guarantees via program dependence graphsACM SIGPLAN Notices10.1145/2813885.273795750:6(291-302)Online publication date: 3-Jun-2015
  • (2015)Exploring and enforcing security guarantees via program dependence graphsProceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/2737924.2737957(291-302)Online publication date: 3-Jun-2015
  • (2015)It's My PrivilegeProceedings of the 11th International Workshop on Security and Trust Management - Volume 933110.1007/978-3-319-24858-5_13(203-219)Online publication date: 21-Sep-2015
  • (2014)The Spirit of Ghost CodeProceedings of the 16th International Conference on Computer Aided Verification - Volume 855910.1007/978-3-319-08867-9_1(1-16)Online publication date: 18-Jul-2014
  • (2013)Information Flow Analysis for a Dynamically Typed Language with Staged MetaprogrammingProceedings of the 2013 IEEE 26th Computer Security Foundations Symposium10.1109/CSF.2013.21(209-223)Online publication date: 26-Jun-2013
  • (2013)A Type System for Robust DeclassificationElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/S1571-0661(03)50014-783(263-277)Online publication date: 1-Jan-2013
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media