[논문 리뷰] Wavelet decomposition of software entropy reveals symptoms of malicious code
이 논문은 포트러블 엑스큐티브 파일의 소프트웨어 엔트로피를 웨이블릿 분해하여 파일 세그먼트 간 엔트로피 변화의 의심스러운 패턴을 식별함으로써 악성 코드를 탐지하는 방법을 제안한다. 구조적 엔트로피 변화를 정량화하기 위해 '의심스러운 구조적 엔트로피 변화 점수'(SSECS)를 사용함으로써, 다양한 악성 코드에서 악성 코드 탐지 정확도를 50.0%에서 68.7%로 향상시키며, 문자열 및 엔트로피 특징과 조합했을 때 약 99%의 기생 악성 코드 탐지율과 1% 미만의 위양성률을 달성한다.
Sophisticated malware authors can sneak hidden malicious code into portable executable files, and this code can be hard to detect, especially if encrypted or compressed. However, when an executable file switches between code regimes (e.g. native, encrypted, compressed, text, and padding), there are corresponding shifts in the file's representation as an entropy signal. In this paper, we develop a method for automatically quantifying the extent to which patterned variations in a file's entropy signal make it "suspicious." In Experiment 1, we use wavelet transforms to define a Suspiciously Structured Entropic Change Score (SSECS), a scalar feature that quantifies the suspiciousness of a file based on its distribution of entropic energy across multiple levels of spatial resolution. Based on this single feature, it was possible to raise predictive accuracy on a malware detection task from 50.0% to 68.7%, even though the single feature was applied to a heterogeneous corpus of malware discovered "in the wild." In Experiment 2, we describe how wavelet-based decompositions of software entropy can be applied to a parasitic malware detection task involving large numbers of samples and features. By extracting only string and entropy features (with wavelet decompositions) from software samples, we are able to obtain almost 99% detection of parasitic malware with fewer than 1% false positives on good files. Moreover, the addition of wavelet-based features uniformly improved detection performance across plausible false positive rates, both in a strings-only model (e.g., from 80.90% to 82.97%) and a strings-plus-entropy model (e.g. from 92.10% to 94.74%, and from 98.63% to 98.90%). Overall, wavelet decomposition of software entropy can be useful for machine learning models for detecting malware based on extracting millions of features from executable files.
연구 동기 및 목표
- 포트러블 엑스큐티브 파일 내의 구조적 엔트로피 변동을 식별함으로써 악성 코드를 탐지하기 위해.
- 암호화되거나 압축된 세그먼트를 숨긴 악성 코드를 탐지하지 못하는 전통적 엔트로피 분석의 한계를 해결하기 위해.
- 엔트로피의 평균 또는 표준편차를 초월하여 의심스러운 엔트로피 구조를 정량화하는 특징을 개발하기 위해.
- 웨이블릿 기반 엔트로피 특징이 대규모 악성 코드 탐지 작업에서 유용한가를 평가하기 위해.
- 웨이블릿 유도 특징이 표준 엔트로피나 문자 기반 특징과 중복되지 않는가를 입증하기 위해.
제안 방법
- 소규모 바이트 수준 세그먼트에서 국소 엔트로피를 계산하여 각 실행 파일을 엔트로피 스트림으로 표현한다.
- 엔트로피 신호를 다중 척도 해상도 성분으로 분해하기 위해 하르 웨이블릿 변환을 적용한다.
- 스케일 간 제곱 웨이블릿 계수를 집계하여 엔트로피 에너지 분포를 캡처하는 웨이블릿 에너지 스펙트럼을 계산한다.
- 구조적 엔트로피 변화의 정도를 요약하는 스칼라 특징으로서 '의심스러운 구조적 엔트로피 변화 점수'(SSECS)를 유도한다.
- 기계 학습 모델에서 문자열 및 엔트로피 특징과 함께 웨이블릿 기반 특징을 사용하여 악성 코드 분류를 수행한다.
- 실세계의 '실제로 발견된' 샘플을 포함한 이질적인 악성 코드 코퍼스에서 모델을 훈련하고 평가하여 예측 성능을 평가한다.
실험 결과
연구 질문
- RQ1전통적 엔트로피 통계에 비해 소프트웨어 엔트로피의 웨이블릿 분해가 악성 코드 탐지에 더 효과적인가?
- RQ2의심스러운 구조적 엔트로피 변화 점수(SSECS)가 이질적인 악성 코드 코퍼스에서 악성 코드 탐지 정확도를 어느 정도 향상시키는가?
- RQ3대규모 기생 악성 코드 탐지에서 웨이블릿 기반 엔트로피 특징은 표준 문자열 및 엔트로피 특징과 비교해 성능가능성이 어떠한가?
- RQ4악성 코드 탐지 모델에서 웨이블릿 유도 특징은 간단한 엔트로피나 문자 기반 특징과 중복되는가?
- RQ5엔트로피 신호에서 유도된 웨이블릿 에너지 스펙트럼은 다양한 위양성률에서 탐지 성능을 향상시킬 수 있는가?
주요 결과
- SSECS 특징만으로도 이질적인 '실제로 발견된' 악성 코드 코퍼스에서 악성 코드 탐지 정확도를 50.0%에서 68.7%로 향상시켰다.
- 대규모 기생 악성 코드 탐지 작업에서 문자열, 엔트로피, 웨이블릿 특징을 사용한 모델이 98.90%의 탐지율과 1% 미만의 위양성률을 기록했다.
- 웨이블릿 기반 특징은 모든 테스트된 위양성률에서 탐지 성능을 균일하게 향상시켰으며, 문자열 전용 모델(80.90%에서 82.97%)과 문자열+엔트로피 모델(92.10%에서 94.74% 및 98.63%에서 98.90%) 모두에서 유사한 향상 효과를 보였다.
- 문자열+웨이블릿 모델의 총 특징 수의 2.1%에 불과한 웨이블릿 특징이 가장 영향력 있는 특징 중 7.0%를 차지하여 높은 예측 능력을 보였다.
- 웨이블릿 특징은 그 특징 집합 내 비율에 비해 약 2.5배 더 영향력 있는 경향을 보였으며, 이는 중복되지 않는 정보를 제공한다는 것을 시사한다.
- 웨이블릿 에너지 스펙트럼은 평균 엔트로피나 표준편차에서는 포착하지 못하는 구조적 엔트로피 패턴을 캡처하며, 암호화되거나 압축된 세그먼트를 숨긴 고도로 정교한 악성 코드 탐지에 가치가 있음을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.