Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2637113.2637116acmotherconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Generalizing Permissive-Upgrade in Dynamic Information Flow Analysis

Published: 28 July 2014 Publication History

Abstract

Preventing implicit information flows by dynamic program analysis requires coarse approximations that result in false positives, because a dynamic monitor sees only the executed trace of the program. One widely deployed method is the no-sensitive-upgrade check, which terminates a program whenever a variable's taint is upgraded (made more sensitive) due to a control dependence on tainted data. Although sound, this method is restrictive, e.g., it terminates the program even if the upgraded variable is never used subsequently. To counter this, Austin and Flanagan introduced the permissive-upgrade check, which allows a variable upgrade due to control dependence, but marks the variable "partially-leaked". The program is stopped later if it tries to use the partially-leaked variable. Permissive-upgrade handles the dead-variable assignment problem and remains sound. However, Austin and Flanagan develop permissive-upgrade only for a two-point (low-high) security lattice and indicate a generalization to pointwise products of such lattices. In this paper, we develop a non-trivial and non-obvious generalization of permissive-upgrade to arbitrary lattices. The key difficulty lies in finding a suitable notion of partial leaks that is both sound and permissive and in developing a suitable definition of memory equivalence that allows an inductive proof of soundness.

References

[1]
A. Askarov and A. Sabelfeld. Tight enforcement of information-release policies for dynamic languages. In Proc. IEEE Computer Security Foundations Symposium (CSF), pages 43--59, 2009.
[2]
A. Askarov, S. Hunt, A. Sabelfeld, and D. Sands. Termination-insensitive noninterference leaks more than just a bit. In Proc. European Symposium on Research in Computer Security (ESORICS), pages 333--348, 2008.
[3]
T. H. Austin and C. Flanagan. Efficient purely-dynamic information flow analysis. In Proc. ACM SIGPLAN Workshop on Programming Languages and Analysis for Security (PLAS), pages 113--124, 2009.
[4]
T. H. Austin and C. Flanagan. Permissive dynamic information flow analysis. In Proc. ACM SIGPLAN Workshop on Programming Languages and Analysis for Security (PLAS), pages 3:1--3:12, 2010.
[5]
A. Bichhawat, V. Rajani, D. Garg, and C. Hammer. Information flow control in WebKit's JavaScript Bytecode. In Proc. Conference on Principles of Security and Trust (POST), pages 159--178, 2014.
[6]
A. Birgisson, D. Hedin, and A. Sabelfeld. Boosting the permissiveness of dynamic information-flow tracking by testing. In Proc. European Symposium on Research in Computer Security (ESORICS), pages 55--72, 2012.
[7]
P. Buiras, D. Stefan, A. Russo, and D. Mazieres. On dynamic flow-sensitive floating label systems. In Proc. IEEE Symposium on Computer Security Foundations (CSF), 2014. To appear.
[8]
R. Chugh, J. A. Meister, R. Jhala, and S. Lerner. Staged information flow for JavaScript. In Proc. ACM Conference on Programming Language Design and Implementation (PLDI), pages 50--62, 2009.
[9]
D. E. Denning and P. J. Denning. Certification of programs for secure information flow. Communications of the ACM, 20(7):504--513, July 1977.
[10]
D. Devriese and F. Piessens. Noninterference through secure multi-execution. In Proc. IEEE Symposium on Security and Privacy (Oakland), pages 109--124, 2010.
[11]
S. Guarnieri, M. Pistoia, O. Tripp, J. Dolby, S. Teilhet, and R. Berg. Saving the World Wide Web from vulnerable JavaScript. In Proc. International Symposium on Software Testing and Analysis (ISSTA), pages 177--187, 2011.
[12]
G. L. Guernic, A. Banerjee, T. Jensen, and D. A. Schmidt. Automata-based confidentiality monitoring. In Proc. Asian Computing Science Conference on Secure Software (ASIAN), pages 75--89, 2006.
[13]
D. Hedin and A. Sabelfeld. Information-flow security for a core of JavaScript. In Proc. IEEE Computer Security Foundations Symposium (CSF), pages 3--18, 2012.
[14]
C. Hritcu, M. Greenberg, B. Karel, B. C. Pierce, and G. Morrisett. All your IFCException are belong to us. In Proc. IEEE Symposium on Security and Privacy (Oakland), pages 3--17, 2013.
[15]
S. Hunt and D. Sands. On flow-sensitive security types. In Proc. ACM-SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pages 79--90, 2006.
[16]
G. Le Guernic. Automaton-based confidentiality monitoring of concurrent programs. In Proc. IEEE Computer Security Foundations Symposium (CSF), pages 218--232, 2007.
[17]
A. C. Myers. JFlow: Practical mostly-static information flow control. In Proc. ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pages 228--241, 1999.
[18]
F. Nentwich, N. Jovanovic, E. Kirda, C. Kruegel, and G. Vigna. Cross-site scripting prevention with dynamic data tainting and static analysis. In Proc. Network and Distributed System Security Symposium (NDSS), 2007.
[19]
A. Russo and A. Sabelfeld. Dynamic vs. static flow-sensitive security analysis. In Proc. IEEE Computer Security Foundations Symposium (CSF), pages 186--199, 2010.
[20]
A. Sabelfeld and A. Russo. From dynamic to static and back: Riding the roller coaster of information-flow control research. In Proc. Perspectives of Systems Informatics (PSI), pages 352--365, 2010.
[21]
D. Volpano, C. Irvine, and G. Smith. A sound type system for secure flow analysis. Journal of Computer Security, 4(2-3):167--187, 1996.
[22]
S. A. Zdancewic. Programming Languages for Information Security. PhD thesis, Cornell University, 2002.

