Encrypted Program Protection Domain for Static and Dynamic Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods fail to effectively protect a program's important logic or algorithm from both static and dynamic analysis tools, as anti-debugging and anti-dump functions are inadequate against static analysis, leading to potential leakage of sensitive information.
Innovation Solution
A device and method that encrypts critical program components into a protection domain, decrypts only when executed, and re-encrypts upon termination, using a protection domain unit with decryption and calling units to maintain an encrypted state, while storing frequently accessed domains to minimize performance impact.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the program is kept in encrypted state to protect from static analysis, then security is improved, but the program cannot be executed
Solution Approach 1:
The patent applies dynamics by making the protection domain's encryption state changeable - it is encrypted when not in use (protecting from static analysis) and decrypted when executed (enabling program operation). The state transitions between encrypted and decrypted based on execution status, resolving the contradiction between security and executability
Solution Approach 2:
The patent implements periodic action through the cycle of encrypting the protection domain after execution and decrypting it before execution. This periodic encryption/decryption cycle ensures the domain is protected during storage and transmission but accessible when needed for execution, balancing security requirements with operational needs
2Ease of operation
If the protection domain is decrypted for execution, then program execution is enabled, but the program becomes vulnerable to analysis tools
Solution Approach 1:
The system dynamically controls the encryption state based on execution phase - decrypted during execution to enable operation, re-encrypted after execution to restore protection. This dynamic state management ensures the domain is vulnerable only during the minimal necessary time for execution
Solution Approach 2:
The patent applies preliminary action by re-encrypting the protection domain immediately after execution completes. This ensures that as soon as the decrypted state serves its purpose, protective measures are reinstated before any potential analysis can occur, maintaining security proactively
3Reliability
If frequent decryption and re-encryption is performed, then security is maintained, but system performance deteriorates
Solution Approach 1:
The patent changes the parameter of encryption state selectively - only encrypting/decrypting the specific protection domain that contains important logic, rather than the entire program. This targeted approach minimizes the computational overhead of encryption operations while maintaining security where needed
Data Source
AI summary
Disclosed is a device for protection a program.The device includes a protection domain unit including an encrypted protection domain, a start point display unit configured to display a start point of the encrypted protection domain, and an end point display unit configured to display an end point of the encrypted protection domain; and a protection domain connection unit including a decryption unit configured to generate a running code unit by decrypting the encrypted protection domain and a protection domain calling unit configured to call the running code unit.