Page Protection Layer for Secure Memory Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computer systems face vulnerabilities that allow attackers to read, write, or execute at arbitrary virtual addresses, compromising system security, and existing security structures like the trusted computing base (TCB) can be complex and prone to implementation errors, increasing the risk of vulnerabilities.
Innovation Solution
A computer system incorporating a page protection layer (PPL) that manages virtual to physical page mappings, enforces dynamic security policies, and ensures only the PPL can modify page tables, ensuring no component can modify executable pages without a valid code signature, thereby enhancing security by minimizing the TCB's complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a traditional TCB with multiple privileged levels (including hypervisor) is implemented to enforce security policies, then security isolation between components is improved, but device complexity increases and the TCB becomes more prone to implementation errors
Solution Approach 1:
The patent extracts the core security enforcement function from the complex multi-level TCB architecture and consolidates it into a dedicated page protection layer that manages page tables. This layer is responsible for enforcing security policies related to memory access and page modifications, while other system components can focus on their primary functions without the overhead of implementing full security logic.
Solution Approach 2:
The TCB is segmented into distinct functional layers: the page protection layer handles memory security and page table management, the kernel handles system operations, and user applications handle business logic. This segmentation allows each layer to be optimized independently and reduces the attack surface by limiting the privileges required for each function.
2Device complexity
If the TCB is minimized to reduce complexity and implementation errors, then device complexity is reduced, but the ability to enforce dynamic security policies may be limited
Solution Approach 1:
The page protection layer implements dynamic security policies by allowing runtime modification of page table entries and memory protection attributes. Security policies can be adjusted based on system state, user actions, or detected threats without requiring system restart or complex reconfiguration, enabling the minimal TCB to remain adaptable to changing security requirements.
3Reliability
If additional privileged levels (such as hypervisor) are added to enforce security policies, then security isolation is improved, but the system becomes more complex and vulnerable to attacks
Solution Approach 1:
The page protection layer acts as an intermediary between the kernel and hardware memory management units. It enforces security policies by intercepting and validating memory access requests, page table modifications, and executable page changes. This intermediary approach provides strong security isolation without requiring an additional hypervisor level, as the page protection layer operates within the existing kernel privilege structure.
Data Source
AI summary
In an embodiment, a computer system comprises a page protection layer. The page protection layer may be the component in the system which manages the page tables for virtual to physical page mappings. Transactions to the page protection layer are used to create/manage mappings created in the page tables. The page protection layer may enforce dynamic security policies in the system (i.e. security policies that may not be enforced using only a static hardware configuration). In an embodiment, the page protection layer may ensure that it is the only component which is able to modify the page tables. The page protection layer may ensure than no component in the system is able to modify a page that is marked executable in any process' address space. The page protection may ensure that any page that is marked executable has code with a verified code signature, in an embodiment.


