[논문 리뷰] Droidetec: Android Malware Detection and Malicious Code Localization through Deep Learning
Droidetec는 API 시퀀스에서 Android 악성코드를 탐지하고 메서드 내에서 높은 주의(attention) API 조각을 하이라이트하여 악성 코드를 로컬라이즈하기 위해 Skip-Gram API 임베딩과 주의(attention)가 있는 Bi-LSTM를 사용한다.
Android malware detection is a critical step towards building a security credible system. Especially, manual search for the potential malicious code has plagued program analysts for a long time. In this paper, we propose Droidetec, a deep learning based method for android malware detection and malicious code localization, to model an application program as a natural language sequence. Droidetec adopts a novel feature extraction method to derive behavior sequences from Android applications. Based on that, the bi-directional Long Short Term Memory network is utilized for malware detection. Each unit in the extracted behavior sequence is inventively represented as a vector, which allows Droidetec to automatically analyze the semantics of sequence segments and eventually find out the malicious code. Experiments with 9616 malicious and 11982 benign programs show that Droidetec reaches an accuracy of 97.22% and an F1-score of 98.21%. In all, Droidetec has a hit rate of 91% to properly find out malicious code segments.
연구 동기 및 목표
- 이진 분류를 넘어서 자동적이고 미세한 수준의 Android 악성코드 탐지를 촉진한다.
- DEX 바이트코드에서 의미 있는 동작 시퀀스를 추출하여 프로그램 실행을 언어와 유사한 시퀀스로 모델링한다.
- 주의(attention) 메커니즘을 활용해 앱 내 악성 코드 구간을 식별하고 로컬라이즈한다.
- API 호출 패턴에 집중하여 난독화에 강건한 탐지를 가능하게 한다.
제안 방법
- invoke- 명령어를 사용하여 DEX 파일에서 API 호출 시퀀스를 추출하기 위해 APK를 전처리한다.
- 루트 메서드에서 시작하는 깊이 우선 호출 순회로 동작 시퀀스를 구성한다.
- Skip-Gram으로 학습된 분산 임베딩으로 API를 표현하여 API 벡터를 생성한다.
- API 벡터에 주의(attention) 레이어를 가진 Bi-LSTM을 학습시켜 앱을 악성/정상으로 분류한다.
- 주의 가중치를 사용해 시퀀스 표현을 계산하고 로컬라이제이션을 위한 k-개의 의심 API 및 메서드를 식별한다.
실험 결과
연구 질문
- RQ1임베딩과 주의가 있는 Bi-LSTM으로 학습된 API 호출 시퀀스가 Android 악성코드를 정확하게 탐지할 수 있는가?
- RQ2주의 메커니즘이 앱의 API 및 메서드 내에서 잠재적으로 악성 코드 구간을 로컬라이즈할 수 있는가?
- RQ3Droidetec은 서로 다른 악성코드 패밀리에서 및 기존 스캐너에 대해 어떻게 성능을 발휘하는가?
- RQ4API 벡터 차원이 탐지 정확도와 효율성에 어떤 영향을 미치는가?
주요 결과
| 방법 | 정확도 | F1-점수 | 거짓 양성률 |
|---|---|---|---|
| Droidetec | 97.22% | 98.21% | 2.11% |
| Droid-Sec [22] | 96.50% | 95.34% | 3.69% |
| Zhao’s [23] | 91.92% | 90.50% | 9.48% |
| API usage | 83.25% | 81.56% | 16.71% |
| Permissions | 73.11% | 70.71% | 26.72% |
- Droidetec은 평가 데이터셋에서 97.22% 정확도와 98.21% F1-점수를 달성하며 2.11% FPR을 보인다.
- 이 방법은 앱 내 악성 코드 구간을 찾는 데 약 91%의 적중률을 달성한다.
- 탐지 지표에서 Droid-Sec 및 Zhao 등과 비교해 Droidetec가 우수하다 (Droidetec: 97.22% 정확도, 98.21% F1; Droid-Sec: 96.50% 정확도, 95.34% F1; Zhao: 91.92% 정확도, 90.50% F1).
- API 벡터 차원은 정확도/재현율을 높이지만 검증 시간도 증가시키며, 200차원 벡터가 바람직한 균형을 제공한다 (97.2% 정확도, 98.2% F1).
- 정상과 악성 간, 그리고 패밀리 간 주의 분포가 다르므로 악성 행위의 의미론적 구분이 가능하다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.