Provably correct runtime monitoring

被引:5
|
作者
Aktug, Irem [1 ]
Dam, Mads [1 ]
Gurov, Dilian
机构
[1] KTH, Sch Comp Sci & Commun, ACCESS Linnaeus Ctr, Stockholm, Sweden
来源
基金
瑞典研究理事会;
关键词
Runtime monitoring; Policy enforcement; Monitor inlining; Proof-carrying code; !text type='JAVA']JAVA[!/text; ENFORCEMENT;
D O I
10.1016/j.jlap.2008.12.002
中图分类号
学科分类号
摘要
Runtime monitoring is an established technique to enforce a wide range of program safety and security properties. We present a formalization of monitoring and monitor inlining, for the Java Virtual Machine. Monitors are security automata given in a special-purpose monitor specification language, ConSpec. The automata operate on finite or infinite strings of calls to a fixed API, allowing local dependencies on parameter values and heap content. We use a two-level class file annotation scheme to characterize two key properties: (i) that the program is correct with respect to the monitor as a constraint on allowed program behavior, and (ii) that the program has a copy of the given monitor embedded into it. As the main application of these results we sketch a simple inlining algorithm and show how the two-level annotations can be completed to produce a fully annotated program which is valid in the standard sense of Floyd/Hoare logic. This establishes the mediation property that inlined programs are guaranteed to adhere to the intended policy. Furthermore, validity can be checked efficiently using a weakest precondition based annotation checker, thus preparing the ground for on-device checking of policy adherence in a proof-carrying code setting. (C) 2009 Elsevier Inc. All rights reserved.
引用
收藏
页码:304 / 339
页数:36
相关论文
共 50 条
  • [21] Automatic generation of provably correct parallelizing compilers
    Gupta, G
    Pontelli, E
    Lara-Rodriguez, A
    Felix-Cardenas, R
    [J]. 1998 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING - PROCEEDINGS, 1998, : 579 - 586
  • [22] Provably correct derivation of algorithms using FermaT
    Ward, Martin
    Zedan, Hussein
    [J]. FORMAL ASPECTS OF COMPUTING, 2014, 26 (05) : 993 - 1031
  • [23] Provably correct conflict prevention bands algorithms
    Narkawicz, Anthony
    Munoz, Cesar
    Dowek, Gilles
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2012, 77 (10-11) : 1039 - 1057
  • [24] Provably Correct Code Generation: A Case Study
    Wang, Qian
    Gupta, Gopal
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 118 : 87 - 109
  • [25] Towards provably correct system synthesis and extension
    Giunchiglia, F
    Pecchiari, P
    Armando, A
    [J]. FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF GRID COMPUTING AND ESCIENCE, 1996, 12 (2-3): : 123 - 137
  • [26] Synthesising correct concurrent runtime monitors
    Adrian Francalanza
    Aldrin Seychell
    [J]. Formal Methods in System Design, 2015, 46 : 226 - 261
  • [27] Synthesising correct concurrent runtime monitors
    Francalanza, Adrian
    Seychell, Aldrin
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2015, 46 (03) : 226 - 261
  • [28] RUNTIME MONITORING
    不详
    [J]. IEEE SOFTWARE, 2016, 33 (01) : 95 - 95
  • [29] Provably correct reactive control from natural language
    Lignos, Constantine
    Raman, Vasumathi
    Finucane, Cameron
    Marcus, Mitchell
    Kress-Gazit, Hadas
    [J]. AUTONOMOUS ROBOTS, 2015, 38 (01) : 89 - 105
  • [30] Provably correct reactive control from natural language
    Constantine Lignos
    Vasumathi Raman
    Cameron Finucane
    Mitchell Marcus
    Hadas Kress-Gazit
    [J]. Autonomous Robots, 2015, 38 : 89 - 105