1. A non-transitory computer readable medium storing instructions that, when executed, enable a computer to: at run-time verify the correctness of an entity that has an execution path leading through one or more software components that need to be protected; using a monitor that runs within a virtual machine monitor, said monitor provisioned with a description of said execution path; in response to accessing a register, cause a virtual machine exit and transfer control to the monitor; determine where the entity calls the next software component in the path using a signed manifest specifying the sequence of execution; read a memory address leading to the next software component; examine the next software component in the execution path and make code measurements on said component; and compare the code measurements with stored values in said signed manifest to determine if the next software component in the execution path is the expected and correct software component.