4.6. 导向策略

4.6.1. 覆盖率导向

在生成或变异的过程中,为了能更有效的Fuzz,通常会使用导向性的策略,比如基于覆盖率的导向性策略等。

导向性Fuzz最开始由AFL提出,其对样本执行后的覆盖率进行统计,找到变异后对覆盖率影响较大的字节,更多的对其进行测试,来实现更高效的变异。

而后逐渐引入了基于机器学习的方式,比如基于随机下降算法的覆盖率导向方式、基于进化算法的覆盖率导向方式等来实现更高效的导向。

4.6.2. Patch Based

除了覆盖率导向,也有基于补丁分析的模糊测试方式。