Memory-Mapped Control Register Lockdown Against Unauthorized Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems with memory mapped control registers are vulnerable to attacks where attackers exploit software bugs to modify control information, compromising system security by altering memory protection boundaries.
Innovation Solution
Implement a lockdown register to control write operations to memory mapped control registers using specific subsets of store instructions, allowing trusted software to update the lockdown value and restrict unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If memory mapped control registers are made accessible through standard memory access instructions, then ease of programming is improved, but security against attackers exploiting software bugs deteriorates
Solution Approach 1:
The patent segments store instructions into two distinct subsets: a first subset with restricted access to memory mapped control registers and a second subset with full access. This segmentation allows the system to maintain ease of programming for legitimate software while preventing attackers from exploiting bugs to modify control registers, as the restricted subset cannot be used for unauthorized writes.
Solution Approach 2:
The patent applies different access qualities to different instruction subsets. The first subset of store instructions is given a restricted quality that prevents writing to memory mapped control registers, while the second subset retains full access rights. This local differentiation of access permissions allows trusted software to program the apparatus easily while untrusted software is blocked from malicious modifications.
2Object-affected harmful factors
If access control mechanisms are implemented to protect memory regions, then security is improved, but device complexity increases
Solution Approach 1:
The patent uses existing memory access control mechanisms that are already present in the data processing apparatus to control access to memory mapped control registers. By reusing and extending existing control structures rather than creating entirely new complex mechanisms, the patent achieves enhanced security while minimizing the increase in device complexity.
3Adaptability or versatility
If all store instructions are allowed to write to control registers, then adaptability is improved, but reliability against attacks deteriorates
Solution Approach 1:
The patent dynamically adjusts the accessibility of memory mapped control registers based on the subset of store instructions being executed. Legitimate software using the second subset enjoys full adaptability to program control registers, while potentially malicious code using the first subset is dynamically restricted. This dynamic control maintains reliability against attacks while preserving programming flexibility for authorized software.
Data Source
Figure 1
Figure 2
Figure 3A~3B
AI summary
A technique is described for controlling access to a set of memory mapped control registers. An apparatus has processing circuitry for executing program code in order to perform data processing operations, and a set of memory mapped control registers for storing control information used to control operation of the processing circuitry when executing the program code. Further, a lockdown register is used to store a lockdown value. The processing circuitry is arranged to execute store instructions to perform write operations to a memory address space, the store instructions being of multiple types. However, when the lockdown value is set, the processing circuitry is arranged to prevent a write operation being performed to change the control information in the memory mapped control registers unless that write operation occurs due to execution of a store instruction from a first subset of the multiple types of store instructions. This significantly reduces the prospect of an attacker seeking to exploit a software vulnerability to change the control information in the memory mapped control registers.