Mechanism to handle events in a machine with isolated execution
First Claim
Patent Images
1. A method comprising:
- maintaining a first page table map for use in an isolated execution mode and a second page table map for use in a normal execution mode;
restricting access to an isolated area of memory to bus cycles performed in the isolated execution mode by a processor operating in the isolation execution mode, the isolated area of memory having an associated audit log to contain hash values representing information that has been successfully loaded into the isolated area of memory, the audit log to further act as a fingerprint that identifies the information loaded into the isolated area of memory, the audit log to further prove current status of the isolated execution mode;
dynamically swapping between the first page table map and the second page table map responsive to a change in execution mode;
identifying if an event is one of a class of events to be handled in the isolated execution mode;
asserting a selection signal to select the first page table map if the event is identified as one of the class of events to be handled in the isolated execution mode;
handling the event using a table map selected by the selection signal;
determining if a current mode is the isolated execution mode;
loading a set of control registers with values corresponding to the first page table map if the current mode is not the isolated execution mode and the event is one of the class; and
dispatching an exception vector after the loading is complete.
1 Assignment
0 Petitions
Accused Products
Abstract
A platform and method for secure handling of events in an isolated environment. A processor executing in isolated execution “IsoX” mode may leak data when an event occurs as a result of the event being handled in a traditional manner based on the exception vector. By defining a class of events to be handled in IsoX mode, and switching between a normal memory map and an IsoX memory map dynamically in response to receipt of an event of the class, data security may be maintained in the face of such events.
166 Citations
18 Claims
-
1. A method comprising:
-
maintaining a first page table map for use in an isolated execution mode and a second page table map for use in a normal execution mode; restricting access to an isolated area of memory to bus cycles performed in the isolated execution mode by a processor operating in the isolation execution mode, the isolated area of memory having an associated audit log to contain hash values representing information that has been successfully loaded into the isolated area of memory, the audit log to further act as a fingerprint that identifies the information loaded into the isolated area of memory, the audit log to further prove current status of the isolated execution mode; dynamically swapping between the first page table map and the second page table map responsive to a change in execution mode; identifying if an event is one of a class of events to be handled in the isolated execution mode; asserting a selection signal to select the first page table map if the event is identified as one of the class of events to be handled in the isolated execution mode; handling the event using a table map selected by the selection signal; determining if a current mode is the isolated execution mode; loading a set of control registers with values corresponding to the first page table map if the current mode is not the isolated execution mode and the event is one of the class; and dispatching an exception vector after the loading is complete. - View Dependent Claims (2, 3, 4, 5, 6, 7, 14)
-
-
8. An apparatus comprising:
-
a first storage location storing control data for a first page table map for use in an isolation execution mode; a second storage location storing control data for a second page table map for use in a normal execution mode; a selection unit to select which page table map is applied responsive to receipt of an event, the selection unit to dynamically swap between the first page table map and the second page table map responsive to a change in execution mode; and an isolated execution circuit at a processor to generate isolated access bus cycles to permit the processor to access an isolated area of memory and operate in the isolated execution mode, and further to restrict access to the isolated area, the isolated area of memory having an associated audit log to contain hash values representing information that has been successfully loaded into the isolated area of memory, the audit log to further act as a fingerprint that identifies the information loaded into the isolated area of memory, the audit log to further prove current status of the isolated execution mode, wherein isolated access bus cycles are to be used if the apparatus operates in an isolated execution mode. - View Dependent Claims (9, 10)
-
-
11. A computer system comprising:
-
a processor executing in one of a normal execution mode and an isolated execution mode associated with an isolated area of memory; a first set of control registers to define a current memory map of the platform; a mapping unit to dynamically load the first set of control registers responsive to an event if the event should be handled using an alternate memory map, the mapping unit including a second set of registers having a first subset corresponding to control register values for a normal execution mode memory map and a second subset corresponding to control register values for an isolated execution mode memory map, the mapping unit further including a selection unit to select and dynamically swap between the first subset and the second subset, the isolated area of memory having an associated audit log to contain hash values representing information that has been successfully loaded into the isolated area of memory, the audit log to further act as a fingerprint that identifies the information loaded into the isolated area of memory, the audit log to further prove current status of the isolated execution mode; and an isolated execution circuit to generate isolated access bus cycles if the processor is executing in the isolated execution mode, the isolated execution circuit to permit the processor to access the isolated area to operate in the isolated execution mode, and further to restrict access to the isolated area. - View Dependent Claims (12, 13)
-
-
15. A non-transitory processor readable medium comprising instructions that when executed, cause a machine to:
-
maintain a first page table map for use in an isolated execution mode and a second page table map for use in a normal execution mode; restrict access to an isolated area of memory to bus cycles performed in the isolated execution mode by a processor operating in the isolation execution mode, the isolated area of memory having an associated audit log to contain hash values representing information that has been successfully loaded into the isolated area of memory, the audit log to further act as a fingerprint that identifies the information loaded into the isolated area of memory, the audit log to further prove current status of the isolated execution mode; dynamically swap between the first page table map and the second page table map responsive to a change in execution mode; identify if an event is one of a class of events to be handled in the isolated execution mode; assert a selection signal to select the first page table map if the event is identified as one of the class of events to be handled in the isolated execution mode; handle the event using a table map selected by the selection signal; determine if a current mode is the isolated execution mode; load a set of control registers with values corresponding to the first page table map if the current mode is not the isolated execution mode and the event is one of the class; and dispatch an exception vector after the load is complete. - View Dependent Claims (16, 17, 18)
-
Specification