MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

JFlow: Practical Mostly-Static Information Flow Control (1999) [265 citations — 20 self]

by Andrew C. Myers
In Proc. 26th ACM Symp. on Principles of Programming Languages (POPL
Add To MetaCart

Abstract:

A promising technique for protecting privacy and integrity of sensitive data is to statically check information flow within programs that manipulate the data. While previous work has proposed programming language extensions to allow this static checking, the resulting languages are too restrictive for practical use and have not been implemented. In this paper, we describe the new language JFlow, an extension to the Java language that adds statically-checked information flow annotations. JFlow provides several new features that make information flow checking more flexible and convenient than in previous models: a decentralized label model, label polymorphism, run-time label checking, and automatic label inference. JFlow also supports many language features that have never been integrated successfully with static information flow control, including objects, subclassing, dynamic type tests, access control, and exceptions. This paper defines the JFlow language and presents formal rules tha...

Citations

1446 The Java Language Specification – Gosling, Joy, et al.
426 Secure Computer Systems: Unified Exposition and Multics Interpretation – Bell, LaPadula - 1975
418 Cryptography and Data Security – Denning - 1982
370 A Lattice Model of Secure Information Flow – Denning - 1976
269 A Note on the Confinement Problem – Lampson - 1973
264 A sound type system for secure flow analysis – Volpano, Smith, et al. - 1996
256 Certification of programs for secure information flow – Denning, Denning - 1977
213 Secrecy by Typing in Security Protocols – Abadi - 1997
180 The SLam calculus: Programming with secrecy and integrity – Heintze, Riecke - 1998
156 Parameterized types for Java – Myers, Bank, et al. - 1997
150 Secure information flow in a multi-threaded imperative language – Smith, Volpano - 1998
143 Typeful Programming – Cardelli - 1989
124 Dynamic typing in a statically typed language – Abadi, Cardelli, et al. - 1991
120 A decentralized model for information flow control – Myers, Liskov - 1997
56 An axiomatic approach to information flow in programs – Andrews, Reitman - 1980
52 Complete, safe information flow with decentralized labels – Myers, Liskov - 1998
45 Mostly-static decentralized information flow control – MYERS - 1999
38 Tractable constraints in finite semilattices – Rehof, Mogensen - 1996
32 Trust in the -calculus – rbaek, Palsberg - 1997
28 An efficient general iterative algorithm for data flow analysis – Horwitz, Demers, et al. - 1987
27 A language extension for expressing constraints on data access – JONES, LISKOV - 1978
15 Cacl: Efficient finegrained protection for objects – Richardson, Schwartz, et al. - 1992
12 Access flow: A protection model which integrates access control and information flow – Stoughton - 1981
11 Provably-Secure Programming Languages for Remote Evaluation – Volpano - 1996
9 LouAnna Notargiacomo. Beyond the pale of MAC and DAC—defining new forms of access control – McCollum, Messing - 1990
4 Worklist management strategies for dataflow analysis – Kanamori, Weise - 1994
4 PolyJ: Parameterized types for Java. Software release. Located at http://www.pmg.lcs.mit.edu/polyj – Liskov, Mathewson, et al. - 1998