Skip to main content
QUICK REVIEW

[논문 리뷰] MaMaDroid: Detecting Android Malware by Building Markov Chains of Behavioral Models (Extended Version)

Lucky Onwuzurike, Enrico Mariconti|arXiv (Cornell University)|2017. 11. 20.
Advanced Malware Detection Techniques인용 수 33
한 줄 요약

MaMaDroid는 API 호출 시퀀스를 추상화한 후 마르코프 체인을 사용하여 앱 행동을 모델링하는 정적 분석 기반의 안드로이드 악성코드 탐지 시스템이다. 이는 패밀리, 패키지 또는 클래스 단위로 추상화함으로써 API 변화에 대한 강건성을 향상시킨다. 시스템은 새로운 악성코드에 대해 최대 F-측도 0.99를 기록하며, 1년 후에도 F-측도 0.86, 2년 후에도 0.75를 유지하여 DroidAPIMiner와 같은 최신 기술보다 뛰어난 성능을 보인다.

ABSTRACT

As Android has become increasingly popular, so has malware targeting it, thus pushing the research community to propose different detection techniques. However, the constant evolution of the Android ecosystem, and of malware itself, makes it hard to design robust tools that can operate for long periods of time without the need for modifications or costly re-training. Aiming to address this issue, we set to detect malware from a behavioral point of view, modeled as the sequence of abstracted API calls. We introduce MaMaDroid, a static-analysis based system that abstracts the API calls performed by an app to their class, package, or family, and builds a model from their sequences obtained from the call graph of an app as Markov chains. This ensures that the model is more resilient to API changes and the features set is of manageable size. We evaluate MaMaDroid using a dataset of 8.5K benign and 35.5K malicious apps collected over a period of six years, showing that it effectively detects malware (with up to 0.99 F-measure) and keeps its detection capabilities for long periods of time (up to 0.87 F-measure two years after training). We also show that MaMaDroid remarkably outperforms DroidAPIMiner, a state-of-the-art detection system that relies on the frequency of (raw) API calls. Aiming to assess whether MaMaDroid's effectiveness mainly stems from the API abstraction or from the sequencing modeling, we also evaluate a variant of it that uses frequency (instead of sequences), of abstracted API calls. We find that it is not as accurate, failing to capture maliciousness when trained on malware samples that include API calls that are equally or more frequently used by benign apps.

연구 동기 및 목표

  • evolving Android API와 악성코드 행동에 대응하여 효과적인 악성코드 탐지 유지의 과제를 해결한다.
  • 허가 기반 및 빈도 기반 탐지 방법의 한계를 극복한다. 이는 거짓 긍정이 많고 자주 재학습이 필요하기 때문이다.
  • 저수준 API 호출을 고수준 패밀리, 패키지 또는 클래스로 추상화하여 API 변화에 강건한 행동 모델링 방법을 개발한다.
  • Android 생태계가 진화함에 따라 재학습 없이도 장기간 높은 탐지 정확도를 유지할 수 있는 시스템을 설계한다.
  • API 추상화와 시퀀스 모델링이 악성코드 탐지의 강건성 향상에 기여하는 상대적 기여도를 평가한다.

제안 방법

  • 저수준 API 호출을 고수준 추상화로 변환한다. 예: 패밀리(예: android, java), 패키지(예: java.io), 클래스(예: java.lang.Throwable)를 통해 API의 폐기나 변경에 민감도를 낮춘다.
  • 정적 분석을 통해 안드로이드 앱의 호출 그래프를 구축하고, 추상화된 API 호출 시퀀스를 추출한다.
  • 추상화된 API 호출 시퀀스를 일阶 마르코프 체인으로 모델링하여 행동 전이 패턴을 포착한다.
  • 마르코프 체인 전이 행렬에서 통계적 특징을 추출하여 앱 행동을 표현한다.
  • 이러한 특징을 기반으로 이진 분류기(예: SVM 또는 랜덤 포레스트)를 학습시켜 정상 앱와 악성 앱을 구분한다.
  • 2010년부터 2016년까지 수집한 총 8.5K개의 정상 앱과 35.5K개의 악성 앱으로 구성된 대규모 장기 데이터셋을 사용해 시스템을 평가한다.

실험 결과

연구 질문

  • RQ1 마르코프 체인을 사용해 추상화된 API 호출 시퀀스를 모델링하는 것이 빈도 기반 방법에 비해 장기적인 악성코드 탐지 강건성 향상에 기여하는가?
  • RQ2 MaMaDroid는 이전에 본 적 없는 악성코드 샘플, 특히 오래된 데이터셋으로 학습한 경우에도 얼마나 잘 작동하는가?
  • RQ3 라우드 API 빈도 분석에 비해 API 추상화가 안드로이드 프레임워크 진화에 대비한 강건성 향상에 얼마나 기여하는가?
  • RQ4 DroidAPIMiner와 같이 빈번히 사용되는 API 호출에 의존하는 시스템과 비교해 MaMaDroid의 성능은 시간이 지남에 따라 어떻게 저하되는가?
  • RQ5 추상화와 시퀀스 모델링의 조합이 추상화만 또는 빈도 기반 모델링보다 더 효과적인가?

주요 결과

  • MaMaDroid는 같은 학습 기간의 데이터셋에서 악성코드 탐지 시 최대 F-측도 0.99를 기록한다.
  • 시스템은 장기간에 걸쳐 뛰어난 탐지 성능을 유지하며, 학습 후 1년 후 F-측도 0.86, 2년 후 0.75를 기록한다.
  • MaMaDroid는 최신 기술인 빈도 기반 시스템인 DroidAPIMiner보다 정확도와 장기적 강건성 면에서 뚜렷이 뛰어나다.
  • 추상화된 API 호출의 빈도만을 사용하는 MaMaDroid의 변종(FAM)은 DroidAPIMiner보다 성능이 뛰어나지만, 전체 마르코프 체인 모델보다는 정확도가 낮다.
  • 연구 결과, 특히 악성 및 정상 앱이 유사한 API 빈도를 사용하는 경우 마르코프 체인을 통한 시퀀스 모델링이 높은 탐지 정확도를 확보하는 데 필수적임을 확인했다.
  • 단순한 API 추상화만으로는 강건한 탐지가 불가능하며, 추상화와 시퀀스 모델링의 조합이 API 진화에 대한 저항성과 높은 탐지 성능을 가능하게 한다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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