Intel VT 기술을 이용한 Xen 기반 동적 악성코드 분석 시스템 구현 및 평가

Development and Analyses of Xen based Dynamic Binary Instrumentation using Intel VT

  • 김태형 (성균관대학교 전자전기컴퓨터공학과) ;
  • 김인혁 (성균관대학교 전자전기컴퓨터공학과) ;
  • 엄영익 (성균관대학교 컴퓨터공학과) ;
  • 김원호 (한국전자통신연구원 부설연구소 사이버기술개발본부 연구원)
  • 투고 : 2010.04.14
  • 심사 : 2010.07.20
  • 발행 : 2010.10.15

초록

악성코드를 분석하기 위한 기법에는 다양한 방법들이 존재한다. 하지만 기존의 악성코드 분석 기법으로는 악성코드들의 동작들을 정확하게 분석하는 것이 점점 어려워지고 있다. 특히, 분석 시스템들이 악성코드의 안티-디버깅 기술에 의해 감지되기 쉽고, 실행속도 등 여러 가지 한계점을 보임에 따라 이를 해결할 수 있는 분석 기법이 요구되고 있다. 본 논문에서는 동적 코드 분석을 위한 기본 요구사항인 명령어 단위 분석 및 메모리 접근 추적 기능을 제공하는 동적 코드 분석 시스템을 설계 및 구현한다. 그리고 DLL 로딩 추적을 통한 API 호출 정보를 추출하여, 다양한 실행 코드들을 분석 할 수 있는 기반 환경을 구축한다. 제안 시스템은 Intel의 VT 기술을 이용하여 Xen 기반으로 전가상화 환경을 구축하였으며, 게스트에서는 윈도우즈 XP가 동작할 수 있도록 하였다. 제안 시스템을 이용하여 대표적인 악성코드들을 분석해 봄으로써 제안 시스템 각각의 기능들의 활용을 살펴보고, 제안 시스템이 악성코드들을 정확하게 분석 및 탐지함을 보여준다.

There are several methods for malware analyses. However, it is difficult to detect malware exactly with existing detection methods. Especially, malware with strong anti-debugging facilities can detect analyzer and disturb their analyses. Furthermore, it takes too much time to analyze malware. In order to resolve these problems of current analyzers, more improved analysis scheme is required. This paper suggests a dynamic binary instrumentation which supports the instruction analysis and the memory access tracing. Additionally, by supporting the API call tracing with the DLL loading analysis, our system establishes the foundation for analyzing various executable codes. Based on Xen, full-virtualization environment is built using Intel's VT technology. Windows XP can be used as a guest. We analyze representative malware using several functions of our system, and show the accuracy and efficiency enhancements in binary analyses capability of our system.

키워드

참고문헌

  1. N. Idika, and A. P. Mathur, "A Survey of Malware Detection Techniques," Research, Dept. of Computer Science, Purdue Univ., 2007.
  2. H. Carvey, "Malware analysis for windows administrators," Digital Investigation, vol.2, pp.19-22, 2005. https://doi.org/10.1016/j.diin.2005.01.006
  3. C. P. Pfleeger, and S. L. Pfleeger, security in Computing, Prentice hall, 2003.
  4. T. Garfinkel, K. Adams, A. Warfield, J. Franklin, "Compatibility is Not Transparency: VMM Detection Myths and Realities," Proc. 11th Workshop on Hot Topics in Operating Systems, 2007.
  5. P. Ferrie, "Anti-unpacker tricks," CARO Workshop, 2008.
  6. P. Ferrie, "Attacks on Virtual Machines," AVAR Conf., pp.128-143, 2006.
  7. T. Listion, and E. Skoudis, "On the Cutting Edge: Thwarting Virtual Machine Detection," SANS Internet Storm Center, 2006.
  8. X. Chen, J. Andersen, Z. M. Mao, M. Bailey, and J. Nazario, "Towards an Understanding of Antivirtualization and Anti-debugging Behavior in Morden Malware," DSN2008, pp.117-186, 2008.
  9. M. Xu, V. Malyugin, J. Sheldon, G. Venkitachalam, and B. Weissman, "ReTrace: Collecting Execution Trace with Virtual Machine Deterministic Replay," Proc. of 2007 Workshop on Modeling, Benchmarking and Simulation, 2007.
  10. VMware, Inc. "Understanding Full Virtualization, Paravirtualization, and Hardware Assist," http://www.vmare.com, 2007.
  11. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, "Xen and the Art of Virtualization," Proc. of the 19th ACM Symposium on SOSP, 2003.
  12. G. Neiger, A. Santoni, F. Leung, D. Rodgers, and R. Uhlig, "Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization," Intel Technology Journal, pp.167-177, 2006.
  13. BitBlaze Binary Analysis Platform. http://bitblaze.cs.berkeley.edu.
  14. M. G. Kang, P. Poosankam, and H. Yin, "Renovo: A Hidden Code Extractor for Packed Executables," Proc. of WORM, 2007.
  15. X. Jiang, X. Wang, and D. Xu, "Stealthy Malware Detection Through VMM-Based "Out-of-the-Box" Semantic View Reconstruction," Proc. of CCS, pp. 128-138, 2007.
  16. U. Bayer, C. Kruegel, and E. Kirda, "TTanalyze: A Tool for Analyzing Malware," Proc. of EICAR, pp.180-192, 2006.
  17. Instrumentation Framework for building dynamic analysis tools, http://valgrind.org.
  18. A Dynamic Binary Instrumentation Tool, http://pintool.org.
  19. A. Vasudevan, R. Yerraballi, "SPiKE: engineering malware analysis tools using unobtrusive binaryinstrumentation," Proc. of the 29th ACM International Conference, vol.171, 2006.
  20. A. Dinaburg, P. Royal, M. Sharif, and W. Lee, "Ether: Malware Analysis via Hardware Virtualization Extensions," Proc. of ACM CCS, 2008.