[논문 리뷰] EMULATOR vs REAL PHONE: Android Malware Detection Using Machine Learning
이 논문은 가상 환경에서의 악성코드 탐지에 실패하는 반면 실제 기기에서의 동적 분석을 통해 에뮬레이터 기반 탐지의 한계를 극복하는 기계학습 기반 안드로이드 악성코드 탐지 시스템을 제안한다. 특히 에뮬레이터 방지 기법을 사용하는 악성코드에 대해 효과적으로 대응하기 위해, 실제 안드로이드 기기에서 런타임 특징을 자동으로 추출하는 파이썬 도구를 개발하였으며, 실제 기기 기반 분석이 에뮬레이터 대비 상당히 높은 탐지 성능(최대 92.6% F-측정치)을 보임을 입증하였다. 또한, 악성코드 분석 성공률도 23.8% 향상되었다.
The Android operating system has become the most popular operating system for smartphones and tablets leading to a rapid rise in malware. Sophisticated Android malware employ detection avoidance techniques in order to hide their malicious activities from analysis tools. These include a wide range of anti-emulator techniques, where the malware programs attempt to hide their malicious activities by detecting the emulator. For this reason, countermeasures against antiemulation are becoming increasingly important in Android malware detection. Analysis and detection based on real devices can alleviate the problems of anti-emulation as well as improve the effectiveness of dynamic analysis. Hence, in this paper we present an investigation of machine learning based malware detection using dynamic analysis on real devices. A tool is implemented to automatically extract dynamic features from Android phones and through several experiments, a comparative analysis of emulator based vs. device based detection by means of several machine learning algorithms is undertaken. Our study shows that several features could be extracted more effectively from the on-device dynamic analysis compared to emulators. It was also found that approximately 24% more apps were successfully analysed on the phone. Furthermore, all of the studied machine learning based detection performed better when applied to features extracted from the on-device dynamic analysis.
연구 동기 및 목표
- 가상 환경에서의 악성코드 탐지를 회피하는 악성코드의 증가하는 위협에 대응하기 위해.
- 에뮬레이터 대비 실제 기기에서의 동적 분석이 악성코드 탐지에 더 효과적인 특징 추출을 가능하게 하는지 조사하기 위해.
- 실제 안드로이드 기기에서 추출한 특징을 기반으로 기계학습 기반 탐지 프레임워크를 개발하고 평가하기 위해.
- 에뮬레이터 환경과 기기 기반 환경에서 다양한 기계학습 알고리즘(예: 랜덤 포레스트, SVM)의 성능을 비교하기 위해.
- 기기 기반 동적 분석이 에뮬레이터의 단점인 완전하지 않은 하드웨어 에뮬레이션과 높은 앱 크래시 비율을 완화함을 보여주기 위해.
제안 방법
- 실제 안드로이드 기기에서 런타임 특징을 자동으로 추출하기 위해 고유의 파이썬 기반 도구를 개발하였다.
- 시스템은 실제 스마트폰에서 애플리케이션 실행 중 시스템 호출, 네트워크 활동, 센서 사용량 등의 특징을 수집한다.
- 1,222개의 악성코드 샘플을 안드로이드 악성코드 게놈 프로젝트에서 확보하여 비교 평가를 실시하였다.
- 랜덤 포레스트, 나이브 베이즈, 다층 퍼셉트론, 심플 로지스틱스, J48, PART, SVM(선형) 등 총 일곱 종류의 기계학습 분류기 모델을 에뮬레이터와 실제 기기에서 추출한 특징에 대해 학습 및 테스트하였다.
- 각 모델의 성능은 표준 평가 지표인 F-측정치, 진짜 양성 비율(TPR), 거짓 양성 비율(FPR)을 사용하여 평가하였다.
- 분석 환경의 신뢰성 평가를 위해 특징 추출 성공률과 크래시 비율을 분석하였다.
실험 결과
연구 질문
- RQ1실제 안드로이드 기기에서의 동적 특징 추출이 에뮬레이터 대비 더 높은 악성코드 탐지 성능을 제공할 수 있는가?
- RQ2악성코드에 내장된 에뮬레이터 방지 기법이 에뮬레이터 기반 분석의 효과성에 어느 정도 영향을 미치는가?
- RQ3실제 기기와 에뮬레이터 간에 동적 분석의 성공률(즉, 전체 애플리케이션 실행 성공률)은 어떻게 비교되는가?
- RQ4실제 기기에서 추출한 특징과 에뮬레이터에서 추출한 특징에 대해 각각 훈련된 기계학습 모델 중 어떤 것이 가장 우수한 성능을 보이는가?
- RQ5어떤 특정 특징들이 실제 기기에서는 더 효과적으로 캡처되는가, 에뮬레이터에서는 그렇지 않은가?
주요 결과
- 실제 기기에서 악성코드 샘플의 분석 성공률가 약 23.8% 더 높았으며, 이는 분석 신뢰도 향상을 시사한다.
- 기기 기반 동적 분석이 에뮬레이터 기반 분석보다 더 효과적인 특징을 추출하여, 모든 기계학습 모델에서 탐지 성능 향상을 이끌어냈다.
- 랜덤 포레스트 분류기는 기기 기반 특징에서 가장 높은 탐지 성능을 기록하였으며, F-측정치 92.6%, TPR 93.1%, FPR 92.0%를 기록하였다.
- 모든 테스트된 기계학습 알고리즘이 실제 기기에서 추출한 특징에 적용되었을 때 에뮬레이터에서 추출한 특징에 비해 더 뛰어난 성능을 보였다.
- 연구 결과, 실제 기기는 악성코드 동적 분석에 더 정확하고 안정적인 환경을 제공하며, 에뮬레이터 방지 기법의 영향을 줄이는 데 기여함을 확인하였다.
- 결과적으로, 에뮬레이터 기반 분석은 하드웨어 및 운영체제의 완전한 에뮬레이션 부족으로 인해 앱 크래시 비율이 높고 특징의 정확도가 떨어지는 본질적 한계를 지닌다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.