arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2008.01150cs.SE
收藏

基于进化文法的模糊算法

Evolutionary Grammar-Based Fuzzing

Martin Eberlein, Yannic Noller, Thomas Vogel, Lars Grunske

摘要:

模糊器向目标软件提供随机生成的输入以暴露错误行为。为了有效地检测缺陷,生成的输入应该符合输入格式的结构,因此,可以使用语法来生成语法正确的输入。在这种情况下,模糊化可以由附加到语法中的竞争规则的概率来指导,从而产生了基于概率语法的模糊化的想法。然而,最佳分配的概率,以个人的语法规则,以有效地暴露错误的行为,为个别系统的测试是一个开放的研究问题。在本文中,我们提出了EvoGFuzz,一个进化的基于语法的模糊方法来优化概率,以生成可能更有可能触发异常行为的测试输入。评估结果表明,EvoGFuzz在检测缺陷的有效性相比,基于概率语法的模糊(基线)。应用于10个具有常见输入格式(JSON,JavaScript或CSS3)的真实世界应用程序,评估显示EvoGFuzz对所有受试者的中位数覆盖率比基线高出48%。此外,EvoGFuzz成功地暴露了11个独特的缺陷,其中5个没有被基线检测到。

英文摘要:

A fuzzer provides randomly generated inputs to a targeted software to expose erroneous behavior. To efficiently detect defects, generated inputs should conform to the structure of the input format and thus, grammars can be used to generate syntactically correct inputs. In this context, fuzzing can be guided by probabilities attached to competing rules in the grammar, leading to the idea of probabilistic grammar-based fuzzing. However, the optimal assignment of probabilities to individual grammar rules to effectively expose erroneous behavior for individual systems under test is an open research question. In this paper, we present EvoGFuzz, an evolutionary grammar-based fuzzing approach to optimize the probabilities to generate test inputs that may be more likely to trigger exceptional behavior. The evaluation shows the effectiveness of EvoGFuzz in detecting defects compared to probabilistic grammar-based fuzzing (baseline). Applied to ten real-world applications with common input formats (JSON, JavaScript, or CSS3), the evaluation shows that EvoGFuzz achieved a significantly larger median line coverage for all subjects by up to 48% compared to the baseline. Moreover, EvoGFuzz managed to expose 11 unique defects, from which five have not been detected by the baseline.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