Security Monitor Inlining for Multithreaded Java

Security Monitor Inlining for Multithreaded Java
复制标题

多线程 Java 的安全监视器内联

DOI:
--
复制
发表时间:
2009
期刊:
European Conference on Object-Oriented Programming
影响因子:
--
通讯作者:
Frank Piessens
Frank Piessens
中科院分区:
--
文献类型:
--
作者:
M. Dam;B. Jacobs;Andreas Lundblad;Frank Piessens

文献摘要

被引文献

相似文献

程序监控是一种行之有效的安全策略实施方法。对应用程序级策略实施特别有吸引力的一种程序监控实现是监视内联:应用程序被重写以将监控和策略实施代码推送到应用程序本身。其意图是,插入的代码强制遵守策略(安全性),否则对应用程序的干扰尽可能少(保守性和透明性)。 对于顺序类Java语言,已经提出了被证明是正确的内联算法,但对于多线程设置,这仍然是一个悬而未决的问题。我们展示了多线程Java的任何内联都不可能既安全又透明。然而,可以确定可以获得所有三个正确性标准的一大类策略。我们提出了一个适用于此类策略的内嵌器,并为Java实现了它,并通过报告一些基准测试来说明它是实用的。
Program monitoring is a well-established and efficient approach to security policy enforcement. An implementation of program monitoring that is particularly appealing for application-level policy enforcement is monitor inlining: the application is rewritten to push monitoring and policy enforcement code into the application itself. The intention is that the inserted code enforces compliance with the policy (security), and otherwise interferes with the application as little as possible (conservativity and transparency). For sequential Java-like languages, provably correct inlining algorithms have been proposed, but for the multithreaded setting, this is still an open problem. We show that no inliner for multithreaded Java can be both secure and transparent. It is however possible to identify a broad class of policies for which all three correctness criteria can be obtained. We propose an inliner that is correct for such policies, implement it for Java, and show that it is practical by reporting on some benchmarks.