Skip to main content
QUICK REVIEW

[논문 리뷰] KiloGrams: Very Large N-Grams for Malware Classification

Edward Raff, William Fleming|arXiv (Cornell University)|2019. 08. 01.
Advanced Malware Detection Techniques참고 문헌 40인용 수 11
한 줄 요약

이 논문은 기존의 계산 비용과 과적합 문제로 인해 작은 n 값(n≤6)으로 제한되었던 n-gram 분석을 초월해 매우 큰 n(≥1024)에서도 가장 빈도가 높은 n-gram을 매우 효율적으로 추출할 수 있는 KiloGrams를 소개한다. 막대한 n-gram 크기에도 불구하고 이 방법은 악성코드 분류에 대해 예측 가능하고 해석 가능한 특징을 생성하며, EMBER 데이터셋에서 기계학습 기반 기반의 기계학습 모델과 조합했을 때 전문가가 수작업으로 설계한 특징과 경쟁할 수 있는 성능을 보인다.

ABSTRACT

N-grams have been a common tool for information retrieval and machine learning applications for decades. In nearly all previous works, only a few values of n are tested, with n>6 being exceedingly rare. Larger values of n are not tested due to computational burden or the fear of overfitting. In this work, we present a method to find the top-k most frequent n-grams that is 60× faster for small n, and can tackle large n≥1024. Despite the unprecedented size of n considered, we show how these features still have predictive ability for malware classification tasks. More important, large n-grams provide benefits in producing features that are interpretable by malware analysis, and can be used to create general purpose signatures compatible with industry standard tools like Yara. Furthermore, the counts of common n-grams in a file may be added as features to publicly available human-engineered features that rival efficacy of professionally-developed features when used to train gradient-boosted decision tree models on the EMBER dataset.

연구 동기 및 목표

  • 이전에 n-gram 분석을 작은 n 값(n≤6)으로 제한시킨 계산 비용과 과적합 문제를 해결하기 위해.
  • 매우 큰 n(≥1024)에서도 효율적으로 가장 빈도가 높은 상위-k개의 n-gram을 식별할 수 있는 확장 가능한 방법을 개발하기 위해.
  • 크기가 막대한 n-gram이 크기에도 불구하고 악성코드 분류에 대해 여전히 예측 능력을 유지하는지 확인하기 위해.
  • 악성코드 분석 관행과 일치하고 Yara와 같은 산업 도구와의 통합을 지원하는 설명 가능한 특징을 생성하기 위해.
  • n-gram 카운트가 공개된 인간이 수작업으로 설계한 특징과 조합되었을 때 전문적으로 개발된 특징의 성능을 따라잡을 수 있는지 보여주기 위해.

제안 방법

  • 빈도 계산과 가지치기 전략을 최적화함으로써 상위-k n-gram 추출을 가속화하는 새로운 알고리즘을 제안하여, 작은 n에 대해 60배의 속도 향상을 달성한다.
  • 메모리와 계산을 관리하기 위해 효율적인 데이터 구조와 스트리밍 기법을 활용함으로써 n≥1024로 확장 가능하다.
  • 이 방법은 바이너리 파일을 바이트의 시퀀스로 간주하여 바이너리 파일에서 가장 빈도가 높은 n-gram을 추출한다.
  • 추출된 n-gram은 기계학습 모델에서 이진 또는 카운트 기반 특징으로 사용된다.
  • 빈도가 높은 n-gram에서 Yara 호환 서명을 생성함으로써 기존 악성코드 분석 파이프라인과의 통합을 지원한다.
  • 이 방법은 n-gram 특징을 기존의 인간이 수작업으로 설계한 특징(예: EMBER에서의 특징)과 조합하고 기울기 부스팅된 결정 트리를 학습하여 성능을 평가한다.

실험 결과

연구 질문

  • RQ1n≥1024인 n-gram을 계산 비용이 과도하지 않게 대규모로 효율적으로 추출할 수 있는가?
  • RQ2크기가 막대한 n-gram이 크기와 잠재적인 과적합 위험에도 불구하고 여전히 악성코드 분류에 대해 예측 능력을 유지하는가?
  • RQ3큰 n-gram이 실제 악성코드 분석 워크플로우에서 해석 가능하고 사용 가능한 특징을 생성할 수 있는가?
  • RQ4n-gram 특징이 인간이 수작업으로 설계한 특징과 조합되었을 때 전문적으로 개발된 특징의 성능을 따라잡을 수 있는가?
  • RQ5추출된 n-gram을 일반 목적의 Yara 호환 서명 생성에 사용할 수 있는가?

주요 결과

  • 제안된 방법은 작은 n에 대해 상위-k n-gram 추출에서 60배의 속도 향상을 달성하여 확장 가능한 처리가 가능해졌다.
  • 이전에는 계산 자원의 제약으로 인해 불가능했던 바, 이 방법은 n=1024 이상에서도 상위-k n-gram을 성공적으로 추출할 수 있었다.
  • 크기가 큰 n-gram(n≥1024)은 여전히 악성코드 분류에 대해 예측 능력을 유지하며, 작은 n을 넘어서도 유용함을 입증했다.
  • n-gram 특징은 해석 가능하며 Yara 호환 서명을 생성하는 데 사용되어 실질적인 구현에 활용될 수 있다.
  • 공개된 인간이 수작업으로 설계한 특징과 조합했을 때, EMBER 데이터셋에서 전문적으로 개발된 특징과 경쟁하는 성능을 달성했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.