HOME > 상세정보

상세정보

PFUZZ : PoC-guided greybox file fuzzing

PFUZZ : PoC-guided greybox file fuzzing

자료유형
학위논문
개인저자
성강모, 成康模
서명 / 저자사항
PFUZZ : PoC-guided greybox file fuzzing / Gang Mo Seong
발행사항
Seoul :   Graduate School, Korea University,   2020  
형태사항
30장 : 도표 ; 26 cm
기타형태 저록
PFUZZ: PoC-guided Greybox File Fuzzing   (DCOLL211009)000000232148  
학위논문주기
학위논문(석사)-- 고려대학교 대학원: 컴퓨터·전파통신공학과, 2020. 8
학과코드
0510   6D36   1116  
일반주기
지도교수: 이희조  
서지주기
참고문헌: 장 27-30
이용가능한 다른형태자료
PDF 파일로도 이용가능;   Requires PDF file reader(application/pdf)  
비통제주제어
Software Testing,,
000 00000nam c2200205 c 4500
001 000046048435
005 20200918174913
007 ta
008 200706s2020 ulkd bmAC 000c eng
040 ▼a 211009 ▼c 211009 ▼d 211009
041 0 ▼a eng ▼b kor
085 0 ▼a 0510 ▼2 KDCP
090 ▼a 0510 ▼b 6D36 ▼c 1116
100 1 ▼a 성강모, ▼g 成康模
245 1 0 ▼a PFUZZ : ▼b PoC-guided greybox file fuzzing / ▼d Gang Mo Seong
260 ▼a Seoul : ▼b Graduate School, Korea University, ▼c 2020
300 ▼a 30장 : ▼b 도표 ; ▼c 26 cm
500 ▼a 지도교수: 이희조
502 0 ▼a 학위논문(석사)-- ▼b 고려대학교 대학원: ▼c 컴퓨터·전파통신공학과, ▼d 2020. 8
504 ▼a 참고문헌: 장 27-30
530 ▼a PDF 파일로도 이용가능; ▼c Requires PDF file reader(application/pdf)
653 ▼a Software Testing
776 0 ▼t PFUZZ: PoC-guided Greybox File Fuzzing ▼w (DCOLL211009)000000232148
900 1 0 ▼a Seong, Gang Mo, ▼e
900 1 0 ▼a 이희조, ▼e 지도교수
945 ▼a KLPA

전자정보

No. 원문명 서비스
1
PFUZZ : PoC-guided greybox file fuzzing (25회 열람)
PDF 초록 목차

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/학위논문서고/ 청구기호 0510 6D36 1116 등록번호 123064858 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/학위논문서고/ 청구기호 0510 6D36 1116 등록번호 123064859 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

초록

파일 퍼징은 샘플 입력 파일과 그 구조 정보를 이용하여 테스트 중인 프로그램에서 취약 점을 찾는 것을 돕는다. 파일 퍼징 접근법 중, ”그레이박스” 퍼징은 커버리지 정보(커버리지 기반 퍼징)나 대상의 정보(디렉티드 퍼징)를 대상의 실행을 유도하는데 사용한다. 그러나 커버리지 기반 퍼징은 소프트웨어 취약점이 소프트웨어 내에 불균형하게 분포되어 있다는 특징 때문에 중복 실행이 발생하게 된다. 디렉티드 퍼징은 탐색 공간에서 흥미로운 부분에 집중함으로써 중복성을 줄인다.
하지만 디렉티드 퍼징은 성능을 최대화하기 위해 대상에 대한 지식을 요구한다. 이는 테스터의 프로그램 분석능력에 의존하며 이로 인해 퍼저의 확장성이 저해될 수 있다. 우리는 프로그램 분석 없이 퍼징 방향을 유도하는 디렉티드 퍼징 기법인 PFUZZ를 제안한다. PFUZZ는 일반 파일 외에도 proof-of-concept (PoC) 파일을 초기 퍼징 입력으로 사용하고 우선 순위 예약 알고리즘에 따라 이후 입력을 선택한다. GIF, PDF, JPEG 파일을 사용하여 실험한 결과에 따르면 PoC파일은 취약한 대상으로 퍼징을 효과적으로 유도할 수 있다. 다른 최근의 커버리지 기반 파일 퍼징 기법들과 비교했을 때, PFUZZ는 2.7배에서 4.5배 더 많은 버그를 발견하였다.

File fuzzing helps detect vulnerabilities in a program under test (PUT) using sampled input files with their structural information. Among file fuzzing approaches, ”greybox” fuzzing utilizes coverage information (coverage-based fuzzing) or target information (directed fuzzing) to guide the testing execution. However, coverage-based fuzzing suffers from redundant executions because of the property of software vulnerabilities that are non-uniformly distributed in software. Directed fuzzing reduces redundancies by focusing on interesting targets in a search space. Still, directed fuzzing requires knowledge of setting targets to maximize performance, which relies on the testers’ program analysis abilities and can harms scalability of the fuzzer. Here, we present PFUZZ, which is a directed file fuzzing method that guides fuzzing direction without program analysis. PFUZZ uses proof-of-concept (PoC) files in addition to regular files as the initial fuzzing inputs and selects future inputs based on a priority scheduling algorithm. The experimental results using GIF, PDF, and JPEG files show that PoC files can effectively direct fuzzing execution at vulnerable targets. The comparative evaluation shows that PFUZZ found 2.7-4.5-fold more bugs than the latest coverage-based file fuzzing methods

목차

1 Introduction                                                                                      1
1.1 Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              1
1.2 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           3
1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          3
2 Motivation 5
2.1 Former Researches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        5
2.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       6
3 Proposed Method 8
3.1 Terms and Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         8
3.2 Input Set Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        9
3.3 Input Set Ratio Selection . . . . . . . . . . . . . . . . . . . . . . . . . . .       11
3.4 Input Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         11
4 PFUZZ Overview 14
4.1 PoC crawler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           14
4.2 Fuzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             15
4.3 Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            15
5 Evaluation 16
5.1 Environmental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      16
5.2 Result of Fuzzing Campaign . . . . . . . . . . . . . . . . . . . . . . . . . .   17
5.3 Comparison with Other Fuzzers . . . . . . . . . . . . . . . . . . . . . . . . 20
5.4 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            21
5.4.1 Segmentation Fault in nextLWZ() Function . . . . . . . . . . . .     21
5.4.2 Global Buffer Overflow in nextCode() . . . . . . . . . . . . . . .       22
6 Conclusion 24
7 Related Work 25
7.1 Blackbox Fuzzing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        25
7.2 Whitebox Fuzzing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         26
7.3 Greybox Fuzzing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         26
Bibliography                                                                                         27