Anti-tamper System Using Runtime Profiling for Integrity Check Placement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing anti-tamper systems face challenges in balancing the number and placement of integrity checks to minimize performance penalties while maintaining protection strength, particularly when little user intervention is required, and they do not effectively address the timing of code execution and check performance.
Innovation Solution
The system employs runtime profiling to determine optimal locations for injecting integrity checks, deciding the type and effort of each check based on profiling data, including function execution counts, call-graph, execution-graph, and frequency-domain information, to maximize protection strength with minimal performance impact.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If more integrity checks are injected into the software, then protection strength is improved, but performance penalty increases
Solution Approach 1:
The patent applies local quality by strategically placing integrity checks at specific locations within the software based on runtime profiling data. Rather than uniformly distributing checks throughout the codebase, the system identifies high-value targets for checking based on actual execution patterns, function importance, and tampering risk. This allows concentrated protection strength at critical locations while minimizing performance impact in less sensitive areas.
Solution Approach 2:
The patent implements partial action by selectively injecting integrity checks only where most needed, rather than applying checks uniformly across all software. The runtime profiling mechanism identifies specific functions and code regions that require protection, allowing the system to achieve strong protection where necessary while avoiding unnecessary performance penalties in less critical areas.
2Manufacturing precision
If integrity checks are injected manually, then placement precision is improved, but ease of operation deteriorates
Solution Approach 1:
The patent implements self-service through automated runtime profiling that performs the entire check placement process without requiring manual user configuration. The system automatically instruments the software, collects execution data, analyzes profiling information, and determines optimal check locations based on observed runtime behavior. This automation achieves precision comparable to manual expert placement while eliminating the complexity of manual configuration for users.
Solution Approach 2:
The patent uses feedback mechanisms by collecting runtime profiling data from actual software execution and using this information to guide check placement decisions. The system continuously monitors execution patterns, function call frequencies, and code behavior, then feeds this information back into the check placement algorithm to optimize protection strategy based on real-world usage rather than static analysis alone.
3Device complexity
If integrity checks are placed without runtime profiling, then device complexity is reduced, but measurement precision deteriorates
Solution Approach 1:
The patent applies preliminary action by performing runtime profiling during a preliminary execution phase before final check placement is determined. The system instruments the software and collects execution data during this preliminary run, then uses the gathered information to make informed decisions about where to place integrity checks. This preliminary action enables precise check placement without requiring complex real-time analysis during normal operation.
Data Source
AI summary
A computer implemented anti-tamper system employing runtime profiling of software in order to decide where to inject integrity checks into the software, to enable verification of whether or not the software has been tampered with. Runtime profiling and analysis is used to record information about the application, in order to establish the locations and targets of runtime integrity checks in order to optimize protection security, while minimizing the performance penalty and the need for hand configuration.

