• DocumentCode
    34084
  • Title

    Securing Class Initialization in Java-like Languages

  • Author

    Rafnsson, Willard ; Nakata, Keiko ; Sabelfeld, Andrei

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Chalmers Univ. of Technol., Gothenburg, Sweden
  • Volume
    10
  • Issue
    1
  • fYear
    2013
  • fDate
    Jan.-Feb. 2013
  • Firstpage
    1
  • Lastpage
    13
  • Abstract
    Language-based information-flow security is concerned with specifying and enforcing security policies for information flow via language constructs. Although much progress has been made on understanding information flow in object-oriented programs, little attention has been given to the impact of class initialization on information flow. This paper turns the spotlight on security implications of class initialization. We reveal the subtleties of information propagation when classes are initialized, and demonstrate how these flows can be exploited to leak information through error recovery. Our main contribution is a type-and-effect system which tracks these information flows. The type system is parameterized by an arbitrary lattice of security levels. Flows through the class hierarchy and dependencies in field initializers are tracked by typing class initializers wherever they could be executed. The contexts in which each class can be initialized are tracked to prevent insecure flows of out-of-scope contextual information through class initialization statuses and error recovery. We show that the type system enforces termination-insensitive noninterference.
  • Keywords
    Java; formal specification; object-oriented programming; program diagnostics; program verification; security of data; system recovery; Java-like languages; class dependencies; class hierarchy; class initialization security; error recovery; information propagation; language constructs; language-based information-flow security; object-oriented programs; program analysis; security policy enforcement; security policy specification; termination-insensitive noninterference; type-and-effect system; Context; Java; Lattices; Loading; Security; Semantics; Syntactics; Information flow control; program analysis;
  • fLanguage
    English
  • Journal_Title
    Dependable and Secure Computing, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1545-5971
  • Type

    jour

  • DOI
    10.1109/TDSC.2012.73
  • Filename
    6275445