Application Integrity Validation via Protected Memory Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefunctionality varietyVSAvoidsecurity reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveapplication integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #26Copying

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveanti-tampering capabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP2430581B1Method, apparatus, and computer program for providing application security
Publication Date: 2020.10.14 NOKIA TECHNOLOGIES OY
  • EP2430581B1 patent drawingFigure 1
  • EP2430581B1 patent drawingFigure 2
  • EP2430581B1 patent drawingFigure 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.