Pusher: an augmented fuzzer based on the connection between input and comparison operand

作者:Bin Zhang, Jiaxi Ye, Ruilin Li, Chao Feng, Yunfei Su, Chaojing Tang

摘要

Coverage based fuzzing is a widespread vulnerability detection technique, and it has exposed many bugs in many real-world programs. However, its attention is to eliminate the testing on the repeated paths, yet it still employs random mutation to generate inputs, which is blind to penetrate complex comparisons in the program. As a result, the testing coverage is limited. Despite some solution proposals are presented, this problem is still partially solved. This paper argues that random mutation is mainly limited by two challenges, the sizable search space and the lack of a useful feedback to direct the search. Then we present an augmented fuzzing technique by addressing these two challenges. First of all, we point out a black relationship between input contents and comparison operands, which is dubbed connection. Second, we present a novel method to collect the comparison operands during execution, which is leveraged to infer the connections. Based on the connections, the fuzzer can learn about which input byte affects on which comparison instruction to establish a smaller search space. Third, the connection provides a useful feedback to direct the search. We resort to a modern metaheuristic algorithm to satisfy this searching requirement.

论文关键词:software safety, software testing, information security, vulnerability, searching

论文评审过程:

论文官网地址:https://doi.org/10.1007/s11704-021-0075-8