Tamper-Resistant Code via Automated Obfuscation and Runtime Mediation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing code obfuscation techniques for creating tamper-resistant software often require manual modification and complete restructuring of software, especially when parts must run in a tamper-resistant interpretive environment with system service restrictions.
Innovation Solution
A system and method that translates object code blocks into tamper-resistant code using a translator unit, which includes applying obfuscation techniques and providing runtime support for system calls, with a tamper-resistance policy to deny service for certain calls, thereby enhancing security without manual intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If code obfuscation techniques are applied to create tamper-resistant software, then security is improved, but the complexity of the code increases and manual modification is required
Solution Approach 1:
The patent introduces a runtime support library as an intermediary between the obfuscated code and the system services. This library handles system call translations and provides necessary services without requiring direct modifications to the obfuscated code, thereby reducing code complexity while maintaining security.
Solution Approach 2:
The patent replaces manual code modification mechanisms with an automated translation system. The runtime support library automatically translates system calls and provides services dynamically, eliminating the need for manual intervention in the code obfuscation process.
2Reliability
If code is modified to run in a tamper-resistant interpretive environment, then security is improved, but the software requires complete restructuring
Solution Approach 1:
The patent segments the software into two parts: the obfuscated application code that runs in the protected environment, and the runtime support library that handles system service requirements. This segmentation allows the application to maintain its original structure while the support library provides necessary services, avoiding complete restructuring.
Solution Approach 2:
The runtime support library acts as a mediator between the obfuscated code and the operating system services. It translates system calls and provides services without requiring the obfuscated code to be completely restructured for the protected environment.
3Reliability
If additional instructions are added to confuse attackers, then security is improved, but the code requires manual modification and verification
Solution Approach 1:
The patent replaces manual verification processes with automated runtime verification. The runtime support library automatically verifies system calls and provides services based on the obfuscated code's needs, eliminating the need for manual verification of additional instructions.
Solution Approach 2:
The obfuscated code with additional instructions verifies its own requirements through the runtime support library, which automatically provides necessary services. This self-service mechanism eliminates the need for external manual verification while maintaining security.
Data Source
AI summary
A system and method for creating tamper-resistant code are described herein. In one embodiment, the method comprises receiving a first object code block. The method also comprises translating the first object code block into a second code block, wherein the translating includes applying taper-resistance techniques to the first object code block or the second object code block. The method also comprises executing the second object code block.


