Provably correct inline monitoring for multithreaded Java']Java-like programs

被引:6
|
作者
Dam, Mads [1 ]
Jacobs, Bart [2 ]
Lundblad, Andreas [3 ]
Piessens, Frank [2 ]
机构
[1] Royal Inst Technol KTH, ACCESS Linnaeus Ctr, Stockholm, Sweden
[2] Katholieke Univ Leuven, Leuven, Belgium
[3] Royal Inst Technol KTH, Sch Comp Sci & Commun, Stockholm, Sweden
基金
瑞典研究理事会;
关键词
Security-by-contract; runtime monitoring; monitor inlining;
D O I
10.3233/JCS-2010-0365
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Inline reference monitoring is a powerful technique to enforce security policies on untrusted programs. The security-by-contract paradigm proposed by the EU FP6 (SMS)-M-3 project uses policies, monitoring, and monitor inlining to secure third-party applications running on mobile devices. The focus of this paper is on multi-threaded Java bytecode. An important consideration is that inlining should interfere with the client program only when mandated by the security policy. In a multi-threaded setting, however, this requirement turns out to be problematic. Generally, inliners use locks to control access to shared resources such as an embedded monitor state. This will interfere with application program non-determinism due to Java's relaxed memory consistency model, and rule out the transparency property, that all policy-adherent behaviour of an application program is preserved under inlining. In its place we propose a notion of strong conservativity, to formalise the property that the inliner can terminate the client program only when the policy is about to be violated. An example inlining algorithm is given and proved to be strongly conservative. Finally, benchmarks are given for four example applications studied in the (SMS)-M-3 project.
引用
收藏
页码:37 / 59
页数:23
相关论文
共 50 条
  • [1] Formal techniques for Java']Java-like programs
    Boyland, John
    Clarke, Dave
    Leavens, Gary
    Logozzo, Francesco
    Poetzsch-Heffter, Arnd
    [J]. OBJECT-ORIENTED TECHNOLOGY: ECOOP 2007 WORKSHOP READER, 2008, 4906 : 99 - +
  • [2] Formal techniques for Java']Java-like programs
    Eisenbach, S
    Leavens, GT
    Müller, P
    Poetzsch-Heffter, A
    Poll, E
    [J]. OBJECT-ORIENTED TECHNOLOGY, 2003, 3013 : 62 - 71
  • [3] A Framework for the Cryptographic Verification of Java']Java-like Programs
    Kuesters, Ralf
    Truderung, Tomasz
    Graf, Juergen
    [J]. 2012 IEEE 25TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2012, : 198 - 212
  • [4] Formal techniques for Java']Java-Like programs (FTfJP)
    Coglio, A
    Huisman, M
    Kiniry, JR
    Müller, P
    Poll, E
    [J]. OBJECT-ORIENTED TECHNOLOGY, 2004, 3344 : 76 - 83
  • [5] A thread monitoring system for multithreaded Java']Java programs
    Moon, Sewon
    Chang, Byeong-Mo
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (05) : 21 - 29
  • [6] Special issue:: Formal techniques for Java']Java-like programs
    Müller, P
    Naumann, DA
    Poll, E
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2004, 16 (07): : 645 - 646
  • [7] An automatic verifier for Java']Java-like programs based on dynamic frames
    Smans, Jan
    Jacobs, Bart
    Piessens, Frank
    Schulte, Wolfram
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS, 2008, 4961 : 261 - +
  • [8] Formal techniques for Java']Java-like programs - Report on the WSFTUP at ECOOP'06
    Ancona, Davide
    Drossopoulou, Sophia
    Igarashi, Atsushi
    Leavens, Gary T.
    Poetzsch-Heffter, Arnd
    Zucca, Elena
    [J]. OBJECT-ORIENTED TECHNOLOGY: ECOOP 2006 WORKSHOP READER, 2007, 4379 : 53 - 58
  • [9] Provably correct control flow graphs from Java']Java bytecode programs with exceptions
    Amighi, Afshin
    Gomes, Pedro de Carvalho
    Gurov, Dilian
    Huisman, Marieke
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2016, 18 (06) : 653 - 684
  • [10] A Java']Java-like calculus with heterogeneous coeffects
    Bianchini, Riccardo
    Dagnino, Francesco
    Giannini, Paola
    Zucca, Elena
    [J]. THEORETICAL COMPUTER SCIENCE, 2023, 971