Metadata Processing Domain for Secure Instruction Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for enforcing security policies in computer processors lack effective mechanisms to prevent unauthorized execution of instructions, which can compromise system security.
Innovation Solution
A processing system comprising a host processing domain and a metadata processing domain, where the host processor executes instructions and provides output information to the metadata processing domain. The metadata processing domain, including a tag processing unit and a policy execution processor, determines whether the instructions comply with enforced policies and associates output metadata tags with the operation output information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single processor handles both instruction execution and security policy enforcement, then device complexity is reduced, but security reliability deteriorates due to potential unauthorized execution
Solution Approach 1:
The processing system is divided into two distinct domains: a host processing domain for instruction execution and a metadata processing domain for security policy enforcement. This segmentation separates security-critical functions from general processing, ensuring that security policies are enforced by a dedicated domain that cannot be compromised by application-level attacks.
Solution Approach 2:
A processor interlock acts as an intermediary between the host processor and memory system. It interceptors memory access requests from the host processor, validates them against security policies, and either permits or blocks the requests. This intermediary layer provides security enforcement without requiring modifications to the host processor architecture.
2Reliability
If security policies are enforced by a separate metadata processing domain, then security reliability is improved, but device complexity increases due to dual-domain architecture
Solution Approach 1:
The metadata processing domain and host processing domain share common resources including memory, I/O devices, and a unified instruction set architecture. The processor interlock is integrated into the existing memory interface, allowing security enforcement to be added without creating entirely separate hardware paths. This merging approach reduces the complexity increase that would result from complete isolation.
Solution Approach 2:
The processor interlock serves multiple functions: it acts as a security policy enforcement mechanism, a memory access controller, and a communication bridge between the host processor and memory system. By designing the interlock to handle multiple responsibilities, the overall system complexity is reduced compared to having separate dedicated components for each function.
3Reliability
If the processor interlock validates each instruction against security policies, then security reliability is improved, but processing speed deteriorates due to additional validation steps
Solution Approach 1:
Security policies are pre-loaded into the processor interlock before the host processor begins execution. The interlock maintains pre-computed security rules and metadata in on-chip memory, allowing it to perform rapid lookups during instruction validation. This preliminary preparation eliminates the need for time-consuming policy evaluations during runtime instruction processing.
Solution Approach 2:
The processor interlock maintains copies of security policies and metadata in its own memory space, separate from the host processor's memory. This allows the interlock to validate instructions against local copies without requiring access to the host processor's memory hierarchy, reducing validation latency. The host processor continues executing instructions while the interlock independently validates them against its cached policy information.
Data Source
AI summary
A system and method of processing instructions may comprise an application processing domain (APD) and a metadata processing domain (MTD). The APD may comprise an application processor executing instructions and providing related information to the MTD. The MTD may comprise a tag processing unit (TPU) having a cache of policy-based rules enforced by the MTD. The TPU may determine, based on policies being enforced and metadata tags and operands associated with the instructions, that the instructions are allowed to execute (i.e., are valid). The TPU may write, if the instructions are valid, the metadata tags to a queue. The queue may (i) receive operation output information from the application processing domain, (ii) receive, from the TPU, the metadata tags, (iii) output, responsive to receiving the metadata tags, resulting information indicative of the operation output information and the metadata tags; and (iv) permit the resulting information to be written to memory.


