Patent ID: 8108856

Claim:
An apparatus comprising: a plurality of virtual machines, the plurality of virtual machines including a first virtual machine and one or more additional virtual machines, the first virtual machine existing in an isolated execution environment, the isolated execution environment operable to execute code independently and securely isolated from each of the one or more additional virtual machines, the first virtual machine including a reference driver operable to execute within the isolated execution environment, the additional virtual machines including one or more software components; a virtual machine manager coupled to the plurality of virtual machines, the virtual machine manager including a manifest loaded into the virtual machine manager to verify the integrity of the reference driver, the virtual machine manager operable to provide the isolated execution environment and to prevent software running on the additional plurality of virtual machines from altering, modifying, reading or otherwise affecting any code stored and any code running in the isolated execution environment; an integrity manifest data repository coupled to the virtual machine manager, the integrity manifest data repository operable to store an integrity manifest for at least one of the one or more software components, the integrity manifest for a given software component including integrity verification of the given software component based on runtime information associated with the given software component; and an integrity measurement manager coupled to the virtual machine manager, the integrity measurement manager operable to receive from any given one of the additional virtual machines a validation request based on a call regarding a given software component of the one or more software components, and to validate the given software component using verification of two areas including the integrity manifest for the given software component and verification of an entry point in the call for the given software component, the integrity measurement manager operable to provide an integrity verification if the given software component is verified in both the two areas wherein the virtual machine manager is operable to block access by the given software component to and from the isolated execution environment until the integrity verification for the given software component has been received.