In recent years, coverage-based greybox fuzzing has proven itself to be one of the most effective techniques for finding security bugs in practice. Particularly, American Fuzzy Lop (AFL for short) is deemed to be a great success in fuzzing relatively simple test inputs. Unfortunately, when it meets structured test inputs such as XML and JavaScript, those grammar-blind trimming and mutation strategies in AFL hinder the effectiveness and efficiency. To this end, we propose a grammar-aware coverage-based grey-box fuzzing approach to fuzz programs that process structured inputs. Given the grammar (which is often publicly available) of test inputs, we introduce a grammar-aware trimming strategy to trim test inputs at the tree level using the abstract syntax trees (ASTs) of parsed test inputs. Further, we introduce two grammar-aware mutation strategies (i.e., enhanced dictionary-based mutation and tree-based mutation). Specifically, tree-based mutation works via replacing subtrees using the ASTs of parsed test inputs. Equipped with grammar-awareness, our approach can carry the fuzzing exploration into width and depth. We implemented our approach as an extension to AFL, named Superion; and evaluated the effectiveness of Superion on real-life large-scale programs (a XML engine libplist and three JavaScript engines WebKit, Jerryscript and ChakraCore). Our results have demonstrated that Superion can improve the code coverage (i.e., 16.7% and 8.8% in line and function coverage) and bug-finding capability (i.e., 30 new bugs, among which we discovered 21 new vulnerabilities with 16 CVEs assigned and 3.2K USD bug bounty rewards received) over AFL and jsfunfuzz.
Fri 31 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | |||
11:00 20mTalk | SLF: Fuzzing without Valid Seed InputsTechnical TrackIndustry Program Technical Track Wei You Purdue University, Xuwei Liu Zhejiang University, Shiqing Ma Purdue University, USA, David Mitchel Perry Purdue University, Xiangyu Zhang Purdue University, Bin Liang Renmin University of China, China | ||
11:20 20mTalk | Superion: Grammar-Aware Greybox FuzzingTechnical Track Technical Track Junjie Wang Nanyang Technological University, Bihuan Chen Fudan University, Lei Wei Nanyang Technological University, Yang Liu Nanyang Technological University, Singapore | ||
11:40 20mTalk | Grey-box Concolic Testing on Binary CodeTechnical TrackIndustry Program Technical Track Jaeseung Choi KAIST, Joonun Jang Samsung Research, Samsung Electronics, Choongwoo Han NAVER Corporation, Sang Kil Cha KAIST | ||
12:00 20mTalk | REST-ler: Stateful REST API FuzzingTechnical TrackIndustry Program Technical Track Vaggelis Atlidakis Columbia University, Patrice Godefroid Microsoft Research, Marina Polishchuk Microsoft Link to publication | ||
12:20 10mTalk | Discussion Period Papers |