Runtime Application Integrity Protection via OS-Level Signature Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional application stores lack effective protection mechanisms to prevent users from tampering with installed applications, leading to potential revenue loss for developers, as configuration values can be modified, and generated content is not adequately secured.
Innovation Solution
Implementing runtime integrity protection by associating access control entries (ACEs) with application components and generated content, ensuring that only protected processes can modify these entries, and validating the integrity of applications before launch to prevent unauthorized modifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional obfuscation or encryption is applied to application content, then application content is protected during storage, but once encryption is defeated there are no further checks to prevent users from modifying their applications at will
Solution Approach 1:
The patent applies preliminary action by performing integrity checking of application components before the application is launched. The operating system checks digital signatures or other integrity mechanisms on application files, configuration files, and generated content prior to execution, preventing tampered applications from running. This proactive approach ensures that even if encryption is defeated, the application cannot be modified and executed without detection.
Solution Approach 2:
The operating system acts as an intermediary between the application and the user by inserting an integrity verification layer. Before allowing application execution, the OS checks digital signatures, hashes, or other integrity markers on application components and generated content, mediating between the application's desire to run and the user's potential tampering attempts.
2Ease of operation
If configuration values are stored in packaged files with the application, then the application can function as intended, but users can discover and edit these files to change application behavior
Solution Approach 1:
The patent applies preliminary action by verifying the integrity of configuration files before the application launches. The operating system checks digital signatures or integrity markers on configuration files (such as settings.xml) prior to allowing the application to read or execute them, preventing users from editing these files to change application behavior.
Solution Approach 2:
The operating system acts as an intermediary between the configuration file and the application by inserting an integrity verification layer. Before allowing the application to access configuration files, the OS verifies digital signatures or integrity markers, mediating between the application's need for configuration data and the user's potential tampering attempts.
3Adaptability or versatility
If applications generate content that is stored on the user's computing device, then the application can provide functionality, but the generated content can be discovered and edited by users
Solution Approach 1:
The patent applies preliminary action by verifying the integrity of generated content before the application uses it. The operating system checks digital signatures or integrity markers on content generated by the application (such as receipts or data files) prior to allowing the application to read or process them, ensuring that the content has not been tampered with.
Solution Approach 2:
The operating system acts as an intermediary between the generated content and the application by inserting an integrity verification layer. Before allowing the application to access generated content, the OS verifies digital signatures or integrity markers, mediating between the application's need for generated data and the user's potential tampering attempts.
4Reliability
If access control entries are associated with application components, then only protected processes can modify these entries, but the system complexity increases
Solution Approach 1:
The patent applies universality by using a unified access control mechanism (such as ACEs or digital signatures) that serves multiple functions: protecting application components, validating configuration files, and securing generated content. This multi-functional approach strengthens reliability without proportionally increasing complexity, as the same mechanism handles multiple integrity verification tasks.
Data Source
AI summary
Systems, methods, apparatuses, and computer program products are described for checking the integrity of applications installed on a computing device and preventing the launch of applications that appear to have been tampered with or modified. In accordance with embodiments, the content of an application is validated at the time the application is to be launched, but before the launch has actually occurred. In accordance with additional embodiments, integrity protection can also be extended to content that is generated by an application (e.g., documents or other files generated by the application), thereby enabling applications to write their own files and data with the same degree of integrity protection.


