분석가들이 악성코드의 구조를 파악하기 위해 난독화를 해제하는 프로세스는 다양한 휴리스틱이 필요하기에 분석가의 역량에 의존적이다. 이에 따라 프로그램에 적용된 난독화를 탐지하는 자동화된 분석을 위해 이를 해결하는 방식들이 제안되고 있다. 그러나 기존 연구들은 난독화로 인한 순차적인 코드 변형의 이해와 여러 범주의 난독화가 독립적으로 프로그램에 적용될 수 있다는 점을 고려하지 않는 경우가 많다. 본 논문에서는 단일 또는 다중으로 적용된 난독화 기법에 대한 탐지 및 다중으로 난독화된 경우 마지막 난독화 유형을 추론하는 모델을 제안한다. O-LLVM (Obfuscator-LLVM) [8] 난독화를 대상으로 opcode의 출현 빈도를 사용하여 딥러닝 기반의 난독화 유형 탐지 모델을 구현하였으며, 제안모델은 높은 성능으로 난독화 탐지를 수행했다.
The outcome of deobfuscation with the aim of elucidating to understand the structure of malware is highly dependent on the analyst's capabilities, as it requires the use of multiple heuristics. Researchers have proposed various methods for automated analysis to detect which obfuscation techniques have been applied to programs. However, the existing works have reasoned about obfuscation through classification methods, which do not consider sequential code transformations caused by obfuscation or the fact that multiple categories of obfuscation can be applied to a program independently. The current paper therefore proposes a multi-label classification model for obfuscation type detection and a model for inferring the last obfuscation type when multiple obfuscations have been applied. We implemented a deep learning-based obfuscation type detection model using the opcode frequency of instructions frequency for O-LLVM (Obfuscator-LLVM)[8] obfuscation, and our proposed model was shown to achieve high performance obfuscation detection.