Skip to main content
QUICK REVIEW

[논문 리뷰] Android Malware Detection using Large-scale Network Representation Learning

Rui Zhu, Chenglin Li|arXiv (Cornell University)|2018. 06. 13.
Advanced Malware Detection Techniques참고 문헌 16인용 수 11
한 줄 요약

이 논문은 Android 앱 소스 코드 및 메서드 호출 구조에서 유도된 Program Representation Graphs (PRGs)로부터 깊은 표현을 학습하기 위해 그래프 컬러션 네트워크(GCNs)를 사용하는 새로운 안드로이드 악성코드 탐지 기법을 제안한다. 애플리케이션을 속성 부여된 그래프로 모델링하고 이질적인 그래프를 대상으로 배치 학습 기반을 적용함으로써, 기존 기법들보다 뛰어난 탐지 성능를 달성하였으며, 이는 악성코드 탐지에 그래프 표현 학습을 적용한 최초의 사례이다.

ABSTRACT

With the growth of mobile devices and applications, the number of malicious software, or malware, is rapidly increasing in recent years, which calls for the development of advanced and effective malware detection approaches. Traditional methods such as signature-based ones cannot defend users from an increasing number of new types of malware or rapid malware behavior changes. In this paper, we propose a new Android malware detection approach based on deep learning and static analysis. Instead of using Application Programming Interfaces (APIs) only, we further analyze the source code of Android applications and create their higher-level graphical semantics, which makes it harder for attackers to evade detection. In particular, we use a call graph from method invocations in an Android application to represent the application, and further analyze method attributes to form a structured Program Representation Graph (PRG) with node attributes. Then, we use a graph convolutional network (GCN) to yield a graph representation of the application by embedding the entire graph into a dense vector, and classify whether it is a malware or not. To efficiently train such a graph convolutional network, we propose a batch training scheme that allows multiple heterogeneous graphs to be input as a batch. To the best of our knowledge, this is the first work to use graph representation learning for malware detection. We conduct extensive experiments from real-world sample collections and demonstrate that our developed system outperforms multiple other existing malware detection techniques.

연구 동기 및 목표

  • 기존 서명 기반 탐지 기법을 회피하는 진화하는 안드로이드 악성코드의 증가하는 도전에 대응한다.
  • API 전용 분석의 한계를 극복하기 위해 고수준의 소스 코드 의미론과 메서드 수준의 속성을 통합한다.
  • 구조화된 프로그램 표현에서 깊은 그래프 표현 학습을 활용해 확장 가능하고 효과적인 악성코드 탐지 시스템을 개발한다.
  • 그래프 기반 모델링을 통해 복잡한 행동 패턴을 포착함으로써 제로데이 및 다형성 악성코드를 강력하게 탐지할 수 있도록 한다.

제안 방법

  • 메서드 호출을 간선으로, 메서드를 속성 부여된 노드로 모델링하여 안드로이드 앱에서 Program Representation Graph (PRG)를 구성한다.
  • 소스 코드의 더 풍부한 의미론적 및 구조적 정보를 포착하기 위해 메서드 수준의 속성을 PRG에 통합한다.
  • 전체 PRG를 전역적인 구조적 및 의미론적 특징을 포착하는 조밀한 벡터 표현으로 임bedding하기 위해 그래프 컬러션 네트워크(GCN)를 적용한다.
  • 다양한 이질적인 PRG를 한 번의 순방향 전파에서 효율적으로 처리할 수 있도록 배치 학습 기반을 설계하여 학습 확장성을 향상시킨다.
  • 학습된 그래프 임베딩을 사용하여 악성 및 정상 응용 프로그램을 구분할 수 있도록 GCN 분류기 모델을 학습시킨다.
  • 정적 분석을 활용해 세밀한 프로그램 구조를 추출함으로써, API 수준 분석에서는 보이지 않는 미묘한 악성 행동까지 탐지할 수 있도록 한다.

실험 결과

연구 질문

  • RQ1구조화된 프로그램 표현에서의 그래프 표현 학습이 기존의 API 기반 방법을 뛰어넘어 안드로이드 악성코드 탐지 성능을 향상시킬 수 있는가?
  • RQ2그래프 컬러션 네트워크가 안드로이드 애플리케이션의 복잡한 고수준 행동 패턴을 효과적으로 포착하여 악성코드 분류에 기여할 수 있는가?
  • RQ3메서드 수준의 속성을 통합할 경우 악성코드 회피 기법에 대한 탐지 강건성은 어느 정도 향상되는가?
  • RQ4이질적인 PRG를 대상으로 한 배치 학습 기반은 대규모 앱 데이터셋에서 효율적이고 확장 가능한 악성코드 탐지에 기여할 수 있는가?

주요 결과

  • 제안된 방법은 실제 안드로이드 앱 데이터셋에서 기존의 여러 악성코드 탐지 기법들보다 뛰어난 탐지 정확도를 달성한다.
  • PRG를 통해 소스 코드 수준의 의미론을 통합함으로써, 복잡하고 가로막힌 악성코드의 탐지 능력이 크게 향상된다.
  • 그래프 컬러션 네트워크의 사용은 애플리케이션 내 전역적인 구조적 패턴을 효과적으로 학습함으로써 제로데이 위협 탐지 능력을 향상시킨다.
  • 배치 학습 기반은 다양한 이질적인 앱 그래프를 효율적으로 처리할 수 있게 하여 대규모 데이터셋에서의 확장성을 지원한다.
  • 모델은 강력한 일반화 성능을 보이며, API 전용 및 다른 딥러닝 기반 기준 대비 비교 평가에서 뛰어난 성능을 보였다.
  • PRG에 메서드 속성을 통합함으로써 더 구분력 있는 그래프 임베딩이 생성되어, 은폐된 악성코드에 대한 거짓 음성 결과가 감소한다.

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

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

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

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