DOI QR코드

DOI QR Code

Classifying Windows Executables using API-based Information and Machine Learning

API 정보와 기계학습을 통한 윈도우 실행파일 분류

  • 조대희 (단국대학교 컴퓨터학과) ;
  • 임경환 (단국대학교 컴퓨터학과) ;
  • 조성제 (단국대학교 소프트웨어학과) ;
  • 한상철 (건국대학교 컴퓨터공학과) ;
  • 황영섭 (선문대학교 컴퓨터공학과)
  • Received : 2016.08.22
  • Accepted : 2016.10.12
  • Published : 2016.12.15

Abstract

Software classification has several applications such as copyright infringement detection, malware classification, and software automatic categorization in software repositories. It can be also employed by software filtering systems to prevent the transmission of illegal software. If illegal software is identified by measuring software similarity in software filtering systems, the average number of comparisons can be reduced by shrinking the search space. In this study, we focused on the classification of Windows executables using API call information and machine learning. We evaluated the classification performance of machine learning-based classifier according to the refinement method for API information and machine learning algorithm. The results showed that the classification success rate of SVM (Support Vector Machine) with PolyKernel was higher than other algorithms. Since the API call information can be extracted from binary executables and machine learning-based classifier can identify tampered executables, API call information and machine learning-based software classifiers are suitable for software filtering systems.

소프트웨어 분류 기법은 저작권 침해 탐지, 악성코드의 분류, 소프트웨어 보관소의 소프트웨어 자동분류 등에 활용할 수 있으며, 불법 소프트웨어의 전송을 차단하기 위한 소프트웨어 필터링 시스템에도 활용할 수 있다. 소프트웨어 필터링 시스템에서 유사도 측정을 통해 불법 소프트웨어를 식별할 경우, 소프트웨어 분류를 활용하여 탐색 범위를 축소하면 평균 비교 횟수를 줄일 수 있다. 본 논문은 API 호출 정보와 기계학습을 통한 윈도우즈 실행파일 분류를 연구한다. 다양한 API 호출 정보 정제 방식과 기계학습 알고리즘을 적용하여 실행파일 분류 성능을 평가한다. 실험 결과, PolyKernel을 사용한 SVM (Support Vector Machine)이 가장 높은 성공률을 보였다. API 호출 정보는 바이너리 실행파일에서 추출할 수 있는 정보이며, 기계학습을 적용하여 변조 프로그램을 식별하고 실행파일의 빠른 분류가 가능하다. 그러므로 API 호출 정보와 기계학습에 기반한 소프트웨어 분류는 소프트웨어 필터링 시스템에 활용하기에 적당하다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. D. Kim, Y. Kim, S. Cho, M. Park, S. Han, G. Lee, and Y. Hwang, "An effective and intelligent windows application filtering system using software similarity," Soft Computing: A Fusion of Foundations, Methodologies and Applications, Vol. 20, No. 5, pp. 1821-1827, May. 2016. https://doi.org/10.1007/s00500-015-1678-5
  2. BSA, The Compliance Gap: BSA Global Software Survey, Jun. 2014.
  3. N. Landwehr, M. Hall, and F. Eibe, "Logistic Model Trees," Machine Learning, Vol. 59, No. 1, pp. 161- 205, 2005. https://doi.org/10.1007/s10994-005-0466-3
  4. L. Breiman, "Random Forests," Machine Learning, Vol. 45, No. 1, pp. 5-32, 2001. https://doi.org/10.1023/A:1010933404324
  5. C. Corinna, and V. Vapnik, "Support-vector networks," Machine learning, Vol. 20, No. 3, pp. 273-297, 1995. https://doi.org/10.1007/BF00994018
  6. Y. Kim, J. Park, S. Cho, Y. Nah, S. Han, M. Park, "Machine learning-based software classification scheme for efficient program similarity analysis," Proc. of the 2015 Conference on Research in Adaptive and Convergent Systems, pp. 114-118, 2015.
  7. S. Choi, H. Park, H. I. Lim, and T. Han, "A static API birthmark for Windows binary executables," Journal of Systems and Software, Vol. 82, No. 5, pp. 862-873, May 2009. https://doi.org/10.1016/j.jss.2008.11.848
  8. D. Cho, "Classifying MS Windows Executables Using Strings and APIs," Master's thesis, Dept. of Computer Science & Engineering, Dankook University, Jul. 2016. (in Korean)
  9. IDApro. Available: https://www.hex-rays.com/products/ ida/, and IDAPython. Available: https://code.google.com/p/idapython/
  10. D. Lee, J. Park, Y. Hwang and S. Cho, "A Study of Features and Machine Learning Algorithms for Classifying MS Windows Executables," Proc. of the KIISE Korea Computer Congress 2016, pp. 102- 104, 2016. (in Korean)
  11. FileHippo. [Online]. Available: http://filehippo.com/
  12. Freewarefiles. [Online]. Available: http://www.freewarefiles.com/
  13. Uptodown. [Online]. Available: http://www.uptodown.com/
  14. Oldversion. [Online]. Available: http://www.oldversion.com/
  15. Alternativeto. [Online]. Available: http://alternativeto.net/
  16. M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, Ian H. Witten, "The WEKA Data Mining Software: An Update," ACM SIGKDD Explorations newsletter, Vol. 11, Issue 1, pp. 10-18, 2009. https://doi.org/10.1145/1656274.1656278