GRLfuzz: Gan-Powered Fuzzing Based on Deep Reinforcement Learning
摘要
Nowadays, more and more fuzzing techniques are being combined with deep learning, especially reinforcement learning. While reinforcement learning makes the mutation algorithm in fuzzing smarter, it still remain blind because of the lack of input format information. Meanwhile, traditional fuzzing often selects the mutation seed randomly or sequentially, which makes it hard to concentrate on more valuable seeds. As a result, it is challenging to achieve higher code coverage. To mitigate these problems, this paper proposes a new fuzzer named GRLfuzz, a gan-powered fuzzing based on deep reinforcement learning. We use generative adversarial networks to learn the format structures in seeds and then provide high-quality seeds. We add seed selection to the action space of reinforcement learning so that the agent can learn from the execution of historical seeds and prioritize the use of seed with higher coverage. The seeds selected from the agent with higher rewards are re-fed into the generative adversarial networks to further generate seeds that are more capable of triggering higher reward. Experimental results show that GRLfuzz outperforms AFL on format-specific programs with 81% to 145% better coverage and better Test Case Recept Rate.