Dynamic Software Protection Injection via OS Manifest
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional software protection mechanisms are static and immutable, making them vulnerable to tampering, reverse engineering, and malicious use, as they are fixed during the creation process and do not adapt to evolving threats.
Innovation Solution
A manifest stored on a storage medium lists protection categories, which are read by the operating system to inject dynamic protection mechanisms into the binary object in computer memory, allowing for updates and flexible protection strategies that change with each load, even on different hardware configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If protection mechanisms are fixed during software creation, then the software structure is simple and easy to manufacture, but the protection becomes vulnerable to tampering and reverse engineering over time
Solution Approach 1:
The patent applies dynamics by making protection mechanisms changeable and updatable. Instead of fixed protection code embedded in the binary, the system uses a manifest that lists protection categories and allows the operating system to inject different protection mechanisms at load time. This enables the protection to adapt and evolve, preventing reverse engineering while maintaining ease of implementation through the manifest structure.
2Adaptability or versatility
If protection mechanisms are updated separately from the binary, then the protection can adapt to new threats, but the system complexity increases
Solution Approach 1:
The patent segments the protection system into distinct components: the binary object contains only the manifest listing protection categories, while the actual protection mechanisms are separated and managed by the operating system. This segmentation allows independent updates of protection mechanisms without modifying the binary, improving adaptability while keeping the binary structure simple.
Solution Approach 2:
The operating system acts as an intermediary between the binary manifest and the protection mechanisms. The manifest lists what protections are needed, and the OS handles the injection and execution of actual protection code. This intermediary approach simplifies the binary while enabling dynamic protection updates through the OS's protection mechanism manager.
3Adaptability or versatility
If the same protection is applied to all hardware configurations, then the protection mechanism is simple, but it cannot adapt to different security requirements of different systems
Solution Approach 1:
The patent applies local quality by allowing different protection mechanisms to be selected based on the specific hardware configuration and security requirements of each system. The manifest lists protection categories, and the operating system chooses appropriate mechanisms from available options, enabling tailored protection for different hardware platforms without complicating the binary structure.
Data Source
AI summary
A method to apply a protection mechanism to a binary object includes using operating system resources to load a binary object from a storage medium along with a manifest and a digital signature. Authentication of the binary object is performed using the digital signature and the manifest is read to determine a category of protection for the binary object. The operating system selects a protection mechanism corresponding to the protection category and injects protection mechanism code, along with the binary object into a binary image on computer RAM. When the binary image is accessed, the protection mechanism executes and either allows full access and functionality to the binary object or prevents proper access and operation of the binary object. The protection mechanisms may be updated independently from the information on the storage medium.


