A Study on Malware Detection based on Opcode and Call Graph

Opcode 및 Call Graph 기반 악성코드 탐지 연구

  • Jinha Kim (Dept. of Computer Science, Hanyang University) ;
  • Eul Gyu Im (Dept. of Computer Science, Hanyang University)
  • 김진하 (한양대학교 컴퓨터소프트웨어학과) ;
  • 임을규 (한양대학교 컴퓨터소프트웨어학과)
  • Published : 2024.10.31

Abstract

본 논문에서는 악성코드 탐지를 위한 정적 분석 기반의 새로운 기법을 제안한다. 본 연구는 악성코드 파일에서 Opcode와 Call Graph를 각각 추출하고, 이를 바탕으로 두 가지 머신러닝 모델을 학습한 후 앙상블 기법을 사용하여 최종적으로 악성코드를 분류하는 방법론을 제시한다. Opcode 기반 분석에서는 어셈블리어를 추출하여 정규표현식을 이용해 명령어를 추출했고 N-gram 기법을 활용해 명령어의 흐름을 분석한다. Call Graph 분석에서는 함수 호출 관계를 추출하고 Diffpool 기법을 통해 그래프를 벡터화한다. 제안된 시스템은 개별 모델의 장점을 결합하였고 적은 데이터에 비해 높은 정확도와 탐지율을 달성한다. 특히, 신종 악성코드나 변종 악성코드를 탐지하는 데 있어서 기존 서명 기반 기법에 비해 더 높은 성능을 보일 가능성이 높다. 실험 결과, 91%의 정확도와 88%의 재현율을 보여주어 높은 결과를 나타냈다. 본 연구는 악성코드 탐지 분야에서 정적 분석 기법의 가능성을 제안한다.

Keywords

Acknowledgement

This work was supported by National Research Foundation (NRF) grant (No. NRF-2021R1F1A1061362) funded by the Korea government (MSIT), and Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government(MSIT) (No. 2021-0-00590).

References

  1. Lee, S., Kim, J., Park, H., "Robust IoT Malware Detection and Classification Using Opcode Category Features on Machine Learning," IEEE Transactions on Information Forensics and Security, vol. 18, no. 2, pp. 234-247, 2023. 
  2. Lu, Renjie, "Malware Detection with LSTM using Opcode Language," Proceedings of the International Conference on Machine Learning and Cybernetics, Guilin, China, 2023, pp. 345-350. 
  3. Hoang, X.D., Nguyen, B.C., Ninh, T.T.T., "Detecting Malware Based on Statistics and Machine Learning Using Opcode N-Grams," 2023 RIVF International Conference on Computing and Communication Technologies, Hanoi, Vietnam, 2023, pp. 118-123. 
  4. Hassen, M., Chan, P.K., "Scalable Function Call Graph-based Malware Classification," Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy, Scottsdale, AZ, USA, 2017, pp. 239-248. 
  5. Wu, X., Wang, Y., Fang, Y., Jia, P., "Embedding vector generation based on function call graph for effective malware detection and classification" Neural Computing and Applications, vol. 34, no. 4, pp. 8643-8656, 2022. 
  6. Mester, A., Bodo, Z., "Malware Classification Based on Graph Convolutional Neural Networks and Static Call Graph Features," Proceedings of the 35th International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, Kitakyushu, Japan, 2022, pp. 528-539. 
  7. Ying R., You J., Morris C., Ren X., Hamilton W. L., Leskovec J., "Hierarchical Graph Representation Learning with Differentiable Pooling," Proceedings of the 33rd International Conference on Neural Information Processing Systems, Vancouver, Canada, 2019 
  8. Shoshitaishvili, Y., Wang, R., Salls, C., Stephens, N., Polino, M., Dutcher, A., Grosen, J., Feng, S., Hauser, C., Kruegel, C., Vigna, G., SoK: (State of) The Art of War: Offensive Techniques in Binary Analysis, IEEE Symposium on Security and Privacy, San Jose, 2016, pp. 138-157.