Jump Destination Address Validation for Embedded Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing security processing techniques that validate branch destination addresses before execution increase processing overhead, making them unsuitable for low-computing power devices like IoT and embedded devices.
Innovation Solution
A processing apparatus and method that determine if a jump destination address corresponds to a security-sensitive function region before execution, allowing execution if not sensitive, and recording jump history to identify suspicious records only when sensitive, reducing unnecessary security processing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If security processing is performed every time branch processing is executed to confirm the validity of branch destination address, then security reliability is improved, but processing overhead increases
Solution Approach 1:
The patent applies local quality by differentiating security processing based on the target address region. Security validation is performed selectively only when the branch destination address falls within pre-defined sensitive address regions, rather than uniformly for all branches. This localized approach maintains high security reliability for critical areas while reducing overall processing overhead by exempting non-sensitive regions from frequent validation.
Solution Approach 2:
The patent implements preliminary action by pre-defining sensitive address regions and their boundaries before program execution. The system prepares a data structure containing sensitive region information in advance, allowing the processor to quickly determine whether validation is needed by comparing branch destinations against these pre-established regions, rather than performing comprehensive validation checks for every branch instruction during execution.
2Reliability
If comprehensive security validation is performed for all branch instructions, then attack resistance is improved, but device complexity increases
Solution Approach 1:
The patent reduces device complexity by applying security processing locally only to sensitive address regions rather than implementing a universal validation mechanism for all branches. The determination unit checks whether branch destinations fall within pre-defined sensitive regions, and security validation is performed only in those localized areas, simplifying the overall system architecture while maintaining attack resistance for critical functions.
Solution Approach 2:
The patent segments the address space into sensitive and non-sensitive regions, allowing different security processing strategies to be applied to different segments. This segmentation enables the system to manage complexity by treating only the necessary portions (sensitive regions) with rigorous validation, while leaving other segments with simpler handling.
3Reliability
If security processing is performed for every jump instruction, then control flow security is improved, but computing power consumption increases
Solution Approach 1:
The patent reduces computing power consumption by applying control flow security processing locally only to jumps targeting sensitive address regions. The determination unit efficiently checks whether jump destinations fall within sensitive regions using pre-defined boundary information, and security validation is performed only when necessary, rather than consuming computing resources for every jump instruction regardless of target.
Solution Approach 2:
The patent performs preliminary action by pre-defining sensitive address region boundaries and organizing this information in an accessible data structure before execution. This allows the determination unit to quickly assess whether validation is needed through simple comparisons, reducing the computing power required during actual jump processing compared to performing comprehensive validation for every jump instruction.
Data Source
AI summary
In a processing apparatus, a determination unit determines whether a jump destination address of a jump instruction in a process execution program being executed corresponds to a sensitive address region. When the determination unit determines that the jump destination address does not correspond to the sensitive address region, the security control unit executes control to allow the execution of the jump instruction and record a jump source address and the jump destination address of the jump instruction in jump history information as a jump execution record. When it is determined that the jump destination address corresponds to the sensitive address region, the security control unit searches for a “suspicious record” in the jump history information. The suspicious record is a jump execution record corresponding to an “unusual jump destination address”.


