JVMTI-based Model Enforcement on Java Platform for Model-Carrying Code

Model-carrying code(MCC) is an effective approach to ensuring the security of mobile code and provides a modelbased security framework for execution of untrusted applications. However, it faces several difficulties when applied to the most ubiquitous mobile code platform Java, as a new mechanism should be established in the enforcement phase to monitor program behavior of a thread in the Java virtual machine (JVM) instead of a process on the operating system. To address this problem, we develop a new method of model enforcement based on the JVM tool interface (JVM TI), which introduces few changes to JVM. Since the method keeps compatible with the Java specification requests (JSR), it enjoys a high level of portability. This paper also evaluates efficiency of our method under the assumption that each transition on the model costs a predefined constant period of time.