Abstract Syntax Tree Code Integrity Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for determining the integrity of code execution are resource-intensive and lack efficient mechanisms to detect manipulation or distortion caused by physical attacks or environmental influences, such as bit flips in semiconductor circuits.
Innovation Solution
A method that involves creating an abstracted representation of program code by identifying reference signatures for basic blocks, executing the code, and comparing these signatures to detect any deviations from intended execution paths, thereby ensuring the integrity of code execution while minimizing resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If code fragments are executed in parallel to ensure integrity, then reliability of code execution is improved, but device complexity and resource consumption increase
Solution Approach 1:
The patent creates a simplified copy or representation of the code structure (abstract syntax tree) that mirrors the essential execution paths without duplicating the full code functionality. This allows integrity verification through comparison of the abstract representation before and after execution, avoiding the need for full parallel execution while maintaining reliability detection capability
Solution Approach 2:
The patent introduces an intermediary abstract syntax tree representation that serves as a mediator between the original code and the integrity verification process. This intermediate structure captures the essential control flow and data flow information needed for integrity checking without requiring complex parallel execution architectures
2Reliability
If multiple integrity checking measures are implemented, then reliability of code execution is improved, but loss of time and processing power increase
Solution Approach 1:
The patent extracts only the essential structural information from the code into an abstract syntax tree, separating the critical integrity-related elements from the full code implementation. This extraction allows for rapid comparison and integrity verification without processing the entire code base, significantly reducing time loss while maintaining reliability
Solution Approach 2:
The patent divides the code into segmented basic blocks and represents their relationships in a structured abstract syntax tree. This segmentation allows integrity checking to focus on specific control flow and data flow paths independently, enabling parallel or sequential verification of individual segments without blocking the entire system, thus reducing overall processing time
3Reliability
If parallel execution of code fragments is performed for integrity checking, then reliability is improved, but use of energy and processing power increases
Solution Approach 1:
The patent creates a lightweight abstract representation (copy) of the code structure that can be verified without executing the full code in parallel. This abstract copy requires minimal processing energy compared to full parallel execution, while still providing reliable integrity detection through structural comparison
Solution Approach 2:
The patent performs partial integrity checking by verifying only the essential control flow and data flow paths represented in the abstract syntax tree, rather than executing and verifying all code paths in parallel. This partial action approach achieves sufficient reliability for security-critical applications while dramatically reducing energy consumption
Data Source
AI summary
A method for determining an integrity of an execution of a code fragment is provided. The method includes identifying a reference signature for the code fragment within an abstracted representation of a program code comprising the code fragment. Further, the method includes executing the code fragment and determining a signature of the executed code fragment. The method includes comparing the signature with the reference signature.


