Memory Access Control Using Execution Context and Region Permissions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems struggle to provide fine-grained memory access control, as they often rely solely on process-level permissions, failing to differentiate access control within a process based on the specific code being executed.
Innovation Solution
Implement a mechanism that determines permissions based on both the current execution context and the target memory address, using a two-stage lookup process involving an instruction region table and a permissions table to provide differentiated access control within a process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If process-level permissions are used for memory access control, then implementation simplicity is maintained, but fine-grained access control capability is insufficient
Solution Approach 1:
The patent segments memory access control by introducing region identifiers that divide memory space into distinct regions, each with its own access permissions. This allows different parts of a process to have different memory access rights, achieving fine-grained control while maintaining a relatively simple implementation through regional segmentation rather than complex per-address control
Solution Approach 2:
The patent applies local quality by assigning different permission attributes to different memory regions within the same process. Each region can have customized access permissions (read, write, execute) based on its specific security requirements, allowing security policies to be tailored locally to each memory region rather than applying uniform process-level permissions
2Device complexity
If traditional memory access control mechanisms are used, then system simplicity is maintained, but security control over memory access is insufficient
Solution Approach 1:
The patent implements a nested control structure where region identifiers and permissions tables are embedded within the existing memory management framework. The security control mechanism is nested inside the memory access path, adding security checks without requiring a complete redesign of the memory management system, thus maintaining relative simplicity while enhancing security
Solution Approach 2:
The patent introduces region identifiers and permissions tables as intermediary structures between the process and memory addresses. These intermediaries translate memory access requests into security checks, providing an additional layer of security control without directly modifying the fundamental process-memory interface, thereby maintaining system simplicity while improving security
Data Source
AI summary
Apparatuses, methods, computer programs, and computer-readable storage media are disclosed, wherein an instruction associated with instruction fetch address is fetched and processing performs, when the instruction comprises a request specifying a target memory address, an operation dependent on the target memory address. Registers hold values indicative of a current processing state and a current execution context identifier register holds a current execution context identifier indicative of a current execution context within a current process that caused the instruction to be fetched. Memory security, when the instruction comprises the request specifying the target memory address, determines, based on the instruction fetch address, a current region identifier; determines, based on the current region identifier and the current execution context identifier, a permissions index. A target region identifier is determined based on the target memory address and a lookup in a permissions table, based on the permissions index and the target region identifier, yields permissions information for requests issued in response to instructions associated with the current execution context identifier and the current region identifier that specify the target memory address. Based on the permissions information it is determined whether the request is prohibited.


