초록
안드로이드 기반 오픈 마켓의 개방성으로 인해 일반적인 정상 어플리케이션 뿐만아니라 공격자에 의해 개발된 악성 어플리케이션의 배포 역시 점차 증가하고 있는 추세이다. 악성 어플리케이션들의 확산으로 인한 피해를 줄이기 위해서는 상용 모바일 단말을 대상으로 보다 정확한 방법으로 정상 앱과 악성 앱을 판별할 수 있는 메커니즘이 개발되어야 한다. 이에 본 논문에서는 안드로이드 플랫폼 기반 모바일 단말을 대상으로 정상 앱과 악성 앱으로 부터 이벤트 패턴을 분석하기 위해 안드로이드 오픈 마켓에서 가장 사용자 이용도가 높은 게임 앱을 대상으로 정상 이벤트 패턴을 분석하였고, Android MalGenome Project에서 배포하고 있는 1,260개의 악성 샘플들 중에서 게임 앱 형태에 해당하는 악성 앱과 유사 악성 앱 등을 대상으로 악성 이벤트 패턴을 분석하였다. 이와 같이 안드로이드 기반 모바일 단말에서 정상 앱과 악성 앱을 대상으로 리눅스 기반 시스템 콜 추출 도구인 Strace를 이용해 정상 앱과 악성 앱의 이벤트를 추출하는 실험을 수행하였다. 정상 앱 및 악성 앱이 각각 실행되었을 때 발생하는 이벤트를 수집하여 각각의 이벤트 집합에 대한 연관성 분석 과정을 수행하였다. 이러한 과정을 통해 정상 앱과 악성 앱 각각에 대한 이벤트 발생 특징 및 패턴과 분포도를 분석하여 이벤트 유사도를 추출할 수 있었으며 최종적으로는 임의의 앱에 대한 악성 여부를 판별하는 메커니즘을 제시하였다.
Distribution of malicious applications developed by attackers is increasing along with general normal applications due to the openness of the Android-based open market. Mechanism that allows more accurate ways to distinguish normal apps and malicious apps for common mobile devices should be developed in order to reduce the damage caused by the rampant malicious applications. This paper analysed the normal event pattern from the most highly used game apps in the Android open market to analyse the event pattern from normal apps and malicious apps of mobile devices that are based on the Android platform, and analysed the malicious event pattern from the malicious apps and the disguising malicious apps in the form of a game app among 1260 malware samples distributed by Android MalGenome Project. As described, experiment that extracts normal app and malicious app events was performed using Strace, the Linux-based system call extraction tool, targeting normal apps and malicious apps on Android-based mobile devices. Relevance analysis for each event set was performed on collected events that occurred when normal apps and malicious apps were running. This paper successfully extracted event similarity through this process of analyzing the event occurrence characteristics, pattern and distribution on each set of normal apps and malicious apps, and lastly suggested a mechanism that determines whether any given app is malicious.