Source-linked AI summary

A Comparison of Static, Dynamic, and Hybrid Analysis for Malware Detection

Anusha Damodaran, Fabio Di Troia, Visaggio Aaron Corrado, Thomas H. Austin, Mark Stamp

arXiv:2203.09938v1cs.CRcs.LG

TL;DR

이 논문은 혼란변수를 제한하면서 hybrid malware analysis가 static 또는 dynamic 접근법보다 본질적으로 우월한지 검토한다. 이러한 전략을 비교한 결과, fully dynamic detection이 대체로 가장 효과적이며 hybrid methods가 fully static 또는 fully dynamic detection을 일관되게 능가하지는 않는다는 점을 확인했다.

  • 문제

    이 논문은 연구 간 비교의 어려움과 혼란변수가 존재하는 상황에서 hybrid malware analysis가 static 및 dynamic 기법보다 본질적으로 우월한지 묻는다.

  • 방법

    이 연구는 간단한 training-and-scoring framework를 사용해 static, dynamic, and hybrid analysis를 비교한다.

  • 결과

    Fully dynamic detection이 대체로 가장 효과적인 반면, hybrid approaches는 fully static 또는 fully dynamic detection을 일관되게 능가하지 않는다.

  • 시사점 및 한계

    Hybrid detection에 대한 주장은 malware families 전반에서 comparable fully dynamic 및 fully static techniques와 비교해 검증해야 한다.

  • 시사점 및 한계

    이 결론만으로는 hybrid benefits가 광범위한 malware samples 전반에 일반화되는지, 아니면 더 좁은 sample ranges에 국한되는지 확정할 수 없다.

Abstract

from arXiv · show

In this research, we compare malware detection techniques based on static, dynamic, and hybrid analysis. Specifically, we train Hidden Markov Models (HMMs ) on both static and dynamic feature sets and compare the resulting detection rates over a substantial number of malware families. We also consider hybrid cases, where dynamic analysis is used in the training phase, with static techniques used in the detection phase, and vice versa. In our experiments, a fully dynamic approach generally yields the best detection rates. We discuss the implications of this research for malware detection based on hybrid techniques.

1 서론

이 논문은 API-call 및 opcode sequence에 대한 Hidden Markov Models를 사용해 static, dynamic, hybrid malware detection을 비교한다. 특히 hybrid analysis가 본질적인 이점을 제공하는지에 초점을 두고, detection accuracy 최적화보다 각 접근법의 상대적 장점을 파악하고자 한다.

  • 문제 동기: 2014년에 317 million개가 넘는 새로운 malware sample이 생성되었으며, 이는 2013년보다 26% 증가한 수치로 malware detection 연구의 중요성을 강조한다.이 수치는 Symantec 에 기인한다.
  • 문제 동기: Signature scanning은 널리 사용되며 다양한 malware 유형에 효과적이지만, 새로운 malware나 중대한 변종을 안정적으로 탐지할 수 없다.Signature scanning은 pattern matching에 의존한다.
  • 관련 연구: 기존 연구에서는 실행 없이 얻는 feature, 실행 동작, 또는 두 가지 모두를 사용해 static analysis, dynamic analysis, hybrid approaches를 적용했다.Static method는 software를 실행하지 않고 얻을 수 있는 feature를 사용하며, hybrid method는 static feature와 dynamic feature를 결합한다.
  • 기여 및 방법: 이 연구는 간단한 Hidden Markov Model training 및 scoring approach를 사용해 static, dynamic, hybrid malware detection technique을 비교한다.Feature set은 API call sequence와 opcode sequence로 구성된다.
  • 연구 목표: 이 연구는 hybrid analysis가 static 또는 dynamic technique보다 본질적인 이점을 갖는지 검토한다.분석은 결합된 score나 scoring technique를 통해 detection accuracy를 극대화하기보다 상대적 장점과 단점에 초점을 둔다.

2 배경

이 절에서는 malware detection 기법을 소개하고, 연구의 기반이 되는 Hidden Markov Models를 강조하며, 관련 연구를 검토하고, 실험을 정량화하기 위한 ROC curves를 설명한다.

  • Hidden Markov Models는 이 논문에서 제시하는 연구의 기반을 이루므로 강조된다.
  • 이 절에서는 malware detection 기법을 간략히 논의하고 관련 연구를 검토한다.
  • ROC curves는 이 논문에서 수행한 실험을 정량화하는 편리한 방법으로 소개된다.

2.1 악성코드 탐지

