표제지
목차
국문초록 8
ABSTRACT 9
제1장 서론 11
1.1. 연구 배경 및 목적 11
1.2. 연구 방법 및 구성 12
제2장 관련 연구 13
2.1. 실시간 처리와 Apache Spark 13
2.2. 기존 안드로이드 악성코드 탐지에 관한 연구 15
제3장 실시간 악성코드탐지시스템 20
3.1. 감시부(Monitoring Part) 21
3.1.1. 모니터링 애플리케이션 21
3.1.2. 추출 데이터 항목 23
3.2. 수집부(Collecting Part) 25
3.3. 탐지부(Detecting Part) 27
3.3.1. 데이터 전처리 28
3.3.2. 탐지활동 31
3.4. 알림부(Notification Part) 31
제4장 실험 및 결과 33
4.1. 데이터 셋 33
4.2. K값과 임계값(Threshold) 선택하기 34
4.3. 실제 스트리밍 데이터 분석을 통한 시스템 성능 측정 37
제5장 결론 41
참고문헌 42
[표 2-1] 기존의 행위기반 악성코드 탐지에 관한 연구 15
[표 3-1] 구성요소 별 개발환경 및 사용 시스템 정보 21
[표 3-2] 모니터링 애플리케이션에서 송신하는 데이터 항목 24
[표 3-3] MongoDB 모니터링 데이터 저장 스키마 26
[표 3-4] Process status의 전처리 29
[표 3-5] 선정된 퍼미션 항목 29
[표 4-1] 안드로이드 정상 애플리케이션(Benign Applications) 33
[표 4-2] 안드로이드 악성코드(Malicious Applications) 34
[표 4-3] 데모 시스템 사양 정보 38
[표 4-4] 성능 측정 결과 39
[그림 2-1] Apache Spark 지원 프레임워크 14
[그림 2-2] Burguera, I. 외 연구(2011)의 악성코드 탐지 프로세스 16
[그림 2-3] 민승욱 외 연구(2013)의 기계학습 기법 적용 방안 16
[그림 2-4] 김기현 외 연구(2014)의 악성코드 탐지 시스템 구조 17
[그림 2-5] Narudin, F. A. 외 연구(2016)의 실험 Work flow structure 18
[그림 3-1] 실시간 악성코드탐지시스템 구성도 20
[그림 3-2] 안드로이드 모니터링 애플리케이션 주요 화면 22
[그림 3-3] 안드로이드 모니터링 애플리케이션 옵션 화면 23
[그림 3-4] 탐지부의 작업 사이클 27
[그림 3-5] 전처기 전의 모니터링 데이터 샘플 30
[그림 3-6] 전처리된 데이터 샘플 30
[그림 3-7] 안드로이드 디바이스에서의 악성코드 경고 알림 메시지 32
[그림 4-1] K값 선택하기 35
[그림 4-2] 히스토그램(모니터링 데이터의 유클리디안 거리) 36
[그림 4-3] 자연로그를 취한 히스토그램 37
[그림 4-4] 애플리케이션별 모니터링 데이터와 클러스터 도심 간의... 39