Cited By

View all
  • (2021)Permissive runtime information flow control in the presence of exceptionsJournal of Computer Security10.3233/JCS-21138529:4(361-401)Online publication date: 1-Jan-2021
  • (2021)Gradual Security Types and Gradual Guarantees2021 IEEE 34th Computer Security Foundations Symposium (CSF)10.1109/CSF51468.2021.00015(1-16)Online publication date: Jul-2021
  • (2019)Beyond Labels: Permissiveness for Dynamic Information Flow Enforcement2019 IEEE 32nd Computer Security Foundations Symposium (CSF)10.1109/CSF.2019.00031(351-35115)Online publication date: Jul-2019
  • Show More Cited By

Index Terms

  1. Generalizing Permissive-Upgrade in Dynamic Information Flow Analysis

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    PLAS'14: Proceedings of the Ninth Workshop on Programming Languages and Analysis for Security
    July 2014
    83 pages
    ISBN:9781450328623
    DOI:10.1145/2637113
    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]

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 28 July 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Dynamic information flow control
    2. partial leak
    3. permissive-upgrade
    4. security lattice

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ECOOP '14

    Acceptance Rates

    PLAS'14 Paper Acceptance Rate 6 of 10 submissions, 60%;
    Overall Acceptance Rate 43 of 77 submissions, 56%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 28 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Permissive runtime information flow control in the presence of exceptionsJournal of Computer Security10.3233/JCS-21138529:4(361-401)Online publication date: 1-Jan-2021
    • (2021)Gradual Security Types and Gradual Guarantees2021 IEEE 34th Computer Security Foundations Symposium (CSF)10.1109/CSF51468.2021.00015(1-16)Online publication date: Jul-2021
    • (2019)Beyond Labels: Permissiveness for Dynamic Information Flow Enforcement2019 IEEE 32nd Computer Security Foundations Symposium (CSF)10.1109/CSF.2019.00031(351-35115)Online publication date: Jul-2019
    • (2018)A Better Facet of Dynamic Information Flow ControlCompanion Proceedings of the The Web Conference 201810.1145/3184558.3185979(731-739)Online publication date: 23-Apr-2018
    • (2018)Practical Information Flow Control for Web ApplicationsRuntime Verification10.1007/978-3-030-03769-7_21(372-388)Online publication date: 8-Nov-2018
    • (2017)Using Precise Taint Tracking for Auto-sanitizationProceedings of the 2017 Workshop on Programming Languages and Analysis for Security10.1145/3139337.3139341(15-24)Online publication date: 30-Oct-2017
    • (2017)Multiple Facets for Dynamic Information Flow with ExceptionsACM Transactions on Programming Languages and Systems10.1145/302408639:3(1-56)Online publication date: 10-May-2017
    • (2016)A Taxonomy of Information Flow MonitorsProceedings of the 5th International Conference on Principles of Security and Trust - Volume 963510.5555/3089491.3089495(46-67)Online publication date: 2-Apr-2016
    • (2016)Information-flow security for JavaScript and its APIsJournal of Computer Security10.3233/JCS-16054424:2(181-234)Online publication date: 19-Apr-2016
    • (2016)A verified information-flow architectureJournal of Computer Security10.3233/JCS-1578424:6(689-734)Online publication date: 1-Dec-2016
    • Show More Cited By

    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