표제지
요약
목차
제1장 서론 8
1.1. 연구 배경 및 목적 8
1.2. 연구 범위 및 방법 10
제2장 관련연구 11
2.1. 무기체계 소프트웨어 신뢰성 시험 11
2.2. GAN(Generative Adversarial Networks) 13
2.2.1. GAN 모델의 원리 13
2.2.2. GAN 모델의 분류 17
2.3. 퍼즈 테스팅(Fuzz Testing)과 BFF 퍼저 19
2.3.1. 퍼즈 테스팅 19
2.3.2. BFF(Basic Fuzzing Framework) 퍼저 24
2.3.3. 퍼즈 테스팅에 대한 연구 사례 26
제3장 GAN모델 활용 퍼즈 테스팅 기법 28
3.1. 학습데이터 생성 32
3.2. GAN 모델 학습 및 데이터 생성 34
3.3. 테스트 파일 생성 및 퍼즈 테스팅 36
제4장 실험 및 평가 38
4.1. 학습데이터 생성 40
4.2. GAN 모델 학습 및 퍼즈 테스팅 44
4.3. 기존 방법과의 효율성 비교 47
제5장 결론 49
참고문헌 51
Abstract 56
〈표 2-1〉 GAN 모델의 분류 18
〈표 2-2〉 입력 데이터의 형태에 따른 퍼즈 테스팅 분류 21
〈표 2-3〉 필요한 데이터의 양에 따른 퍼즈 테스팅 분류 21
〈표 2-4〉 테스트 데이터 처리방법에 따른 퍼즈 테스팅 분류 22
〈표 2-5〉 BFF 퍼저 퍼징 기법 25
〈표 4-1〉 실험환경 38
〈표 4-2〉 !exploitable을 통해 분류된 초기퍼징 결과 40
〈표 4-3〉 크래시 누적 횟수 비교 48
〈그림 2-1〉 무기체계 SW 신뢰성시험 11
〈그림 2-2〉 퍼셉트론(Perceptron) 14
〈그림 2-3〉 다층 퍼셉트론(MLP) 14
〈그림 2-4〉 GAN의 구조 15
〈그림 2-5〉 GAN 학습 프로세스 17
〈그림 2-6〉 일반적인 퍼징 프로세스 20
〈그림 2-7〉 Bytemut 퍼즈 테스팅 기법 23
〈그림 2-8〉 Swap 퍼즈 테스팅 기법 23
〈그림 2-9〉 Wave 퍼즈 테스팅 기법 24
〈그림 2-10〉 BEF 퍼즈 테스팅 기법 25
〈그림 3-1〉 무기체계 소프트웨어 시험평가 28
〈그림 3-2〉 제안하는 퍼즈 테스팅 프로세스 30
〈그림 3-3〉 GAN 모델 기반 퍼즈 테스팅 프로세스 31
〈그림 3-4〉 학습데이터 생성 32
〈그림 3-5〉 GAN 모델 학습 및 데이터 생성 35
〈그림 3-6〉 테스트파일 생성 및 퍼즈 테스팅 36
〈그림 4-1〉 BFF 퍼징 결과 로그 기록 41
〈그림 4-2〉 FlexHEX를 사용한 변이 바이트 식별 42
〈그림 4-3〉 파일 영역별 크래시 유발 변이 개수 42
〈그림 4-4〉 파일 세부 영역별 크래시 유발 변이 개수 43
〈그림 4-5〉 original GAN 손실값 그래프 45
〈그림 4-6〉 WGAN 손실값 그래프 45
〈그림 4-7〉 BFF 퍼즈 테스팅 결과 47