【技术实现步骤摘要】
一种基于AFL的模糊测试变异方法和装置
本专利技术涉及模糊测试
,尤其涉及一种基于AFL的模糊测试变异方法和装置。
技术介绍
信息时代到来,各种各样的软件层出不穷,但软件质量无法保证。如何高效快速地找到相关软件中的漏洞成了产业界和学术界攻克和研究的重点难题。模糊测试作为漏洞挖掘的一种主流技术,由于其使用简单、漏洞挖掘效率高、环境适应能力强等特点,因此备受关注。模糊器AFL是2013年由Google安全工程师MichalZalewski开发的一款开源模糊测试工具,AFL是AmericanFuzzyLop的简写,其具有较低的性能消耗,可以高效地挖掘可能存在的安全漏洞。AFL的核心技术在于测试用例变异阶段。变异是通过对测试用例的每个bit、每个byte、每个word以及每个dword的增、删、改操作,得到新测试用例的方法。AFL通过对初始测试用例进行变异得到大量新的测试用例,而新的测试用例是否用于后续变异的关键在于其是否能够发现新的路径,新路径的发现通过收集的覆盖信息进行判定。图1是AFL的具体实施过程。如图所示,AFL维护了一个测试用例队列,每次从该队列中取出一 ...
【技术保护点】
1.一种基于AFL的模糊测试变异方法,其特征在于,包括:在AFL的确定性变异阶段确定测试用例的有效字节;在确定性变异阶段,根据所述有效字节的信息确定变异字节,不变异全无效字节;在破坏性变异阶段,根据所述有效字节的信息指导变异,如果当前随机选择的字节是有效字节,则一定变异;否则给予小概率变异。
【技术特征摘要】
1.一种基于AFL的模糊测试变异方法,其特征在于,包括:在AFL的确定性变异阶段确定测试用例的有效字节;在确定性变异阶段,根据所述有效字节的信息确定变异字节,不变异全无效字节;在破坏性变异阶段,根据所述有效字节的信息指导变异,如果当前随机选择的字节是有效字节,则一定变异;否则给予小概率变异。2.如权利要求1所述的方法,其特征在于,所述确定测试用例的有效字节为:在AFL的确定性变异阶段的bitfip阶段收集;在该bitfip阶段对测试用例i的全部字节逐一进行翻转生成测试用例i′,如果测试用例i′触发新的路径,则认为被翻转的字节是有效字节;统计有效字节,并维护在有效字节表中;在变异时,利用有效字节表识别有效字节。3.如权利要求2所述的方法,其特征在于,在确定有效字节时,当测试用例小于128字节,或者测试用例中有效字节比例超过一定的数值,那么认为测试用例的所有字节都是有效字节。4.如权利要求1所述的方法,其特征在于,在确定性变异阶段,所述根据所述有效字节的信息确定变异字节为:AFL初步确定出待变异字节,根据所述有效字节的信息判断待变异字节是否为全无效字节,如果是,则忽略对待变异字节的变异;否则,将待变异字节确定为变异字节。5.一种基于AFL的模糊测试变异装置,其特征...
【专利技术属性】
技术研发人员:马锐,王夏菁,李斌斌,薛静锋,田东海,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。