This section adds the checking counterpart to the extension of the trustful execVMO to the trustful execVME, namely by checking each of the error handling instructions.
Checking JVME instructions
The defensive JVME assures the following security properties:
These aspect can be guaranteed if we keep track of the use of references and program counters in the store.
Types. The instructions Jsr and Ret push program counters on the stack and load program counters from local variables, respectively. We add the new variant retAddr to our type system.
In the JVM only the Store operation is allowed to move return addresses from the stack into a register. Therefore, we have to extend the corresponding check de_nition for Store.
Rules. The extension of the check function for JVME instructions is given in Figure above. The Athrow instruction requires that the reference on top of the operand stack is an instance of type Throwable. The Jsr instruction pushes retAddr on the type operand stack, provided enough space is left on the stack. The Ret instruction checks whether a retAddr is stored in the accessed location.
Jsr and Ret require to lift the execVME. The Jsr(s) instruction pushes the value (pc +1; retAddr(s)) on the operand stack indicating that pc +1 is a return address for subroutines.
The Ret(x) instruction only takes the _rst component of the register x as its next program counter.
The defensive JVME does not allow computed gotos: only Jsr generates return addresses and pushes them on the stack, only Store can move a return address into a register. The condition on Ret guarantees that only program generated return addresses can be used.
JVM Related Interview Questions
|Java Script Interview Questions||Adv Java Interview Questions|
|Core Java Interview Questions||AJAX Interview Questions|
|Android Interview Questions||Java applet Interview Questions|
|Java 8 Interview Questions||JBOSS Interview Questions|
|Advanced jQuery Interview Questions||Apache Tomcat Interview Questions|
|Application Virtualization Interview Questions||Java 9 Interview Questions|
The Imperative Core Javai Of Java
The Procedural Extension Javac Of Javai
The Object-oriented Extension Javao Of Javac
The Exception-handling Extension Javae Of Javao
The Concurrent Extension Javat Of Javae
Java Is Type Safe
The Jvmi Submachine
The Procedural Extension Jvmc Of Jvmi
The Object-oriented Extension Jvmo Of Jvmc
The Exception-handling Extension Jvme Of Jvmo
Correctness Of The Compiler
The Defensive Virtual Machine
Bytecode Type Assignments
The Diligent Virtual Machine
The Dynamic Virtual Machine
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.