Security monitor inlining and certification for multithreaded Java']Java

被引:1
|
作者
Dam, Mads [1 ]
Jacobs, Bart [2 ]
Lundblad, Andreas [1 ]
Piessens, Frank [2 ]
机构
[1] Royal Inst Technol KTH, SE-10044 Stockholm, Sweden
[2] Katholieke Univ Leuven, B-3001 Louvain, Belgium
关键词
ENFORCEMENT;
D O I
10.1017/S0960129512000916
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Security monitor inlining is a technique for security policy enforcement whereby monitor functionality is injected into application code in the style of aspect-oriented programming. The intention is that the injected code enforces compliance with the policy (security), and otherwise interferes with the application as little as possible (conservativity and transparency). Such inliners are said to be correct. For sequential Java-like languages, inlining is well understood, and several provably correct inliners have been proposed. For multithreaded Java one difficulty is the need to maintain a shared monitor state. We show that this problem introduces fundamental limitations in the type of security policies that can be correctly enforced by inlining. A class of race-free policies is identified that precisely characterizes the inlineable policies by showing that inlining of a policy outside this class is either not secure or not transparent, and by exhibiting a concrete inliner for policies inside the class which is secure, conservative and transparent. The inliner is implemented for Java and applied to a number of practical application security policies. Finally, we discuss how certification in the style of proof-carrying code could be supported for inlined programs by using annotations to reduce a potentially complex verification problem for multithreaded Java bytecode to sequential verification of just the inlined code snippets.
引用
收藏
页码:528 / 565
页数:38
相关论文
共 50 条
  • [41] An empirical study of method inlining for a Java']Java just-in-time compiler
    Suganuma, T
    Yasue, T
    Nakatani, T
    USENIX ASSOCIATION PROCEEDINGS OF THE 2ND JAVA(TM) VIRTUAL MACHINE RESEARCH AND TECHNOLOGY SYMPOSIUM, 2002, : 91 - 104
  • [42] The evolution of Java']Java security
    Koved, L
    Nadalin, AJ
    Neal, D
    Lawson, T
    IBM SYSTEMS JOURNAL, 1998, 37 (03) : 349 - 364
  • [43] A platform-independent distributed runtime for standard multithreaded java']java
    Factor, Michael
    Schuster, Assaf
    Shagin, Konstantin
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2006, 34 (02) : 113 - 142
  • [44] Symbolic context-bounded analysis of multithreaded java']java programs
    Suwimonteerabuth, Dejvuth
    Esparza, Javier
    Schwoon, Stefan
    MODEL CHECKING SOFTWARE, PROCEEDINGS, 2008, 5156 : 270 - 287
  • [45] Real-time garbage collection for a multithreaded Java']Java microcontroller
    Fuhrmann, S
    Pfeffer, M
    Kreuzinger, J
    Ungerer, T
    Brinkschulte, U
    FOURTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2001, : 69 - 76
  • [46] JRastro: A trace agent for debugging multithreaded and distributed Java']Java programs
    da Silva, GJ
    Schnorr, LM
    Stein, BD
    15TH SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING, PROCEEDINGS, 2003, : 46 - 54
  • [47] Antipattern-based detection of deficiencies in Java']Java multithreaded software
    Hallal, HH
    Alikacem, E
    Tunney, WP
    Boroday, S
    Petrenko, A
    QSIC 2004: PROCEEDINGS OF THE FOURTH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE, 2004, : 258 - 267
  • [48] Object allocation and memory contention study of Java']Java multithreaded applications
    Huang, W
    Qian, Y
    Srisa-an, W
    Chang, JM
    CONFERENCE PROCEEDINGS OF THE 2004 IEEE INTERNATIONAL PERFORMANCE, COMPUTING, AND COMMUNICATIONS CONFERENCE, 2004, : 375 - 382
  • [49] PERMISSION-BASED SEPARATION LOGIC FOR MULTITHREADED JAVA']JAVA PROGRAMS
    Amighi, Afshin
    Haack, Citristian
    Huisman, Marieke
    Hurlin, Clement
    LOGICAL METHODS IN COMPUTER SCIENCE, 2015, 11 (01)
  • [50] Factors Affecting Scalability of Multithreaded Java']Java Applications on Manycore Systems
    Qian, Junjie
    Li, Du
    Srisa-an, Witawas
    Jiang, Hong
    Seth, Sharad
    2015 IEEE International Symposium on Performance Analysis and Software (ISPASS), 2015, : 167 - 168