Efficient Runtime Policy Enforcement Using Counterexample-Guided Abstraction Refinement

Efficient Runtime Policy Enforcement Using Counterexample-Guided Abstraction Refinement
复制标题

使用反例引导的抽象细化有效执行运行时策略

DOI:
--
复制
发表时间:
2012
期刊:
International Conference on Computer Aided Verification
影响因子:
--
通讯作者:
V. Yegneswaran
V. Yegneswaran
中科院分区:
--
文献类型:
--
作者:
Matt Fredrikson;R. Joiner;S. Jha;T. Reps;Phillip A. Porras;Hassen Saïdi;V. Yegneswaran

文献摘要

参考文献

被引文献

相似文献

有状态安全策略--根据临时安全属性指定行为限制--是管理员控制不可信程序行为的强大工具。然而,在真实的程序上强制它们所需的运行时开销可能很高。本文介绍了一种技术,用于重写程序,将运行时检查,使所有执行的结果程序要么满足的政策,或停止之前违反it. By引入一个重写步骤,运行时执法,我们能够执行静态分析,以优化代码引入跟踪的政策状态。我们开发了一种新的分析,它建立在抽象-细化技术的基础上,以导出一组运行时策略检查来执行给定的策略--以及它们在代码中的位置。此外,抽象细化可由用户调整,因此花费在分析上的额外时间会导致更少的动态检查,从而提高代码的效率。我们报告的实验结果的算法,支持策略检查JavaScript程序的实现。
Stateful security policies--which specify restrictions on behavior in terms of temporal safety properties--are a powerful tool for administrators to control the behavior of untrusted programs. However, the runtime overhead required to enforce them on real programs can be high. This paper describes a technique for rewriting programs to incorporate runtime checks so that all executions of the resulting program either satisfy the policy, or halt before violating it. By introducing a rewriting step before runtime enforcement, we are able to perform static analysis to optimize the code introduced to track the policy state. We developed a novel analysis, which builds on abstraction-refinement techniques, to derive a set of runtime policy checks to enforce a given policy--as well as their placement in the code. Furthermore, the abstraction refinement is tunable by the user, so that additional time spent in analysis results in fewer dynamic checks, and therefore more efficient code. We report experimental results on an implementation of the algorithm that supports policy checking for JavaScript programs.
基于语言的不可信 JavaScript 隔离
DOI: 10.1109/csf.2009.11
发表时间: 2009
期刊: --
影响因子: --
作者:
Maffeis S
通讯作者: Maffeis S