Domain Control Circuitry for Memory Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face vulnerabilities due to unauthorized code changing access control data, compromising memory address security, especially in privileged modes where complex code increases security risks.

Innovation Solution

Implementing domain control circuitry to restrict changes to access control data within specific, confined areas like the operating system kernel, using memory access control circuitry responsive to access control data and domain specifiers to manage access permissions across multiple domains, ensuring only authorized code can modify access control data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory access control circuitry is used to control access to memory addresses, then security is improved, but unauthorized code can still change access control data compromising security

Engineering Contradiction:
Improvememory access securityVSAvoidunauthorized access control data modification
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The memory address space is divided into multiple domains, each with specific access control permissions. The domain control circuitry segments the ability to modify access control data by domain, allowing only specific domains (e.g., kernel domain) to modify access control data for their respective domains, while preventing unauthorized modifications from other domains.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Domain control circuitry is introduced as an intermediary between the processing circuitry and the access control data. This intermediary checks the domain of executing instructions and determines whether they are permitted to change access control data, thereby mediating and controlling the modification process to prevent unauthorized changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If privileged mode operation is implemented to control access, then access control is improved, but code complexity increases creating more security vulnerabilities

Engineering Contradiction:
Improveaccess control capabilityVSAvoidcode complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Different domains are assigned different capabilities to change access control data. The kernel domain is granted the capability to modify access control data, while user domains are not. This local differentiation of permissions allows simple user-mode code without requiring complex privileged mode operations, while still maintaining security through domain-based restrictions.

Inventive Principle:
Principle #3Local quality

3Reliability

If domain control circuitry is implemented to restrict access control data changes, then security is improved, but device complexity increases

Engineering Contradiction:
Improveoverall system securityVSAvoidcontrol circuitry complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The domain control circuitry is integrated with the existing memory access control circuitry and memory management unit. The domain control logic is merged into the memory management hardware, allowing domain-based access control to be implemented without adding separate, independent control systems. This integration minimizes additional complexity while achieving the security goals.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7966466B2Memory domain based security control with data processing systems
Publication Date: 2011.06.21 ARM LTD
  • US7966466B2 patent drawing
  • US7966466B2 patent drawing
  • US7966466B2 patent drawing

AI summary

Access to memory address space is controlled by memory access control circuitry using access control data. The ability to change the access control data is controlled by domain control circuitry. Whether or not an instruction stored within a particular domain, being a set of memory addresses, is able to modify the access control data is dependent upon the domain concerned. Thus, the ability to change access control data can be restricted to instructions stored within particular defined locations within the memory address space thereby enhancing security. This capability allows systems to be provided in which call forwarding to an operating system can be enforced via call forwarding code and where trusted regions of the memory address space can be established into which a secure operating system may write data with increased confidence that that data will only be accessible by trusted software executing under control of a non-secure operating system.