안드로이드 악성코드 분류를 위한 Flow Analysis기반의 API 그룹화 및 빈도 분석 기법

Vol. 29, No. 6, pp. 1235-1242, 12월. 2019
10.13089/JKIISC.2019.29.6.1235, Full Text:
Keywords: Android Malware, Malware classification, Feature selection, API grouping, flow analysis
Abstract

본 논문에서는 머신러닝 기반의 악성코드 분류에 있어 오버피팅 문제를 비롯하여 실제로 실행되지 않는 코드가APK에 포함되는 문제 등을 해결하기 위해 모든 API들의 연관성을 통해 그룹화하며, 제어 흐름 분석을 통해 실제로실행되는 코드에 대한 분석을 수행하는 툴을 개발하였다. 툴은 약 1,500라인으로 이루어진 자바 기반의 소프트웨어로, 전체 API에 대한 빈도 분석을 수행하거나 생성된 제어 흐름 그래프를 바탕으로 빈도 분석을 수행한다. 툴을 이용하여 모든 버전에서의 총 39032개의 메서드에 대해 4972개의 그룹으로 축소할 수 있으며, 클래스를 포함한 결과로는 총 12123개의 그룹으로 축소할 수 있다. 결과 분석을 위해서 본 논문에서는 총 7개의 패밀리에서 7,000개의APK를 랜덤으로 수집하였으며, 수집된 APK를 이용하여 feature를 축소하는 기법을 검증하였다. 또한, 추출된 데이터에서 빈도가 20% 이상으로 나타난 API만을 선별하여 feature를 더욱 축소하여 최종적으로 263개의 feature로 축소하였다.

Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from December 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
심현석, 박정수, 단티엔북, 정수환, "API Grouping Based Flow Analysis and Frequency Analysis Technique for Android Malware Classification," Journal of The Korea Institute of Information Security and Cryptology, vol. 29, no. 6, pp. 1235-1242, 2019. DOI: 10.13089/JKIISC.2019.29.6.1235.

[ACM Style]
심현석, 박정수, 단티엔북, and 정수환. 2019. API Grouping Based Flow Analysis and Frequency Analysis Technique for Android Malware Classification. Journal of The Korea Institute of Information Security and Cryptology, 29, 6, (2019), 1235-1242. DOI: 10.13089/JKIISC.2019.29.6.1235.