[논문 리뷰] Android Malware Detection using Markov Chain Model of Application Behaviors in Requesting System Services
이 논문은 마르코프 체인을 통한 시스템 서비스 요청의 행동 모델링을 통해 경량의 호스트 기반 안드로이드 악성코드 탐지 시스템인 ServiceMonitor를 제안한다. 세분화된 서비스 접근 패턴을 분석하고 랜덤 포레스트를 통해 분류함으로써 모바일 디바이스에서 최소한의 성능 오버헤드로 96%의 정확도를 달성한다.
Widespread growth in Android malwares stimulates security researchers to propose different methods for analyzing and detecting malicious behaviors in applications. Nevertheless, current solutions are ill-suited to extract the fine-grained behavior of Android applications accurately and efficiently. In this paper, we propose ServiceMonitor, a lightweight host-based detection system that dynamically detects malicious applications directly on mobile devices. ServiceMonitor reconstructs the fine-grained behavior of applications based on a novel systematic system service use analysis technique. Using proposed system service use perspective enables us to build a statistical Markov chain model to represent what and how system services are used to access system resources. Afterwards, we consider built Markov chain in the form of a feature vector and use it to classify the application behavior into either malicious or benign using Random Forests classification algorithm. ServiceMonitor outperforms current host-based solutions with evaluating it against 4034 malwares and 10024 benign applications and obtaining 96\% of accuracy rate and negligible overhead and performance penalty.
연구 동기 및 목표
- Binder IPC 메커니즘으로 인해 의미 있는 행동을 포착하지 못하는 기존 호스트 기반 악성코드 탐지 시스템이 시스템 호출 수준 분석에 의존하는 한계를 해결하기 위해.
- 오브스컬레이션에 취약하고 네이티브 코드 또는 런타임 로드된 컴포넌트를 분석할 수 없는 정적 분석의 단점을 극복하기 위해.
- 시스템 서비스 사용 패턴을 의미 수준에서 분석하여 실시간으로 모바일 디바이스에서 직접 작동하는 동적이고 가벼우며 정확한 탐지 프레임워크를 개발하기 위해.
- 행동 시퀀스를 마르코프 체인으로 모델링하여 루팅된 안드로이드 디바이스에서 효과적인 악성코드 탐지를 가능하게 하기 위해.
- 시스템 서비스 상호작용의 체계적 분석을 통해 응용프로그램의 고수준 행동 의미를 포착하여 탐지 정확도를 향상시키기 위해.
제안 방법
- Binder IPC 메커니즘을 통해 시스템 서비스 요청을 동적으로 모니터링하고 로깅하기 위해 커널에 커스터마이징 모듈을 통합한다.
- 응용프로그램 실행 중 시스템 서비스에 대한 함수 호출 시퀀스(예: getService, getRunningAppProcesses)를 추출한다.
- 각 상태가 특정 시스템 서비스 함수를 나타내고 전이가 접근 순서를 나타내는 일계 마르코프 체인으로 시스템 서비스 요청 시퀀스를 모델링한다.
- 마르코프 체인을 전이 확률과 서비스 접근 빈도를 인코딩한 특징 벡터로 변환하여 분류에 활용한다.
- 라벨이 부여된 데이터셋을 사용하여 악성 및 양성 응용프로그램을 구분하기 위해 랜덤 포레스트 분류기를 훈련시킨다.
- 외부 클라우드 서비스에 의존하지 않고 실시간으로 디바이스 내 행동 분석이 가능한 루팅된 안드로이드 디바이스에 시스템을 구현한다.
실험 결과
연구 질문
- RQ1시스템 서비스 사용 패턴을 마르코프 체인으로 효과적으로 모델링하여 안드로이드에서 세분화된 응용프로그램 행동을 표현할 수 있는가?
- RQ2저수준의 시스템 호출을 넘어서 시스템 서비스 수준에서 행동을 모델링하면 디바이스 내 악성코드 탐지 정확도가 향상되는가?
- RQ3가벼운 호스트 기반 탐지 시스템이 모바일 디바이스에서 낮은 성능 오버헤드를 유지하면서도 높은 정확도를 달성할 수 있는가?
- RQ4악성 응용프로그램의 시스템 서비스 접근 패턴은 빈도, 다양성, 순서 측면에서 양성 응용프로그램과 어떻게 다를까?
- RQ5기존의 시스템 호출 기반 분석을 회피하는 고급 악성코드 패밀리에 대해 제안된 방법이 어느 정도 탐지 가능한가?
주요 결과
- ServiceMonitor는 4,034개의 악성코드 샘플과 10,024개의 양성 응용프로그램을 포함한 데이터셋에서 평가한 결과 96%의 탐지 정확도를 달성했다.
- 악성 응용프로그램은 평균적으로 실행 중 38회의 시스템 서비스 요청을 하였고, 반면 양성 응용프로그램는 12회 미만이었으며, 이는 훨씬 더 높은 서비스 활용도를 나타낸다.
- 17%의 악성코드 샘플이 통신 서비스에 접근하여 잠재적인 재정적 부담을 유발했고, 데이터셋 내 어떤 양성 응용프로그램에서도 이러한 행동을 보이지 않았다.
- 12%의 악성코드 샘플이 GPS/위치 서비스에 접근한 반면, 양성 앱의 7%에서만 관찰되어 추적 악성코드와 강한 상관관계를 보였다.
- 16%의 악성 앱이 getInstalledPackages()를 호출하여 설치된 패키지를 나열했고, 반면 양성 앱의 1%에서만 관찰되어 탐지 행동을 나타냈다.
- 5.7%의 악성코드 샘플이 getMemoryInfo()를 통해 메모리 정보에 접근한 반면, 양성 앱의 0.7%에서만 관찰되어 자원 모니터링 또는 분석 회피 전략을 시도한 것으로 추정된다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.