표제지
목차
논문요약 9
제1장 서론 10
1. 연구의 목적 10
제2장 딥러닝 및 기계학습 이론 12
1. 인공신경망 12
1) 퍼셉트론(Perceptron) 13
2) 다층 퍼셉트론(Multi-layer Perceptron) 14
3) 비용함수(Cost Function) 15
4) 활성화함수(Activation Function) 16
5) 경사하강법(Grdient Descent) 17
6) 역전파(Backpropagation) 학습 17
2. 합성곱신경망(Convolutional Neural Network) 19
1) 합성곱층(Convolutional Layer) 20
2) 풀링층(Pooling Layer) 20
3. Word2Vec 22
1) CBOW(Continuous Bag of Words) 모델 23
2) Skip-Gram 모델 24
4. Bag of Words 25
5. 기계학습 모델 26
1) 지도 학습(Supervised Learning) 26
2) 비지도 학습(Unsupervised Learning) 27
제3장 기존 악성코드 탐지기술 연구 28
1. 악성코드 특징 추출 28
1) 바이트코드(Bytecode), 오피코드(Opcode), N-gram 29
2) API 29
3) 콜 그래프(Call Graph) 30
4) 엔트로피(Entropy) 30
5) 문자열 31
2. 악성코드 분석 방법 32
1) 정적분석 방법 32
2) 동적분석 방법 33
3. 유사도를 이용한 악성코드 변종 탐지 34
4. 딥러닝 기반 악성코드 탐지 35
5. 악성코드 탐지 성능 측정 36
제4장 제안하는 악성코드 탐지 기법 37
1. 실험 환경 38
2. 샘플 파일 수집 39
3. 특징 값(Feature) 생성 40
1) 실행파일 이미지화(Visualization) 40
2) API 특징 생성 43
3) Bag of Words 생성 49
4. 혼합 학습 모델 50
5. 실험 결과 53
제5장 결론 58
참고문헌 59
ABSTRACT 63
[표 2-1] 주요 활성화 함수 16
[표 2-2] 지도학습 주요 분류 알고리즘 26
[표 3-1] 악성코드 탐지 성능 측정 방법 요약 36
[표 4-1] 실험 환경 요약 38
[표 4-2] 샘플 파일 요약 39
[표 4-3] 이미지 변환 실험 결과 41
[표 4-4] 실행파일 이미지 변환 Pseudo 코드 41
[표 4-5] API 벡터 유사도 계산 결과 46
[표 4-6] API 벡터 추론 연산 결과 46
[표 4-7] 샘플파일로부터 API 시퀀스 추출 결과 48
[표 4-8] K-means 클러스터링 결과 49
[표 4-9] 학습 파라메터 51
[표 4-10] 전체 실험 결과 53
[표 4-11] 기계학습 모델과의 비교실험 결과 56
[표 4-12] 실험과 동일 샘플을 이용한 국내외 백신 진단율 57
[그림 2-1] 퍼셉트론 모델 도식도 13
[그림 2-2] 다층 퍼셉트론 15
[그림 2-3] 합성곱신경망 19
[그림 2-4] 합성곱 연산 20
[그림 2-5] 풀링 연산 21
[그림 2-6] CBOW 모델 23
[그림 2-7] Skip-Gram 모델 24
[그림 2-8] Bag of Words 기법 적용 과정 25
[그림 3-1] "BinText"에 의한 문자열 추출결과 31
[그림 4-1] 제안하는 악성코드 탐지모델 구성도 37
[그림 4-2] 악성코드 Gray Scale 이미지 42
[그림 4-3] API 특징 생성을 위한 사전 작업 43
[그림 4-4] 악성코드 ".ASM" 파일 생성 예 44
[그림 4-5] API 시퀀스로 구성된 Word2Vec 말뭉치 44
[그림 4-6] Word2Vec 학습 결과(API 벡터) 45
[그림 4-7] T-SNE를 이용한 API의 2차원 표현 47
[그림 4-8] 혼합 학습 신경망 모델 50
[그림 4-9] 전체 실험의 ROC 커브 및 AUC 결과 54
[그림 4-10] 실행파일 추출특징 학습 과정 55
[그림 4-11] 제안모델의 반복학습 그래프 55
[그림 4-12] 기계학습 모델과의 ROC 커브 및 AUC 비교결과 56