악성코드 탐지는 signature-, behavior-, statistical-based 접근법을 포함하며, 본 연구에서 다루는 기법의 기반으로 HMMs를 선택했다. 이는 선행 연구에서 metamorphic-malware 분류에 대한 benchmark가 수행되었기 때문이다,.

  • Signature-Based 탐지: Signature-based 탐지는 알려진 악성코드의 byte-sequence signature를 검색하지만, 빈번한 database 업데이트에 의존하며 단순한 난독화로 우회될 수 있다.구현이 단순하고 비교적 빠르며 대부분의 일반적인 악성코드에 효과적이지만, signature repository에 없는 위협은 탐지하지 못한다.
  • Behavior-Based 탐지: Behavior-based 탐지는 학습 중 악성 파일과 정상 파일의 action pattern을 학습한 뒤, 테스트 또는 모니터링 중 실행 파일을 분류한다.이 접근법은 실행 중 수행되는 동작에 초점을 맞추며, 학습 단계에서 도출된 pattern을 기반으로 분류한다.
  • Statistical-Based 탐지: Statistical 탐지는 프로그램 feature에서 근거를 도출하며, 본 연구에서는 선행 연구가 HMMs를 metamorphic-malware 분류에 적용하고 benchmark를 확립했기 때문에 HMMs를 사용한다,.따라서 HMMs는 본 연구에서 평가하는 악성코드 탐지 기법의 기반을 제공한다.

2.2 Hidden Markov Models

이 논문은 Hidden Markov Models를 사용해 malware family의 observation sequence를 모델링하고, sequence likelihood를 최대화하도록 모델을 학습한 뒤 detection을 위해 malware 및 benign file을 scoring한다. HMM은 관측 sequence에 대한 probability distribution을 통해 관측되지 않는 Markov state를 나타내며 λ = (A, B, π)로 parameterize된다.

  • HMM 정의: HMM은 discrete probability distribution을 통해 observation을 관측되지 않는 Markov process와 연결한다.observation은 직접 관측할 수 없는 hidden state와 관련된다.
  • HMM 정의: 모델은 λ = (A, B, π)로 정의되며, state-transition probability, observation probability, initial-state distribution으로 구성된다.A, B, π는 각각 transition, observation probability, initial state distribution을 지정한다.
  • Malware Detection에의 적용: HMM은 malware family의 observation sequence로 학습한 뒤, 각 detection technique의 성능을 측정하기 위해 malware 및 benign-file sequence를 scoring한다.학습에는 Problem 3을 사용하고, detection에는 Problem 1의 sequence-likelihood score를 사용한다.

2.3 관련 연구

기존 malware detection 연구는 다양한 program representation과 machine-learning 방법을 활용해 static, dynamic, hybrid analysis를 아우른다. Static approach는 실행을 피하고, dynamic approach는 runtime behavior를 모델링하며, hybrid approach는 detection fidelity와 효율성의 균형을 위해 두 방식을 결합한다.

  • Static Analysis: Static analysis는 프로그램을 실행하지 않고 opcode sequence와 control-flow graph 등의 feature를 사용해 malware를 탐지한다.기존 연구는 이러한 representation에 Hidden Markov Models, Profile Hidden Markov Models, Principal Component Analysis, Support Vector Machines, clustering 및 graph-based methods를 적용한다,,,,,,, [15].
  • Dynamic Analysis: Dynamic analysis는 runtime evidence를 포착하기 위해 대개 가상 환경에서 프로그램을 실행하며, 여기에는 API 및 system call, instruction trace, registry change, memory write가 포함된다.관련 방법은 system-call dependency, API-call spatio-temporal statistics, API-control-flow combination, kernel trace, behavioral graph 및 dynamic instruction sequence를 모델링한다,,,,,,,, [2].
  • Hybrid Analysis: Hybrid technique는 두 형태의 program examination에서 정보를 활용하기 위해 static analysis와 dynamic analysis를 결합한다.Mal-DNA는 두 분석을 모두 사용하는 framework 안에서 debugging-based behavior monitor를 활용해 dynamic characteristic을 추출한다.
  • Hybrid Analysis: HDM Analyser는 training 중 static analysis와 dynamic analysis를 사용하지만 testing 중에는 static analysis만 사용하며, scoring에서는 static efficiency를 유지하면서 training에서 dynamic fidelity를 확보하는 것을 목표로 한다.해당 문단은 HDM Analyser가 overall accuracy와 time에서 더 우수하다고 보고하지만, 제공된 텍스트가 비교 세부 사항을 명시하기 전에 중단되어 있다.

2.4 ROC 분석

