Application Integrity Validation via Protected Memory Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile devices face security threats due to untrusted application software, which can be tampered with or corrupted, potentially leading to device and system failures, and compromising the reputation of manufacturers and providers.
Innovation Solution
A system that calculates and stores validation values for application executable files in protected memory, ensuring their integrity by comparing current values with stored ones during launch and runtime, and regulating access based on matching validation values to prevent unauthorized execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If third-party application software is allowed to be installed and run on mobile devices, then the functionality and variety of the platform is improved, but security risks and reliability deteriorate due to untrusted software
Solution Approach 1:
The system performs preliminary validation by calculating hash values of application executable files during installation and storing them in protected memory before the applications are run. This advance preparation enables integrity verification to occur automatically during runtime without user intervention, resolving the contradiction by establishing security measures beforehand that allow third-party software while preventing malicious execution
Solution Approach 2:
The patent introduces an intermediary validation mechanism that acts as a mediator between the application software and the execution environment. The hash value comparison process serves as an intermediary check that verifies application integrity without requiring direct trust in the developer, thus enabling third-party applications while maintaining security through this intermediate verification layer
2Reliability
If validation values are stored in protected memory and compared during each launch, then application integrity is improved, but device complexity and processing overhead worsen
Solution Approach 1:
The system creates a simplified copy of the validation mechanism by storing only hash values (compact data representations) in protected memory rather than full application copies. This copying approach maintains reliability through verification while minimizing complexity by using space-efficient hash data structures and simple comparison operations
Solution Approach 2:
The patent transforms the complex problem of application verification into a simple parameter comparison task. By converting applications into hash values and comparing these parameters during launch, the system achieves reliable integrity checking while reducing complexity through parameter transformation and simplified comparison logic
3Reliability
If hash values are recalculated during runtime events unrelated to launching, then security against tampering is improved, but processing time and energy consumption worsen
Solution Approach 1:
The system implements periodic validation by recalculating hash values at specific runtime intervals or events rather than continuously. This periodic approach improves security by detecting tampering that occurs between launches while minimizing processing time by avoiding constant validation, thus resolving the contradiction between security and time consumption
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In response to an initialization of the apparatus, a validation value is calculated for each of a plurality of application executable files and the validation values are stored in a protected memory portion of random access memory. An attempt to launch an application on the apparatus is determined, and a current validation value for an executable file associated with the application is calculated. The current validation value is compared with a corresponding one of the stored validation values, and launching of the application is regulated based on results of the comparison.