Binding DRM Code to Host Application via Memory Page Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional digital rights management systems are vulnerable to memory dump attacks, where the protected executable can be easily separated from the wrapper code, allowing attackers to execute the host code directly and circumvent protection measures.
Innovation Solution
The proposed method tightly binds digital rights management executable code to the host application by identifying and relocating code blocks, adjusting memory references, and incorporating security checks, making it difficult for attackers to detach the wrapper code from the host code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the protected executable is separated from the wrapper code, then it is easy to dump and distribute the host software, but the security protection is compromised
Solution Approach 1:
The patent merges the wrapper code and host software into a single protected executable file, making them inseparable. The wrapper code is embedded within the executable and cannot be easily detached, preventing attackers from distributing unprotected host code while maintaining security protection throughout the software lifecycle
2Ease of operation
If the host code is kept in plain memory during execution, then it can run normally, but it becomes vulnerable to memory dump attacks
Solution Approach 1:
The patent performs preliminary encryption of the host code before it is loaded into memory. The wrapper code decrypts and executes the host code in controlled segments during runtime, rather than loading the entire plain executable into memory at once. This preliminary encryption approach allows normal execution while preventing attackers from dumping unprotected code from memory
3Productivity
If the wrapper code is removed or bypassed, then the host code can execute directly, but anti-tampering routines are never executed
Solution Approach 1:
The patent combines the wrapper code and host software into a single inseparable executable unit. The anti-tampering routines are integrated within the protected executable structure, making it impossible to execute the host code without simultaneously executing the embedded wrapper and its security checks. This merging ensures that productivity is maintained while reliability through anti-tampering execution is preserved
Data Source
AI summary
A computer-implemented method and system for binding digital rights management executable code to a software application are disclosed. The method and system include selecting a memory page of host application code, translating the contents of the selected memory page of host application code, saving the translated contents of the selected memory page into a stub code area, overwriting the selected memory page of host application code; removing host page permission for execution of code in the selected memory page of host application code, and emulating the translated contents of the selected memory page when an exception is raised as a result of attempted access to the selected memory page of host application code.


