• DocumentCode
    632669
  • Title

    Information Flow Analysis for a Dynamically Typed Language with Staged Metaprogramming

  • Author

    Lester, Martin ; Ong, Lawrence ; Schaefer, M.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Oxford, Oxford, UK
  • fYear
    2013
  • fDate
    26-28 June 2013
  • Firstpage
    209
  • Lastpage
    223
  • Abstract
    Web applications written in JavaScript are regularly used for dealing with sensitive or personal data. Consequently, reasoning about their security properties has become an important problem, which is made very difficult by the highly dynamic nature of the language, particularly its support for runtime code generation. As a first step towards dealing with this, we propose to investigate security analyses for languages with more principled forms of dynamic code generation. To this end, we present a static information flow analysis for a dynamically typed functional language with prototype-based inheritance and staged metaprogramming. We prove its soundness, implement it and test it on various examples designed to show its relevance to proving security properties, such as noninterference, in JavaScript. To our knowledge, this is the first fully static information flow analysis for a language with staged metaprogramming, and the first formal soundness proof of a CFA-based information flow analysis for a functional programming language.
  • Keywords
    Java; data flow analysis; functional languages; metacomputing; program compilers; theorem proving; type theory; CFA-based information flow analysis; JavaScript; Web applications; dynamic code generation; dynamically typed functional language; formal soundness proof; functional programming language; prototype-based inheritance; security analyses; security properties; staged metaprogramming; static information flow analysis; Cognition; Context; Educational institutions; Security; Semantics; Stability analysis; Syntactics; CFA; JavaScript; dynamically typed languages; information flow; noninterference; staged metaprogramming; static analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Security Foundations Symposium (CSF), 2013 IEEE 26th
  • Conference_Location
    New Orleans, LA
  • Type

    conf

  • DOI
    10.1109/CSF.2013.21
  • Filename
    6595830