DOI QR코드

DOI QR Code

A Study on Generic Unpacking using Entropy of Opcode Address

명령어 주소 엔트로피 값을 이용한 실행 압축 해제 방법 연구

  • 이원래 (고려대학교 정보보호대학원) ;
  • 김형중 (고려대학교 정보보호대학원)
  • Received : 2014.04.29
  • Accepted : 2014.06.18
  • Published : 2014.06.30

Abstract

Malicious codes uses generic unpacking technique to make it hard for analyzers to detect their programs. Recently their has been several researches about generic packet to prevent or detect these techniques. And they try to focus on the codes that repeats while generic packing is doing compression because generic packing technique executes after it is decompressed. And they try to focus on the codes that repeats while generic packing is doing compression because generic packing technique executes after it is decompressed. Therefore, this makes a interesting performance which shows a similar address value from the codes which are repeated several times what is different from the normal program codes. By dividing these codes into regularly separated areas we can find that the generic unpacking codes have a small entropy value compared to normal codes. Using this method, it is possible to identify any program if it is a generic unpacking code or not even though we do not know what kind of algorithm it uses. This paper suggests a way of disarming the generic codes by using the low value entropy value which comes out from the Opcode addresses when generic unpacking codes try to decompress.

악성코드는 분석가가 탐지 및 분석을 어렵게 하기 위하여 실행 압축 기술을 이용하고 있다. 최근에는 실행 압축 기술이 적용된 코드에 대응하기 위하여 실행 압축 기술에 대한 연구가 진행되고 있다. 실행 압축 기술은 압축된 실행코드를 해제해야 동작이 가능하여 실행 코드를 압축하는 과정에서 반복되는 코드를 이용한다. 따라서 일반 코드와 비교하여 반복되는 코드가 많아서 동일한 코드가 유사한 주소 값을 가지고 수행되는 특성이 있다. 코드영역을 일정한 영역으로 구분하면 실행 압축이 해제되는 코드는 원래의 코드와 비교하여 낮은 엔트로피값을 갖는다. 이를 이용하면 실행 압축 알고리즘을 알지 못한 상태에서 실행 압축 여부를 판단할 수 있으며 실행 압축코드를 해제할 수 있다. 본 논문에서는 압축이 해제되는 코드에서 명령어의 주소 값이 작은 엔트로피값을 갖는다는 것을 이용하여 실행압축을 해제하는 방법을 제안한다.

Keywords

References

  1. AV-Test. http://www.av-test.org
  2. Ho Young Whang, Hyoung Joong Kim, "Reversible Watermarking for Audio Using Recompression Met hod", Journal of Digital Contents Society, vol. 14, no. 2, pp. 199-206, Jun. 2013 https://doi.org/10.9728/dcs.2013.14.2.199
  3. Robert Lyda and James Hamrock, "Using entropy analysis to find encrypted and packed malware", Security & Privacy IEEE, vol. 5, no. 2, pp. 40-45, Mar. 2007
  4. Min Gyung Kang, Pongsin Poosankam, and Heng Yin. "Renovo: A Hidden Code Extractor for Packed Executables," In Proceedings of the 5th ACM Work shop on Recurring Malcode (WORM"07), pp 46-53. Nov. 2007
  5. GuHyeon Jeong, Euijin Choo, Joosuk Lee and Heejo Lee, "Generic Unpacking Using Entropy Analysis", JKIIT, Vol.7, No.2, pp.232-238, Feb 2009
  6. Daniel A. Quist and Lorie M. Liebrock. Reversing compiled executables for malware analysis via visualization, Information Visualization. 10(2), April 2011. (doi:10.1057/ivs.2010.11)
  7. YH Lee, MH Jeong, HC Jeong, TS Son, JS Moon "A Study on Generic Unpacking using Entropy Variation Analysis", JKIIT, Vol.22, No.2, pp. 179-188, April 2012
  8. C.E. Shannon and W. Weaver, The Mathematical Theoryof Communication, Univ. of Illinois Press, 1963
  9. Kullback, S. "Letter to the Editor: The Kullback-Leibler distance". The American Statistician 41 (4): 340?341. JSTOR 2684769. 1987
  10. information gain http://en.wikipedia.org/wiki/Information_gain_in_decision_trees
  11. pintool http://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool
  12. Visual C++ 10, http://www.microsoft.com

Cited by

  1. Themida의 API 난독화 분석과 복구방안 연구 vol.27, pp.1, 2014, https://doi.org/10.13089/jkiisc.2017.27.1.67
  2. Automatic Malicious Code Classification System through Static Analysis Using Machine Learning vol.13, pp.1, 2014, https://doi.org/10.3390/sym13010035