ROC 분석은 위양성률과 참양성률의 관계를 통해 malware-score 임계값을 평가한다. AUC-ROC는 순위화 품질을 요약하며, 1.0은 malware와 benign 파일 간의 이상적인 분리를 나타낸다.

  • 2.4 ROC 분석: AUC-ROC가 1.0이면 이상적인 탐지를 의미하며, 일반적으로 무작위로 선택한 양성 인스턴스의 점수가 무작위로 선택한 음성 인스턴스의 점수보다 높을 확률을 나타낸다.ROC 곡선은 임계값이 변할 때 위양성률을 참양성률에 대해 나타낸다.
  • 2.4 ROC 분석: malware 분류에서 ROC 분석은 malware 점수를 양성 인스턴스로, benign-file 점수를 음성 인스턴스로 취급하며, 더 높은 점수가 더 나은 분류를 나타낸다고 가정한다.Figure 2는 산점도와 이에 대응하는 ROC 곡선으로 이러한 양성 및 음성 점수를 보여준다.
  • 2.4 ROC 분석: 참양성률은 sensitivity이고, 참음성률은 specificity이며, 위양성률은 1 − specificity와 같다.
  • 2.4 ROC 분석: 모든 ROC 곡선은 (0, 0)과 (1, 1)을 포함하며, 중간 지점은 관측된 점수를 따라 임계값을 이동할 때 결정된다.
  • 2.4 ROC 분석: 제시된 임계값에서 sensitivity는 0.7이고 위양성률은 0.2이며, 양성 10개 중 7개를 올바르게 분류하고 음성 10개 중 2개를 오분류한 결과다.

2.5 PR 분석

PR 곡선은 분류 임계값 전반에서 precision–recall 쌍을 도시하며, nomatch 집합이 match 집합보다 훨씬 클 때 ROC 곡선보다 더 많은 정보를 제공할 수 있다. 예시에서 PR 곡선의 AUC-PR은 약 0.69다.

  • 2.5 PR 분석: nomatch 집합이 match 집합에 비해 클 때 PR 곡선이 ROC 곡선보다 적합할 수 있다.두 곡선 유형은 서로 연관되어 있지만, 이러한 클래스 불균형 상황에서는 PR 곡선이 더 많은 정보를 제공할 수 있다.
  • 2.5 PR 분석: Recall은 match 사례 중 올바르게 분류된 비율인 반면, precision은 양성으로 분류된 사례 중 match 집합에 속하는 비율이다.Recall은 true positive rate에 해당하지만, precision은 ROC의 false positive rate와 다르다.
  • 2.5 PR 분석: True negatives는 recall과 precision 어느 쪽에도 사용되지 않으므로 PR 곡선 계산에 직접 영향을 주지 않는다.관련된 개수는 true positives, false positives, false negatives다.
  • 2.5 PR 분석: PR 곡선은 산점도에서 분류 임계값이 변함에 따라 recall–precision 쌍을 도시한다.이 절차는 Section 2.4의 ROC 곡선 예시에 사용된 동일한 데이터로 설명된다.
  • 2.5 PR 분석: 제시된 산점도 예시에서는 약 0.69 AUC-PR이 얻어진다.전체 PR 곡선은 Figure 3에 제시된 임계값 변화 데이터로부터 생성된다.

3 실험

실험에서는 malware와 benign Windows 파일에서 추출한 opcode 및 API-call sequence를 사용해 static, dynamic, hybrid HMM detection을 비교한다. 7개 malware family를 대상으로 five-fold cross-validation과 ROC AUC를 성공 척도로 사용해 네 가지 training/scoring 조합을 평가한다.

  • Analysis tools: IDA Pro는 static disassembly와 dynamic tracing을 지원하며, Buster Sandbox Analyzer는 registry, file-system, port, API-call activity를 포함한 process behavior를 기록한다.Ether도 dynamic analysis에 사용했지만, 고려한 dataset에서는 BSA와 API-call sequence에 유의미한 차이를 보이지 않았다.
  • Datasets: Dataset은 7개 malware family와 benign Windows System 32 file set으로 구성된다.Zbot 실행 추적은 결국 process list에서 사라지기 때문에 약 5 to 10분 동안만 가능했다.
  • Feature extraction: 각 program은 opcode sequence와 API-call sequence를 static 또는 dynamic extraction으로 조합해 네 개의 observation sequence를 제공한다.Static opcode는 IDA Pro disassembly에서, dynamic opcode는 traced execution에서, static API call은 disassembly에서, dynamic API call은 고정된 execution window 동안 수집한 BSA log에서 얻는다.
  • Experimental design: 네 가지 경우에서 static/static, dynamic/dynamic, dynamic/static, static/dynamic training 및 scoring 조합을 비교한다.Dynamic/static 경우는 dynamic-training accuracy와 효율적인 static scoring을 결합하려는 hybrid approach를 나타내며, static/dynamic은 뚜렷한 이점이 없지만 opcode 실험의 완전성을 위해 포함한다.
  • Experimental design: Five-fold cross-validation에서는 네 개의 malware subset으로 HMM을 training하고, hold-out malware subset과 benign file을 함께 scoring한다.각 malware dataset과 각 static/dynamic combination에 대해 별도의 실험을 수행한다.
  • Evaluation: Experiment score scatterplot에서 ROC curve를 생성하고, ROC curve 아래 면적을 성공 척도로 사용한다.Metric은 ROC curve 아래 면적으로 정의된다.

