Debug Protection Unit for Segmented Non-Secure Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Inhibiting debugging for non-secure portions of an application image developed by different entities is challenging, as existing systems struggle to prevent unauthorized access and modification.
Innovation Solution
A protection unit is introduced to monitor debug bus traffic and inhibit halting of the processor when a target address falls within a protected region of non-secure code, asserting a restart signal to continue execution and masking or filtering data to prevent access to developer-created code sections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a debugger is allowed to access the entire application image for debugging purposes, then debugging capability is improved, but security of non-secure code regions is compromised
Solution Approach 1:
The application image is divided into secure and non-secure regions, with further segmentation of non-secure regions into protected and unprotected sub-regions. This segmentation allows the debugger to access unprotected regions while preventing access to protected regions, thus resolving the contradiction between debugging capability and code integrity.
Solution Approach 2:
A protection unit is introduced as an intermediary component between the debugger and the application image. This protection unit intercepts debug requests, determines whether they target protected or unprotected regions, and selectively permits or blocks access. The intermediary enables debugging of user code while protecting developer code, resolving the security-capability contradiction.
2Reliability
If debugging is restricted in protected regions to maintain security, then code integrity is improved, but debugging flexibility deteriorates
Solution Approach 1:
Different debugging permissions are applied to different regions of the application image. Unprotected non-secure regions maintain full debugging flexibility, while protected regions have restricted debugging. This local differentiation resolves the contradiction by providing debugging flexibility where needed while maintaining code integrity where required.
Data Source
AI summary
One or more computing devices, systems, and/or methods are provided. In an example, a method comprises storing an application image comprising a non-secure portion in a memory. A first debug request comprising a first target address is received. Halting of a processor is inhibited responsive to the first target address being within a protected region for a portion of non-secure code.


