HOME > Detail View

Detail View

PFUZZ : PoC-guided greybox file fuzzing

PFUZZ : PoC-guided greybox file fuzzing

Material type
학위논문
Personal Author
성강모, 成康模
Title Statement
PFUZZ : PoC-guided greybox file fuzzing / Gang Mo Seong
Publication, Distribution, etc
Seoul :   Graduate School, Korea University,   2020  
Physical Medium
30장 : 도표 ; 26 cm
기타형태 저록
PFUZZ: PoC-guided Greybox File Fuzzing   (DCOLL211009)000000232148  
학위논문주기
학위논문(석사)-- 고려대학교 대학원: 컴퓨터·전파통신공학과, 2020. 8
학과코드
0510   6D36   1116  
General Note
지도교수: 이희조  
Bibliography, Etc. Note
참고문헌: 장 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

Electronic Information

No. Title Service
1
PFUZZ : PoC-guided greybox file fuzzing (25회 열람)
View PDF Abstract Table of Contents

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Stacks(Thesis)/ Call Number 0510 6D36 1116 Accession No. 123064858 Availability Available Due Date Make a Reservation Service B M
No. 2 Location Science & Engineering Library/Stacks(Thesis)/ Call Number 0510 6D36 1116 Accession No. 123064859 Availability Available Due Date Make a Reservation Service B M

Contents information

Abstract

파일 퍼징은 샘플 입력 파일과 그 구조 정보를 이용하여 테스트 중인 프로그램에서 취약 점을 찾는 것을 돕는다. 파일 퍼징 접근법 중, ”그레이박스” 퍼징은 커버리지 정보(커버리지 기반 퍼징)나 대상의 정보(디렉티드 퍼징)를 대상의 실행을 유도하는데 사용한다. 그러나 커버리지 기반 퍼징은 소프트웨어 취약점이 소프트웨어 내에 불균형하게 분포되어 있다는 특징 때문에 중복 실행이 발생하게 된다. 디렉티드 퍼징은 탐색 공간에서 흥미로운 부분에 집중함으로써 중복성을 줄인다.
하지만 디렉티드 퍼징은 성능을 최대화하기 위해 대상에 대한 지식을 요구한다. 이는 테스터의 프로그램 분석능력에 의존하며 이로 인해 퍼저의 확장성이 저해될 수 있다. 우리는 프로그램 분석 없이 퍼징 방향을 유도하는 디렉티드 퍼징 기법인 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

Table of Contents

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