摘要 |
<p>A secure program interpreter performs a special check the first time it executes a method call to determine if the sole purpose of the called method is to access the value of private variable, modify the value of a private variable, or return a constant value. When this is the case, the interpreter's internal representation of the method being executed is modified so as to directly access the private variable of the called method, or to directly access the stored constant of the called method. The modified method representation uses special "privileged" load and store instructions, not available in normal source code programs, that access private variables and constants outside the method being executed without causing a security violation to be flagged. When the modified portion of the method is executed, the private variable or constant is accessed directly by the executed method using a privileged load or store instruction, the use of which avoids the flagging of a security violation by the program interpreter. When execution of the program is completed, the modified internal representation of the method is flushed, such that when the program is executed again said interpreter generates a new working representation of the aforementioned method. <IMAGE></p> |