Processor Signature Determination for Program Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing technologies fail to effectively protect dynamic parts of a computer program's execution flow against manipulation, such as indirect and conditional branches, which are vulnerable to physical and logical attacks.
Innovation Solution
A data processing arrangement that includes a processor, a signature determination arrangement, and a detector, where the signature determination arrangement takes into account the results of program instructions like jump addresses and branch evaluations to update the instruction stream signature, ensuring integrity by comparing it to a reference signature at the end of program execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If instruction stream signature is used to protect static parts of the program flow, then integrity protection against manipulation is improved, but dynamic parts of the program flow remain vulnerable to manipulation
Solution Approach 1:
The patent applies dynamics by making the signature determination adaptive to the actual execution path. The signature is dynamically updated based on branch predictions and actual branch outcomes, allowing the protection mechanism to follow the dynamic control flow of the program rather than being static. This resolves the contradiction by enabling the system to protect both static and dynamic parts of the program flow.
Solution Approach 2:
The patent implements feedback by using branch prediction information to guide signature determination. The branch predictor provides feedback about likely execution paths, and the signature determination arrangement uses this feedback to anticipate and protect the dynamic control flow. This feedback mechanism enables the system to adapt to dynamic program execution while maintaining integrity protection.
2Reliability
If the signature determination arrangement considers branch prediction information, then protection against manipulation is improved, but the complexity of the system increases
Solution Approach 1:
The patent merges the signature determination arrangement with the branch prediction mechanism. By combining these two functions into an integrated system where the branch predictor directly informs signature determination, the patent reduces overall system complexity compared to having separate independent mechanisms. This merging allows the system to achieve enhanced protection without proportionally increasing complexity.
Solution Approach 2:
The branch prediction arrangement serves multiple functions: it not only predicts control flow for execution efficiency but also provides information for integrity verification. This multi-functionality reduces the need for separate dedicated protection mechanisms, thereby managing system complexity while improving reliability through unified use of branch prediction data.
Data Source
AI summary
According to one embodiment, a data processing arrangement is described comprising a processor configured to carry out a computer program including a plurality of program instructions; a signature determination arrangement configured to determine a signature of the program instructions carried out by the processor wherein the processor is configured to, when it carries out a program instruction of the plurality of program instructions which indicates the next program instruction of the plurality of program instructions to be carried out, provide information about the indication to the signature determination arrangement; wherein the signature determination arrangement is configured to take into account the information in the determination of the signature; and a detector configured to check, when the computer program is completely carried out, whether the determined signature is equal to a reference signature.


