201. INSTRCR: Lightweight instrumentation optimization based on coverage-guided fuzz testing
- Author
-
Yu Zhu Ren, Wei Yu Dong, and Cao Zhang
- Subjects
Computer engineering ,Computer science ,Indirect branch ,Basic block ,Code coverage ,Overhead (computing) ,Control flow graph ,Instrumentation (computer programming) ,Fuzz testing ,Static analysis - Abstract
In Fuzzing facing binary coverage, the main role of instrumentation is feedback code coverage (in the case of Fuzz for binary, instrumentation can provide coverage information, which plays an important role in guiding the operation of seeds in Fuzz) . The current instrumentation optimization technique mainly relies on the control flow graph (CFG) to select key basic blocks at the basic block level, but the accuracy of this method is not high enough. Considering that the actual path in the actual operation of the binary may be different from the CFG generated in advance, this paper is based on the indirect jump that cannot be accurately analyzed in the CFG, and some of the basic blocks that can be optimized for high-frequency interpolation. According to the algorithm proposed in this paper, The combination of static analysis and dynamic analysis is used to continuously adjust and select key basic block nodes for instrumentation. It is verified by experiments that this kind of instrumentation method can effectively improve the coverage rate and reduce the overhead, and provide effective guidance for Fuzzing, which can effectively reduce the Fuzzer’s false negatives.
- Published
- 2019