본문 바로가기
KERD
논문KCI 등재

Themida TIGER 시리즈 가상 머신의 가상 명령어 추출 방안 연구

A Study on Virtual Instruction Extraction Approaches for Themida VM TIGER

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

난독화는 소프트웨어의 알고리즘이 노출되는 것을 막기 위해 사용된다. 난독화는 다양한 보호 기법을 활용하지만, 그 중에서도 임의의 바이트 코드를 해석해 실행하는 가상의 CPU를 생성해주는 코드 가상화는 분석을 더욱 어렵게 만든다. 본 논문에서는 코드 가상화를 지원하는 상용 난독화 도구 중 아직까지 원본 명령어를 추출하는 방법이 공개되지 않은 Themida의 VM TIGER 시리즈의 작동 구조를 살펴보고, 원본 명령어의 역할을 하는 명령어를 taint analysis를 활용해 추출하는 방법에 대해 설명한다.

Abstract

Obfuscation is used to prevent the exposure of a software's algorithm. Although obfuscation employs various protection techniques, code virtualization, which creates a virtual CPU to interpret and execute arbitrary bytecode, makes analysis even more difficult. This paper examines the operational structure of VM TIGER series in Themida, a commercial obfuscation tool that supports code virtualization and has not yet had a method for extracting original instructions publicly disclosed. It also describes a method to extract instructions that serve as original instructions using taint analysis.

참고문헌 (26)

  1. "Malware and Attack Technologies Knowledge Area Issue" (2024)[URL]
  2. "Themida: Advanced Windows software protection system" (2024)[URL]
  3. "VMProtect: Complete solution to software protection" (2024)[URL]
  4. "CodeVirtualizer:Total Obfuscation against Reverse En gineering" (2024)[URL]
  5. Newsome, James, "Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software", NDSS, 5 (2005)
  6. "Building an automated system to de-obfuscate an API wrapping of Themida v3.0 by a taint analysis" (2024)[URL]
  7. Suk, Jae Hyuk, "UnThemida:Commercial obfuscation technique analysis with a fully obfuscated program", Software: Practice and Experience, 48(12), pp.2331~2349 (2018)
  8. Suk, Jae Hyuk, "Analysis of virtualization obfuscated executable files and implementation of automatic analysis tool", Journal of the Korea Institute of Information Security &Cryptology, 23(4), pp.709~720 (2013)
  9. Bell, James R, "Threaded code", Communications of the ACM, 16(6), pp.370~372 (1973)
  10. J.H. Lee, "A Study on Analysis of Code Virtualization in Themida", Proceedings of the Conference on Information Security & Cryptology Summer, pp.537~540 (2017)
  11. Sharif, Monirul, "Automatic reverse engineering of malware emulators", 2009 30th IEEE Symposium on Security and Privacy (2009), IEEE
  12. Rolles, Rolf, "Unpacking Virtualization Obfuscators", WOOT, 9, pp.1~10 (2009)
  13. Coogan, Kevin, "Deobfuscation of virtualizationobfuscated software: a semantics-base d approach", Proceedings of the 18th ACM conference on Computer and co mmunications security (2011)
  14. Kinder, Johannes, "Towards static analysis of virtualization-obfuscated binaries", 2012 19th Working Conference on Reverse Engineering (2012), IEEE
  15. Yadegari, Babak, "A generic approach to automatic deobfuscation of executable code", 2015 IEEE Symposium on Security and Privacy (2015), IEEE
  16. "IDA Pro: A powerful disass embler and a versatile debugger" (2024)[URL]
  17. Kalysch, Anatoli, "VMAttack: ̈deobfuscating virtualization-based packed binaries", Proceedings of the 12th International Conference on Availability, Reliability and Security (2017)
  18. Xu, Dongpeng, "VMHunt: A verifiable approach to partially virtualized binary code simplification", Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (2018)
  19. "Tigress, Reverse Engineering Challenges" (2024)[URL]
  20. Salwan, Jonathan, "Symbolic deobfuscation: From virtualized code back to the original", International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (2018), Springer International Publishing
  21. Lin, Jie, "VMRe: A reverse framework of virtual machine protection packed binaries", 2019IEEE Fourth International Conference on Data Science in Cyberspace (DSC) (2019), IEEE
  22. "NoVmp: A static devirtualizer for VMProtect x64 3.x powered by VTIL" (2024)[URL]
  23. "x64dbg: An open-source x64/x32 debugger for windows" (2024)[URL]
  24. "Execution Trace Viewer: Too l for viewing and analyzing execution traces" (2024)[URL]
  25. "ChatGPT" (2024)[URL]

관련 논문AI추천

이 간행물의 다른 논문 (34건)