浅谈模糊测试中的变异策略

发布于 2022-05-13  1128 次阅读


模糊测试中的变异策略是模糊测试的核心技术之一,目的是为了在模糊测试中生成模糊数据,并用这些模糊数据对目标系统开展模糊测试。
选取合适的变异策略,可以让恶意程序在二进制数据流层上有更加显著的变化,在保持恶意性的前提下,将更加有效地规避人工智能模型的检测,进而更有可能成为对抗性恶意样本。变异策略的效果越好,生成的对抗性样本的丰富性更强。
在向恶意代码中输入随机的数据用于变异时,需要考虑恶意程序本身恶意性的维持问题,这导致输入进程序的数据不能是完全地不加考虑的随机数据,变异数据本身的内容需要得到关注。
我们使用七种二进制程序变异策略,分别是OA(Overlay Append,附加数据)、SP(Section Append,节附加内容)、SA(Section Add,新增节)、SR(Section Rename,重命名节)、RC(Remove Certification,移除证书)、RD(Remove Debug,移除调试功能)、BC(Break Checksum,校验和失效)。这七种变异策略产生三方面的影响,分别是对哈希签名、基于规则的签名和数据分布特征产生影响,从而增强变异后的对抗样本的隐蔽性。

对于Windows系统上的PE文件,这类变异方法可以很好地针对其进行变异。