4 결과

API 호출 및 opcode 실험에서 fully dynamic analysis가 대체로 가장 강한 malware detection 성능을 보였으며, hybrid dynamic/static analysis는 일반적으로 경쟁력이 없었다. AUC-PR로 평가한 simulated class imbalance에서는 fully dynamic 및 fully static 접근법이 더욱 유리했다.

  • 실험 설계: 실험에서는 API 호출 및 opcode sequence에 HMMs와 five-fold cross-validation을 적용하고, static·dynamic·hybrid training/scoring 조합을 주로 AUC로 평가했다.결과에는 AUC-ROC와 AUC-PR이 보고되며, sequence 유형별 대응 표와 그림이 제시된다.
  • API 호출 sequence: API 호출 sequence에서는 dynamic/dynamic이 가장 우수했고, static/static도 대체로 비슷한 효과를 보였으며, Security Shield와 Zbot을 제외하면 dynamic/static은 static/static보다 성능이 낮았다.Security Shield와 Zbot을 제외한 모든 family에서 dynamic/static 접근법은 static/static보다 유의하게 낮은 성능을 보였다.
  • Opcode sequence: opcode sequence에서는 결과가 API 호출보다 약했지만 dynamic/dynamic이 여전히 가장 우수했으며, static/static과 dynamic/static은 대체로 동등했다.네 경우에는 dynamic/static이 static/static보다 근소하게 우수했지만, 한 경우에는 유의하게 낮은 성능을 보였다.
  • Imbalance 분석: simulated benign-sample imbalance에서는 AUC-ROC가 변하지 않은 반면 AUC-PR은 감소했으며, imbalance가 커질수록 fully dynamic의 우위와 hybrid에 대한 fully static의 이점이 증가했다.처음에는 경쟁력이 있었던 경우에도 imbalance가 큰 상황에서는 dynamic/static의 경쟁력이 떨어졌다.
  • 전체 결과: API 호출 및 opcode 실험 전반에서 fully dynamic analysis가 대체로 가장 우수한 detection 결과를 보였으며, hybrid 접근법이 일반적으로 우월하지는 않았다.scoring 단계의 dynamic analysis에는 비용이 많이 들지만 training은 offline으로 수행할 수 있으므로, 저자들은 hybrid를 fully dynamic 및 fully static baseline과 비교할 것을 권고한다.

5 결론 및 향후 연구

이 연구는 완전 동적 API-call 분석이 malware family 전반에서 매우 효과적인 반면, 단순한 hybrid 접근법은 완전 동적 또는 완전 정적 탐지 성능을 일관되게 능가하지 못한다는 점을 발견했다. 또한 hybrid의 이점에 대한 주장을 면밀히 검토하고, 추가 feature, scoring method, imbalance 분석을 활용한 비교 연구가 필요하다고 제안한다.

  • 결론: 이 연구는 static, dynamic, hybrid API-call 및 opcode-sequence feature로 학습한 Hidden Markov Models를 비교하여 malware detection rate를 평가했다.실험에서는 검증한 feature 유형 전반에 걸쳐 static data, dynamic data, hybrid approach를 다뤘다.
  • 결론: 완전 동적 API-call 탐지는 malware family 전반에서 매우 효과적이었으며, 완전 정적 API-call 탐지도 대부분의 경우 거의 동등한 효과를 보였다.Opcode sequence는 많은 경우 효과적이었지만 일부 family에서는 인상적이지 않은 결과를 냈으며, 이는 malware obfuscation technique을 반영한 결과일 가능성이 높다.
  • 결론: 단순한 hybrid 탐지는 완전 동적 탐지를 능가하기 어려웠고 완전 정적 탐지보다 일관되게 개선되지도 않았지만, 비현실적인 static/dynamic hybrid는 일부 measure에서 일부 경우 더 우수했다.이러한 결과는 hybrid approach에 대해 제기된 주장에 비추어 볼 때 놀랍다.
  • 한계: hybrid의 이점에 대한 주장은 성능 향상이 hybrid model 자체에서 비롯된 것인지, score combination과 같은 요인에서 비롯된 것인지, 그리고 malware sample 전반에 일반화되는지를 판단하기 위해 면밀히 검토해야 한다.이 논문은 model-specific 이점과 다른 기여 요인을 구분하고, sample 전반에서 그 범위를 평가해야 한다고 강조한다.
  • 향후 연구: 향후 연구에서는 추가 feature, 대안적 scoring method, 최적의 static/dynamic score combination을 검토하고, Support Vector Machines를 포함하는 동시에 imbalance issue를 더 심층적으로 분석해야 한다.제안된 대안에는 graph-based, structural, machine-learning, statistical score가 포함된다.
Loading 2203.09938v1…