I was hoping that someone can help me with the following:
My understanding about java stack introspection (maybe a bit oversimplified here) is that a process generates a stack frame that is then added to the stack. Now when the process needs to make a system call the stack introspection algorithm checks to see whether the principal (i.e. the process that is trying to access a resource) is allowed to use the particular resource and then annotates the frame accordingly (granting or forbidding access).
My questions are:
- Is the above correct or am I missing something?
- How does the JVM decide whether to grant or restrict access? Is the user involved in this decision?
- In this study theres an example (figure 2) in which a frame inherits/is being told the "belief set" of the previous frame! What stops malicious code from being executed in this example (i.e. get access to a resource that shouldnt have accesss to)?