Machine-Learned Source Code Obfuscation Against Reverse Engineering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems fail to provide efficient and reliable protection against unauthorized access and reverse engineering of source code, leading to potential data breaches and unauthorized access to software applications and devices.
Innovation Solution
Implementing a machine learning algorithm to dynamically apply code obfuscation, separation, and encryption operations on source code segments, using a training dataset to identify and modify code structures and functions, thereby increasing security without significantly impacting processing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional code protection methods are used, then source code security is improved, but computing and network resources are excessively consumed
Solution Approach 1:
The system performs code analysis, obfuscation, separation, and encryption operations in advance before the source code is exposed to potential threats. By pre-processing the code with multiple protection layers, the system eliminates the need for continuous real-time monitoring and resource-intensive security operations during runtime, thus resolving the contradiction between security and resource consumption
Solution Approach 2:
The code protection system divides the source code into separate functional segments and applies different protection strategies to each segment. This segmentation allows the system to optimize resource usage by applying protection only where necessary, rather than uniformly across the entire codebase, thereby reducing overall computing and network resource consumption while maintaining security
2Difficulty of detecting and measuring
If code obfuscation operations are applied to protect source code, then reverse engineering difficulty is improved, but code complexity increases
Solution Approach 1:
The system applies obfuscation techniques selectively to specific code segments rather than uniformly across the entire source code. By targeting only critical sections that require protection, the system increases reverse engineering difficulty for those areas while minimizing the overall complexity increase, thus resolving the contradiction between security and code maintainability
3Reliability
If multiple security layers are added to source code, then unauthorized access protection is improved, but processing time increases
Solution Approach 1:
The system implements multiple security layers including obfuscation, separation, and encryption during the code preparation phase before deployment. By pre-applying these protection mechanisms, the system ensures strong unauthorized access protection without incurring additional processing time during runtime operations, thus resolving the contradiction between security strength and processing efficiency
Data Source
AI summary
A system for protecting source code from unauthorized access is disclosed. The system is configured to scan the source code and identify code segments, including function code. The system may perform code obfuscation, code separation, and code encryption. The system may extract a first set of code features from the function code. The first set of code features indicates a first task associated with the function code. The system accesses a training dataset comprising a sample code that is associated with a second task and a template code. The system compares the first task with the second task. In response to determining that the first task corresponds to the second task, the system obfuscates the function code with the template code. In response, the system updates the source code to include the obfuscated function code.


