Memory Region Firewall for Secure SoC Boot Execution Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for managing memory access rights in system-on-chip (SoC) during booting are inefficient, leading to performance degradation or complex mechanisms, and are not compatible with all firmware, especially in the presence of fault injection attacks.
Innovation Solution
Implementing a firewall device to manage execution permissions for memory regions, assigning an executable or non-executable status to each region, along with read and write permissions, to prevent unauthorized execution of unauthenticated code or data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the memory management and protection unit is deactivated before jumping into the next firmware, then the processor can be reset and reconfigured, but it becomes vulnerable to fault injection attacks that can execute unauthenticated code
Solution Approach 1:
The firewall device pre-assigns execution permission statuses to memory regions before the processor reset occurs. This preliminary configuration ensures that when the reset happens and the program counter might be glitched, the firewall is already in place to block execution of unauthenticated code, thus preventing security vulnerabilities before they can be exploited
Solution Approach 2:
The firewall device acts as an intermediary layer between the processor and the memory regions. It monitors and controls execution permissions independently of the memory management and protection unit, providing an additional security barrier that prevents fault injection attacks from succeeding even when the traditional protection mechanisms are deactivated
2Reliability
If conventional solutions authenticate the full image of memory content or keep the memory management and protection unit active during reset, then security is improved, but system performance degrades or complexity increases
Solution Approach 1:
Instead of applying security checks to the entire memory image, the firewall device applies execution permission statuses locally to specific memory regions. This allows the system to authenticate and protect only the critical code regions while leaving other memory areas accessible, thus maintaining security without the performance overhead of full-image authentication
Solution Approach 2:
The memory space is segmented into multiple regions with different execution permission statuses. The firewall device manages these segments independently, allowing fine-grained control over which regions can be executed. This segmentation approach avoids the need for complex global authentication mechanisms while maintaining security against fault injection attacks
3Reliability
If conventional solutions use processor-specific memory management and protection units, then memory protection is provided, but compatibility with different firmware and processors is reduced
Solution Approach 1:
The firewall device provides universal memory execution control that works independently of processor-specific memory management and protection units. By implementing a standardized firewall mechanism that can manage execution permissions across different memory regions without relying on processor architecture-specific features, the system achieves broad compatibility with various firmware and processor types while maintaining security
Data Source
AI summary
The method for managing access rights of memory regions of a memory comprises assigning an execution permission status for each memory region in a firewall device dedicated to the memory, so that the content of a memory region having an executable status is capable of being executed by a processor, and the content of a memory region having a non-executable status cannot be executed by the processor.

