VMProtect 동작원리 분석 및 자동 역난독화 구현
VMProtect Operation Principle Analysis and Automatic Deobfuscation Implementation
0
조회
0
다운로드
2
인용
0
참고문헌
키워드
초록
난독화 기술은 프로그램의 기능성은 그대로 유지하면서 자료구조, 제어흐름 등 내부 로직을 변형함으로써 프로그램의 분석을 지연시키는 기술이다. 그러나 이러한 난독화 기술을 악성코드에 적용함으로써 안티바이러스 소프트웨어의 악성코드 탐지율을 저하시키는 사례가 빈번하게 발생하고 있다. 소프트웨어 지적재산권을 보호하기 위하여 적용되는 난독화 기술이 역으로 악성코드에 적용됨으로써 악성코드 탐지율을 저해할 뿐만 아니라 이의 분석을 어렵게 하여 악성코드의 기능성 파악에도 어려움을 주게 되므로 난독화가 적용된 코드를 원본에 가깝게 복원할 수 있는 역난독화 기술의 연구 또한 꾸준히 지속 되어야 한다. 본 논문에서는 상용 난독화 도구 중 대중적으로 널리 알려져 있는도구인 VMProtect 3.4.0에서 제공하는 세부 난독화 기술 중 Pack the Output File, Import Protection의옵션이 적용되어 난독화 된 코드의 특징을 분석하고 이의 역난독화 알고리즘을 제시하고자 한다.
Abstract
Obfuscation technology delays the analysis of a program by modifying internal logic such as data structure and controlflow while maintaining the program's functionality. However, the application of such obfuscation technology to maliciouscode frequently occurs to reduce the detection rate of malware in antivirus software. The obfuscation technology applied toprotect software intellectual property is applied to the malicious code in reverse, which not only lowers the detection rate ofthe malicious code but also makes it difficult to analyze and thus makes it difficult to identify the functionality of themalicious code. The study of reverse obfuscation techniques that can be closely restored should also continue. This paperanalyzes the characteristics of obfuscated code with the option of Pack the Output File and Import Protection among detailedobfuscation technologies provided by VMProtect 3.4.0, a popular tool among commercial obfuscation tools. We present ade-obfuscation algorithm.
참고문헌 (14)
- A taxonomy of obfuscating transfor mations, "C.Collberg", Department of Computer Science, The University of Auckland, ~ (1997)
- Gyeong-Ryul Lee, "Trends in obfu scation technology for software security", Communications of the Korean Inst itute of Information Scientists and Engineers, 34(1), pp.22~27 (2016)
- "Themida+WinLicense 2.x (U npacking)" (2013)[URL]
- "Themida+WinLicense 2.x (U ltra Unpacker v1.4)" (2014)[URL]
- 목성균, "역난독화를 위한 바이너리 프로그램 슬라이싱", 정보보호학회논문지, 27(1), pp.59~66 (2017), 한국정보보호학회[DOI]
- B.Yadegari, "A generic approach to automatic deobfuscation of executab le code", IEEE Symposium on Security and Privacy, pp.674~691 (2015)
- Min-Gyung Kang, "Renovo: A hidden code extract or for packed executables", Proceeding s of the 2007 ACM workshop on Recurring malcode, pp.46~53 (2007), ACM
- 이재휘, "Themida의 API 난독화 분석과 복구방안 연구", 정보보호학회논문지, 27(1), pp.67~77 (2017), 한국정보보호학회[DOI]
- 강유진, "실행 파일 형태로 복원하기 위한 Themida 자동 역난독화 도구 구현", 정보보호학회논문지, 27(4), pp.785~802 (2017), 한국정보보호학회[DOI]
- 이재휘, "최신 버전의 Themida가 보이는 정규화가 어려운 API 난독화 분석방안 연구", 정보보호학회논문지, 29(6), pp.1375~1382 (2019), 한국정보보호학회[DOI]
- 김순곤, "가상화 기반 난독화 및 역난독화를 위한 코드 자동 분석 기술", 한국정보전자통신기술학회 논문지, 11(6), pp.724~731 (2018), 한국정보전자통신기술학회
- "Pin: Chi-Keung Luk Robert Cohn Rob ert Muth Harish Patil Artur Klauser Geoff Lowney Steven Wallace Vijay Ja napa Reddi Kim Hazelwood, Building Customized Program Analysis Tools wi th Dynamic Instrumentation", 190~192
