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

VMProtect의 역공학 방해 기능 분석 및Pin을 이용한 우회 방안

Analysis of Anti-Reversing Functionalities of VMProtect and Bypass Method Using Pin

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

상용 난독화 도구(프로텍터)들은 소프트웨어 역공학 과정에서 프로그램의 분석을 지연시키고 방해하는 난독화 기술 및 역공학 방해(안티리버싱)기법을 적용시킴으로써 소프트웨어의 동작 과정을 분석하는데 어려움을 발생시키는데 목적이 있다. 특히, 가상화 탐지와 안티디버깅 기능 같은경우 분석 도구가 발견되면 정상적인 실행 흐름을 벗어나 프로그램을 종료시킨다. 본 논문에서는 상용 난독화 도구(프로텍터) 중 하나인 VMProtect3.5.0을 통해 Debugger Detection, Virualization Tools Detection 옵션을 적용시킨 실행 파일의 안티리버싱 기법을 분석하고 Pin을 이용한 우회방안을 제안한다. 또한, 적용된 안티리버싱 기법을 분석하는 과정에서 Amti-VM 기술과 Anti-DBI 기술에 의해 프로그램이 종료되는 문제가 발생하기때문에 API 분석을 통해 특정 프로그램 종료 루틴을 알아내어 적용된 안티리버싱 기법의 위치를 예상하고 위치를 바탕으로 안티리버싱 기법 우회방안 알고리즘 순서도를 작성하였다. 실험에 사용된 소프트웨어들의 버전의 차이로부터 발생하는 호환성 문제, 기법의 변화 등을 고려하여 최신버전의 소프트웨어(VMProtect, Windows, Pin)에서 Pin 자동화 우회 코드를 작성하고 실험을 진행하여 성공적으로 우회됨을 확인하였다. 제안된분석 방안을 개선하여 기법이 제시되지 않은 난독화 도구의 안티리버싱 기법을 분석하고 우회 방안을 찾아낼 수 있다.

Abstract

Commercial obfuscation tools (protectors) aim to create difficulties in analyzing the operation process of software by applyingobfuscation techniques and Anti-reversing techniques that delay and interrupt the analysis of programs in software reverse engineeringprocess. In particular, in case of virtualization detection and anti-debugging functions, the analysis tool exits the normal execution flowand terminates the program. In this paper, we analyze Anti-reversing techniques of executables with Debugger Detection and ViralizationTools Detection options through VMProtect 3.5.0, one of the commercial obfuscation tools (protector), and address bypass methods usingPin. In addition, we predicted the location of the applied obfuscation technique by finding out a specific program termination routinethrough API analysis since there is a problem that the program is terminated by the Anti-VM technology and the Anti-DBI technologyand drew up the algorithm flowchart for bypassing the Anti-reversing techniques. Considering compatibility problems and changes intechniques from differences in versions of the software used in experiment, it was confirmed that the bypass was successful by writingthe pin automation bypass code in the latest version of the software (VMProtect, Windows, Pin) and conducting the experiment. Byimproving the proposed analysis method, it is possible to analyze the Anti-reversing method of the obfuscation tool for which the methodis not presented so far and find a bypass method.

참고문헌 (13)

  1. J. Kirsch, "PwIN – Pwning Intel piN: Why DBI is Unsuitable for Security pplications", Computer Security. ESORICS 2018. Lecture Notes in Computer Science, 11098 (2018), Springer
  2. D. C. D’Elia, "SoK : Using dynamic binary instrumentation for security(And how you may get caught red Handed)", Proceedings of the 2019 ACM Asia Conference on Computer and Communications Security, pp.15~27 (2019)
  3. Y. B. Lee, "Bypassing Anti-Analysis of Commercial Protector Methods Using DBI Tools", IEEE Access, 9, pp.7655~7673 (2021)
  4. "VMProtect software: VMProtect virtualizes code" (2018)[URL]
  5. 김순곤, "가상화 기반 난독화 및 역난독화를 위한 코드 자동 분석 기술", 한국정보전자통신기술학회 논문지, 11(6), pp.724~731 (2018), 한국정보전자통신기술학회
  6. Chi-Keung Luk, "Pin: building customized program analysis tools with dynamic instrumentation", Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, 40(6), pp.190~200 (2015)
  7. P. Chen, "Advanced or not? A comparative study of the use of anti-debugging and anti-vm techniques in generic and targeted malware", IFIP International Conference on ICT Systems Security and Privacy Protection, pp.323~336 (2016)
  8. "Scientific but Not Academical Overview of Malware Anti-Debugging, Anti-Disassembly and Anti-VM Technologies" (2012)[URL]
  9. 방철호, "VMProtect 동작원리 분석 및 자동 역난독화 구현", 정보보호학회논문지, 30(4), pp.605~616 (2020), 한국정보보호학회[DOI]
  10. 이재휘, "최신 버전의 Themida가 보이는 정규화가 어려운 API 난독화 분석방안 연구", 정보보호학회논문지, 29(6), pp.1375~1382 (2019), 한국정보보호학회[DOI]
  11. 강유진, "실행 파일 형태로 복원하기 위한 Themida 자동 역난독화 도구 구현", 정보보호학회논문지, 27(4), pp.785~802 (2017), 한국정보보호학회[DOI]
  12. J. Park, "Automatic detection and bypassing of anti-debugging techniques for microsoft windows environments", Advances in Electrical and Computer Engineering, 19(2), pp.23~29 (2019)
  13. "Peter Ferrie: The “Ultimate” Anti-Debugging Reference" (2011)[URL]

관련 논문AI추천

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