The invention discloses a method for determining the number of variation in a fuzzy test, which is suitable for determining the number of variation in the process of AFL destructive mutation. The method calculates the path frequency freq (P) and the effective byte ratio eff (i) of the path P executed by the test case for each test case i, and adjusts the energy allocated to the test case I according to the path frequency freq (P) and the effective byte ratio eff (i). According to the energy mentioned above, the number of variances is determined; the larger the freq (P) of path frequency, the smaller the energy allocated to test case i; and the larger the effective byte ratio eff (i), the greater the energy allocated to test case I. The invention improves the AFL energy distribution, and then improves the determination of the variation number of the fuzzy test, so as to improve the efficiency of the fuzzy test.
【技术实现步骤摘要】
一种模糊测试变异数量确定方法和装置
本专利技术涉及模糊测试
,尤其涉及一种模糊测试变异数量确定方法和装置。
技术介绍
信息时代到来,各种各样的软件层出不穷,但软件质量无法保证。如何高效快速地找到相关软件中的漏洞成了产业界和学术界攻克和研究的重点难题。模糊测试作为漏洞挖掘的一种主流技术,由于其使用简单、漏洞挖掘效率高、环境适应能力强等特点,因此备受关注。模糊器AFL是2013年由Google安全工程师MichalZalewski开发的一款开源模糊测试工具,AFL是AmericanFuzzyLop的简写,其可以高效地挖掘可能存在的安全漏洞,AFL的执行流程图如图1所示。AFL自开源以来,对其的研究和改进相继而出,Marcel等人在AFL的基础上提出了开源工具AFLFast,发现多数的模糊测试用例会触发少数相同的“高频路径”,而那些“低频路径”却鲜少被问津。CarolineLemieux等人在AFL的基础上提出了开源工具FairFuzz,FairFuzz会优先处理那些触发“稀有路径”的测试用例,并通过分支掩码将变异定位到“稀有分支”,以求能够更深入地探索程序。AF ...
【技术保护点】
1.一种模糊测试变异数量确定方法,适用于AFL破坏性变异过程中的变异数量确定,其特征在于,包括:针对每个测试用例i,计算该测试用例所执行路径P的路径频次freq(P)以及有效字节比例eff(i);根据路径频次freq(P)和有效字节比例eff(i)调整分配给测试用例i的能量,根据所述能量确定变异数量;其中,路径频次freq(P)越大,则分配给测试用例i的能量越小;有效字节比例eff(i)越大,则分配给测试用例i的能量越大。
【技术特征摘要】
1.一种模糊测试变异数量确定方法,适用于AFL破坏性变异过程中的变异数量确定,其特征在于,包括:针对每个测试用例i,计算该测试用例所执行路径P的路径频次freq(P)以及有效字节比例eff(i);根据路径频次freq(P)和有效字节比例eff(i)调整分配给测试用例i的能量,根据所述能量确定变异数量;其中,路径频次freq(P)越大,则分配给测试用例i的能量越小;有效字节比例eff(i)越大,则分配给测试用例i的能量越大。2.如权利要求1所述的方法,其特征在于,所述测试用例i的能量energy(i)的计算方式为:其中,β(i)为AFL对测试用例i的原始能量判断,δ为常量,且δ>1。3.如权利要求2所述的方法,其特征在于,如果计算获得的能量energy(i)大于限制值M,则将M作为energy(i)的计算结果。4.如权利要求1所述的方法,其特征在于,所述有效字节比例eff(i)的获取方式为:对测试用例i的全部字节逐一进行翻转生成测试用例i′,如果测试用例i′执行新的路径,则认为被翻转的字节是有效字节;测试用例i的有效字节与该测试用例i总字节的比值即为所述有效字节比例eff(i)。5.如权利要求4所述的方法,其特征在于,所述有效字节的统计在AFL的确定性变异阶段的bitfip阶段完成,并维护一个有效字节表...
【专利技术属性】
技术研发人员:马锐,李斌斌,任帅敏,薛静锋,赵小林,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。