Coverage-based greybox fuzzing (CGF) has been approved to be effective in finding security vulnerabilities. Seed scheduling, the process of selecting an input as the seed from the seed pool for the next fuzzing iteration, plays a central role in CGF. Although numerous seed scheduling strategies have been proposed, most of them treat these seeds independently and do not explicitly consider the relationships among the seeds. In this study, we make a key observation that the relationships among seeds are valuable for seed scheduling. We design and propose a "seed mutation tree" by investigating and leveraging the mutation relationships among seeds. With the "seed mutation tree", we further model the seed scheduling problem as a Monte-Carlo Tree Search (MCTS) problem. That is, we select the next seed for fuzzing by walking this "seed mutation tree" through an optimal path, based on the estimation of MCTS. We implement two prototypes, AlphaFuzz on top of AFL and AlphaFuzz++ on top of AFL++. The evaluation results on three datasets (the UniFuzz dataset, the CGC binaries, and 12 real-world binaries) show that AlphaFuzz and AlphaFuzz++ outperform state-of-the-art fuzzers with higher code coverage and more discovered vulnerabilities. In particular, AlphaFuzz discovers 3 new vulnerabilities with CVEs.
翻译:以覆盖为基础的灰色信箱 forzz (CGF) 已被批准为有效查找安全脆弱性。 种子时间安排, 选择一个输入作为种子库种子的种子, 用于下一个模糊迭代的种子种子种子种子, 在CGF 中扮演了中心角色。 虽然提出了许多种子时间安排战略, 但大多数种子都独立处理这些种子, 没有明确考虑种子之间的关系。 在这次研究中, 我们得出一个关键观察, 种子之间的关系对于种子时间安排很有价值 。 我们设计并提议一个“ 种子突变树 ”, 通过调查并利用种子之间的突变关系来“ 种子树 ” 。 我们用“ 种子突变树 ” 将种子时间安排问题作为种子种子种子种子种子种子种子种子种子种子的种子种子种子, 在CFGF中扮演一个中心。 我们根据对 MCTS 的估计, 我们选择下一个种子的种子关系对种子计划很有价值。 我们使用两种原型, 在 AFL 和 Alphal Fuzz +++ 上方, 我们设计和提出“ ” 。 三个数据集的评价结果( UnifelFzz 数据集、 Cal- binzz- binfrofrod- fleval code) 和新版本, 和新版本, II- fal- fleval- develview coilveilveilve