LLM Reverse Engineering for Obfuscated Malware Assembly
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing malware analysis techniques face challenges in efficiently detecting malicious functions in assembly language representations, which are often obfuscated, requiring manual and time-consuming processes for de-obfuscation and conversion to natural language.
Innovation Solution
A transformer-based large language model (LLM) is trained on assembly language samples to automate the detection of malicious code and convert it to natural language expressions, facilitating automated de-obfuscation and functionality identification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual de-obfuscation and conversion processes are used, then accuracy in detecting malicious functions can be maintained, but time consumption and operational complexity increase significantly
Solution Approach 1:
The patent introduces an intermediary system consisting of a disassembler, de-obfuscation module, and natural language generation component that automatically processes assembly language code. This intermediary system bridges the gap between raw assembly code and human-understandable analysis results, eliminating manual intervention while maintaining detection accuracy through structured processing pipelines.
Solution Approach 2:
The patent replaces manual mechanical analysis processes with automated computational systems. The manual process of reading, understanding, and analyzing assembly language is substituted with an automated system that uses disassembly, de-obfuscation algorithms, and natural language generation to produce analysis results, dramatically reducing time consumption while maintaining or improving accuracy.
2Productivity
If automated analysis tools are implemented, then productivity increases, but the ability to handle obfuscated code decreases
Solution Approach 1:
The patent applies preliminary de-obfuscation actions before the main analysis process. The system first identifies and removes obfuscation techniques such as control flow flattening, encryption, and dummy instructions, converting the obfuscated code into a form that standard automated analysis tools can effectively process, thereby maintaining both productivity and obfuscation handling capability.
Solution Approach 2:
The patent implements a dynamic analysis system that adapts to different obfuscation techniques. The system can dynamically select and apply appropriate de-obfuscation strategies based on the detected obfuscation type, and can iteratively refine its analysis as it encounters different levels of obfuscation, maintaining effectiveness across diverse malware samples.
3Reliability
If comprehensive manual analysis is performed, then detection accuracy is maintained, but operational complexity and human effort increase
Solution Approach 1:
The patent implements a self-service automated analysis system that performs comprehensive detection without requiring manual intervention. The system automatically disassembles code, identifies obfuscation techniques, applies de-obfuscation transformations, executes analysis, and generates natural language reports, making the process reliable and operationally simple by eliminating the need for expert manual analysis.
Solution Approach 2:
The patent incorporates feedback mechanisms where the system analyzes its own detection results and refines its analysis process. The automated system can identify false positives, adjust its detection thresholds, and improve its de-obfuscation strategies based on feedback from analysis outcomes, maintaining high reliability while keeping operations simple through self-correction.
Data Source
AI summary
Systems and methods of utilizing a large language model (LLM) to reverse engineer software is provided. The method includes obtaining sample assembly language from coded information or data. The sample assembly language is input to a machine learning (ML) model trained to recognize when the sample assembly language includes malicious code. The method further includes identifying, from the sample assembly language, a functionality implemented by the sample assembly language, where the functionality is indicative of whether the sample assembly language includes the malicious code. The method further includes generating, by a processing device, a natural language indication of the functionality implemented by the sample assembly language. The natural language indication is an output of the ML model.


