skip to main content
10.1145/2505879.2505895acmotherconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
research-article

Dependent types for enforcement of information flow and erasure policies in heterogeneous data structures

Published: 16 September 2013 Publication History

Abstract

We consider verification of information flow and erasure properties in programs with heterogeneous heap-based data structures, in the presence of procedures with local state. A heterogeneous data structure, such as a hash table implementing a medical record database, may store both secret and public data simultaneously. In contrast, extant work primarily focuses on homogeneous data structures which store data of a uniform security level. Heterogeneity, however, does not come for free. For example, standard implementations of hash tables do not support heterogeneity, and may leak sensitive information easily owing to hash collisions. In this paper we identify unique representation as a sufficient condition for a heterogeneous data structure to be leak-free, while simultaneously supporting abstraction and modularity in verification. As a case study, we implement and verify a novel uniquely-represented variant of heterogeneous hash tables. Furthermore, we demonstrate modular reasoning by showing how specifications of the hash table methods can be used in a client application; we thereby obtain abstract and concise formal proofs of erasure. We formalize our work in Relational Hoare Type Theory (RHTT), an expressive, higher-order imperative language and program logic embedded in the Coq proof assistant.

References

[1]
O. Amble and D. E. Knuth. Ordered hash tables. Comput. J., 17(2):135--142, 1974.
[2]
T. Amtoft, S. Bandhakavi, and A. Banerjee. A logic for information flow in object-oriented programs. In POPL, 2006.
[3]
D. Bell and L. LaPadula. Secure computer systems: Mathematical foundations. Technical Report MTR-2547, MITRE Corp., 1973.
[4]
N. Benton. Simple relational correctness proofs for static analyses and program transformations. In POPL, 2004.
[5]
J.-P. Bernardy, P. Jansson, and R. Paterson. Proofs for free --- parametricity for dependent types. JFP, 22(2), 2012.
[6]
J.-P. Bernardy and G. Moulin. A computational interpretation of parametricity. In LICS, 2012.
[7]
A. Birgisson, D. Hedin, and A. Sabelfeld. Boosting the permissiveness of dynamic information-flow tracking by testing. In ESORICS, 2012.
[8]
G. E. Blelloch and D. Golovin. Strongly history-independent hashing with applications. In FOCS, 2007.
[9]
J. Borgström, A. D. Gordon, and R. Pucella. Roles, stacks, histories: A triple for Hoare. JFP, 21(2):159--207, 2011.
[10]
S. Chong and A. C. Myers. Language-based information erasure. In CSFW, 2005.
[11]
S. Chong and A. C. Myers. End-to-end enforcement of erasure and declassification. In CSF, 2008.
[12]
E. S. Cohen. Information transmission in sequential programs. In R. A. DeMillo, D. P. Dobkin, A. K. Jones, and R. J. Lipton, editors, Foundations of Secure Computation. 1978.
[13]
D. Denning. A lattice model of secure information flow. CACM, 19(5):236--242, 1976.
[14]
D. Fotakis, R. Pagh, P. Sanders, and P. Spirakis. Space efficient hash tables with worst case constant access time. In STACS, 2003.
[15]
D. Golovin. Uniquely Represented Data Structures with Applications to Privacy. PhD thesis, Carnegie Mellon University, Pittsburgh, PA, August 2008.
[16]
J. D. Hartline, E. S. Hong, A. E. Mohr, W. R. Pentney, and E. Rocke. Characterizing history independent data structures. Algorithmica, 42(1):57--74, 2005.
[17]
D. Hedin and A. Sabelfeld. Information-flow security for a core of Javascript. In CSF, 2012.
[18]
S. Hunt and D. Sands. Just forget it - the semantics and enforcement of information erasure. In ESOP, 2008.
[19]
A. McCreight, T. Chevalier, and A. Tolmach. A certified framework for compiling and executing garbage-collected languages. In ICFP, 2010.
[20]
D. Micciancio. Oblivious data structures: Applications to cryptography. In STOC, 1997.
[21]
J. C. Mitchell and G. D. Plotkin. Abstract types have existential type. TOPLAS, 10(3):470--502, 1988.
[22]
D. Molnar, T. Kohno, N. Sastry, and D. Wagner. Tamper-evident, history-independent, subliminal-free data structures on prom storage-or-how to store ballots on a voting machine (extended abstract). In IEEE Symp. Security and Privacy, 2006.
[23]
A. C. Myers. JFlow: Practical mostly-static information flow control. In POPL, 1999.
[24]
A. Nanevski, A. Banerjee, and D. Garg. Dependent type theory for verification of access control and information flow policies. TOPLAS, 35(2):6, 2013.
[25]
M. Naor and V. Teague. Anti-persistence: history independent data structures. In STOC, 2001.
[26]
J. C. Reynolds. Separation logic: a logic for shared mutable data structures. In LICS, 2002.
[27]
A. Russo, A. Sabelfeld, and A. Chudnov. Tracking information flow in dynamic tree structures. In ESORICS, 2009.
[28]
A. Sabelfeld and A. C. Myers. Language-based information-flow security. IEEE J. Selected Areas in Communications, 21(1):5--19, 2003.
[29]
A. Sabelfeld and D. Sands. Declassification: Dimensions and principles. JCS, 17(5):517--548, 2009.
[30]
R. Sundar and R. E. Tarjan. Unique binary-search-tree representations and equality testing of sets and sequences. SIAM J. Comput., 23(1):24--44, 1994.
[31]
N. Swamy, J. Chen, C. Fournet, P.-Y. Strub, K. Bhargavan, and J. Yang. Secure distributed programming with value-dependent types. In ICFP, 2011.
[32]
D. M. Volpano, C. E. Irvine, and G. Smith. A sound type system for secure flow analysis. JCS, 4(2/3):167--188, 1996.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PPDP '13: Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
September 2013
308 pages
ISBN:9781450321549
DOI:10.1145/2505879
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 the author(s) 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

  • Universidad Complutense de Madrid

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. data structures
  2. dependent type theory
  3. erasure
  4. information flow
  5. verification

Qualifiers

  • Research-article

Funding Sources

Conference

PPDP '13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media