多少次模糊测试就足够了?
信息安全
应用安全
自动化测试
模糊测试
2021-08-16 12:56:51
1个回答
我没有给你的数字,也没有具体的指导方针,但我认为需要指出但在这些链接中没有充分强调的一个重要问题是代码覆盖率。
从代码路径的角度来看,如果它们都是相似的,那么运行大量的模糊迭代是没有意义的。
也就是说,“dumb fuzzing”可能会生成许多不同的输入(文件/网络/RPC/其他),它们看起来完全不同,但对代码都有相同的影响,导致程序采用相同的代码路径。显然,这不是很有效。
微软还开发了实现“智能模糊测试”的内部工具(我知道 FuzzGuru)。(参见几年前讨论它的这个谈话)。这使 MS 能够以更少的迭代次数(当然是非正式的)运行更有效的模糊测试——仅仅是因为它们可以确保每次迭代的代码覆盖率更高。
在任何情况下,结合代码覆盖工具进行模糊测试(无论是“智能”还是“愚蠢”)都很重要,以确保您从模糊测试工作中获得适当的价值。