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

함수 단위 N-gram 비교를 통한 Spectre 공격 바이너리 식별 방법

Detecting Spectre Malware Binary through Function Level N-gram Comparison

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

시그니처 기반 악성코드 탐지는 제로데이 취약점을 이용하거나 변형된 악성코드를 탐지하지 못하는 한계가 있다. 이를 극복하기 위해 N-gram을 이용하여 악성코드를 분류하는 연구들이 활발히 수행되고 있다. 기존 연구들은 높은정확도로 악성코드를 분류할 수 있지만, Spectre와 같이 짧은 코드로 동작하는 악성코드는 식별하기 어렵다. 따라서 본 논문에서는 Spectre 공격 바이너리를 효과적으로 식별할 수 있도록 함수 단위 N-gram 비교 알고리즘을 제안한다. 본 알고리즘의 유효성을 판단하기 위해 165개의 정상 바이너리와 25개의 악성 바이너리에서 추출한N-gram 데이터셋을 Random Forest 모델로 학습했다. 모델 성능 실험 결과, 25개의 Spectre 악성 함수의 바이너리를 99.99% 정확도로 식별했으며, f1-score는 92%로 나타났다.

Abstract

Signature-based malicious code detection methods share a common limitation; it is very hard to detect modified malicious codes or new malware utilizing zero-day vulnerabilities. To overcome this limitation, many studies are actively carried out to classify malicious codes using N-gram. Although they can detect malicious codes with high accuracy, it is difficult to identify malicious codes that uses very short codes such as Spectre. We propose a function level N-gram comparison algorithm to effectively identify the Spectre binary. To test the validity of this algorithm, we built N-gram data sets from 165 normal binaries and 25 malignant binaries. When we used Random Forest models, the model performance experiments identified Spectre malicious functions with 99.99% accuracy and its f1-score was 92%.

참고문헌 (20)

  1. P. Kocher, "Spectre attacks:Exploiting speculative execution", 2019 IEEE Symposium on Security and Privacy (SP), pp.1~19 (2019)
  2. "Intel® 64 and IA-32Architectures Software Developer’s Manual: Volume 3"[URL]
  3. "Meltdown/Spectre mitigation for 4.15 and beyond"[URL]
  4. M. Mushtaq, "WHISPER: A Tool for Run-Time Detection of Side-Channel Attacks", IEEE Access, 8, pp.83871~83900 (2020)
  5. G. Marco, "SPECTECTOR: Principled detection of speculative information flows", 2020IEEE Symposium on Security and Privacy (SP), pp.1~19 (2020)
  6. P. F. Brown, "Class-based n-gram models of natural language", Computational linguistics, 18(4), pp.467~480 (1992)
  7. I. Santos, "N-grams-based File Signatures for Malware Detection", Proceedings of the 11th International Conference on Enterprise Information Systems(ICEIS), pp.317~320 (2009)
  8. S. Jain, "Byte leven–gram analysis for malware detection", nternational Conference on Information Processing, pp.51~59 (2011)
  9. E. Raff, "n investigation of byte n-gram features for malware classification", Journal of Computer Virology and Hacking Techniques, 14(1), pp.1~20 (2018)
  10. A. Pektas, "Proposal of n-gram based algorithm for malware classification", The Fifth International Conference on Emerging Security Information, Systems and Technologies, pp.7~13 (2011)
  11. B. Kang, "N-opcode analysis for android malware classification and categorization", 2016 International conference on cyber security and protection of digital services (cyber security), pp.1~7 (2016)
  12. A. Fog, "The Microarchitecture of Intel, AMD and VIA CPUs", ~ (2017)
  13. "Retpoline: a software construct for preventing branch target injection" (2018)[URL]
  14. "Qspectre"[URL]
  15. "Spectre Mitigations in Microsoft's C/C++ Compiler"[URL]
  16. G. Wang, "oo7: Low-overhead Defense against Spectre attacks via Program Analysis", IEEE Transactions on Software Engineering, pp.1~1 (2019)
  17. N. A. Simakov, "Effect of meltdown and spectre patches on the performance of HPC applications", arXiv preprint arXiv:1801.04329, ~ (2018)
  18. "radare2"[URL]
  19. S. Ertekin, "Learning on the border:active learning in imbalanced data classification", Proceedings of the sixteenth ACM conference on Conference on information and knowledge management, pp.127~136 (2007)
  20. N. V. Chawla, "SMOTE:synthetic minority over-sampling technique", Journal of artificial intelligence research, 16, pp.321~357 (2002)

관련 논문AI추천

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