SECURE PRIVILEGE LEVEL EXECUTION AND ACCESS PROTECTION
2 Assignments
0 Petitions
Accused Products
Abstract
The subject disclosure is directed towards using one or more of hardware, a hypervisor, and privileged mode code to prevent system mode code from accessing user mode data and/or running user mode code at the system privilege level, or vice-versa. Also described is (in systems with a hypervisor) preventing non-hypervisor code from running in hypervisor mode or accessing hypervisor-only data, or vice-versa. A register maintained by hardware, hypervisor, or system mode code contains data access and execution polices for different chunks of addressable space with respect to which requesting entities (hypervisor mode code, system mode code, user mode code) have access to or can execute code in a given chunk. When a request to execute code or access data with respect to an address is received, the request is processed to determine to which chunk the address corresponds. The policy for that chunk is evaluated to determine whether to allow or deny the request.
14 Citations
40 Claims
-
1-20. -20. (canceled)
-
21. A system for enforcing code execution and data access policies comprising:
enforcement logic configured to; determine an access designation and an execution designation of a chunk, the chunk comprising a plurality of bits of addressable memory space; evaluate a request from a source related to code execution at an address against the access designation of the chunk corresponding to the address by accessing policy settings for the chunk, the policy settings identifying one or more execution capabilities and one or more access capabilities of the chunk; and allow or deny the request based upon the evaluation. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
29. A method comprising:
-
determining an access designation and an execution designation of a chunk, the chunk comprising a plurality of bits of addressable memory space; evaluating a request from a source related to code execution at an address against the access designation of the chunk corresponding to the address by accessing policy settings for the chunk, the policy settings identifying one or more execution capabilities and one or more access capabilities of the chunk; and allowing or deny the request based upon the evaluation. - View Dependent Claims (30, 31, 32, 33, 34, 35)
-
-
36. A computer-readable storage memory having computer-executable instructions that are configured, upon execution, perform operations comprising:
-
determining an access designation and an execution designation of a chunk, the chunk comprising a plurality of bits of addressable memory space; evaluating a request from a source related to code execution at an address against the access designation of the chunk corresponding to the address by accessing policy settings for the chunk, the policy settings identifying one or more execution capabilities and one or more access capabilities of the chunk; and allowing or deny the request based upon the evaluation. - View Dependent Claims (37, 38, 39, 40)
-
Specification