共查询到19条相似文献,搜索用时 187 毫秒
1.
鉴于主流fuzzing(模糊)测试技术生成的测试用例随机性和针对性无法兼顾的问题,提出一种基于漏洞库的fuzzing测试技术.根据漏洞产生的原因和重现的方法对漏洞库进行整理分类,构造出测试用例集用于fuzzing测试.这样生成的测试用例集直接与漏洞相关,具有更强的针对性;同时扩展的测试用例集可以用于检测未知的同类漏洞,覆盖面更广,因此保证了一定的随机性.以ftp服务器测试为例,选取了W indow s平台下的4款ftp服务器进行测试,共发现了3款软件的6个新漏洞,提交Se-curityFocus并通过,其中5个漏洞得到了国际权威漏洞数据库CVE的认可. 相似文献
2.
3.
项巧莲 《数字社区&智能家居》2008,(3):1259-1261
Fuzzing测试是一种自动化发掘软件漏洞的方法,本文讨论了文件格式漏洞利用的现状及Fuzzing测试的研究进展,提出了一个文件格式漏洞Fuzzing测试框架,在FileFuzz的基础上实现了一种文件格式Fuzzing测试工具,可以实现对任意文件格式的测试。并可有效地提高测试效率,最后给出了该工具测试的实例。 相似文献
4.
XIANG Qiao-lian 《数字社区&智能家居》2008,(7)
Fuzzing测试是一种自动化发掘软件漏洞的方法,本文讨论了文件格式漏洞利用的现状及Fuzzing测试的研究进展,提出了一个文件格式漏洞Fuzzing测试框架,在FileFuzz的基础上实现了一种文件格式Fuzzing测试工具,可以实现对任意文件格式的测试,并可有效地提高测试效率,最后给出了该工具测试的实例。 相似文献
5.
6.
7.
邢玉凤 《计算机测量与控制》2014,22(12)
基于网络信息安全漏洞问题越来越受重视,针对漏洞研究中测试代码覆盖率和漏洞挖掘效率问题,设计并实现了基于混合符号执行的Fuzzing测试系统;该系统采用了指令动态追踪、混合符号执行、约束求解、测试用例生成及动态测试5个模块,通过对系统各个环节优化处理提高效率,并实验验证系统代码覆盖率较传统Fuzzing测试工具也有较大提高,得出了该系统能适用于大型应用软件测试的结论。 相似文献
8.
Fuzzing测试是一种基于缺陷注入的自动软件测试技术.近几年来,广泛应用于软件测试、安全漏洞挖掘等领域.Peach 是基于Fuzzing技术实现的跨平台测试框架,具有灵活性、可重用等特点,是Fuzzing测试的代表工具之一.Fuzzing测试要求对测试用例进行优化来提高测试效率,对Peach的样本优化工具minset... 相似文献
9.
为解决软件生产过程中存在的测试时间过长而导致成本急剧增长的问题,针对基于动静结合的Fuzzing方法中存在的缺陷,提出了基于控制依赖路径覆盖的Fuzzing模型。在该模型中,动态测试目标为静态分析提取的脆弱性语句。设计了一种基于两层相似度的适应度函数来指导遗传算法搜索覆盖控制依赖路径的测试用例,并在该测试用例基础上生成Fuzzing测试用例来验证脆弱性语句中的脆弱性,排除误报的脆弱性语句。该模型将有限的测试资源放在最可能出现漏洞的代码上,从而达到在增强Fuzzing方向性并保持高度自动化的同时提高测试效率的目的。 相似文献
10.
11.
软件测试是保障软件质量的常用方法,如何获得高覆盖率是测试中十分重要且具有挑战性的研究问题.模糊测试与符号执行作为两大主流测试技术已被广泛研究并应用到学术界与工业界中,这两种技术都具有一定的优缺点:模糊测试随机变异生成测试用例并动态执行程序,可以执行并覆盖到较深的分支,但其很难通过变异的方法生成覆盖到复杂条件分支的测试用例.而符号执行依赖约束求解器,可以生成覆盖复杂条件分支的测试用例,但在符号化执行过程中往往会出现状态爆炸问题,因此很难覆盖到较深的分支.有工作已经证明,将符号执行与模糊测试相结合可以获得比单独使用模糊测试或者符号执行更好的效果.分析符号执行与模糊测试的优缺点,提出了一种基于分支覆盖将两种方法结合的混合测试方法——Afleer,结合双方优点从而可以生成具有更高分支覆盖率的测试用例.具体来说,模糊测试(例如AFL)为程序快速生成大量可以覆盖较深分支的测试用例,符号执行(例如KLEE)基于模糊测试的覆盖信息进行搜索,仅为未覆盖到的分支生成测试用例.为了验证Afleer的有效性,选取标准程序集LAVA-M以及实际项目oSIP作为评测对象,以漏洞检测能力以及覆盖能力作为评测指标.实验结果表明:(1)在漏洞检测能力上,Afleer总共可以发现755个漏洞,而AFL仅发现1个;(2)在覆盖能力上,Afleer在标准程序集上以及实际项目中都有不同程度的提升.其中,在oSIP中,Afleer比AFL在分支覆盖率上提高2.4倍,在路径覆盖率上提升6.1倍.除此之外,Afleer在oSIP中还检测出一个新的漏洞. 相似文献
12.
针对工控协议Fuzzing测试存在测试脚本编写工作量大、测试用例的覆盖面小、测试效率低等问题,文章提出了一种基于范式语法的工控协议Fuzzing测试方法。方法首先以改进的扩展巴科斯范式(Modified Augmented Backus-Naur Form: MABNF)描述工控协议;然后根据范式语法模型,将报文样本解析为范式语法变异树,进而生成范式语法变异树的描述脚本;文章提出了基于MABNF变异树的测试用例生成算法(MABNF-mutation-tree based Test-cases Generating Method: MTGM),算法先对MABNF变异树进行深度优先遍历,再采用语义变异策略对节点实施变异;最后利用MTGM得到冗余少、有效性高的测试用例集。使用该方法,文章实现了基于Peach的工控协议Fuzzing测试原型系统M-Peach,对供水SCADA系统进行了测试。与Peach的对比实验表明,文章所提出的方法能有效减少测试冗余,提高测试用例集的覆盖面和测试效率。 相似文献
13.
模糊测试(fuzzing)具备自动化程度高、可重现性好及易扩展等特点,是软件漏洞挖掘的有效方法之一。针对其固有的测试盲目性和低效性,一批先进的灰盒模糊测试方法被提出并应用在AFL、AFLFast、Vuzzer等工具中。随着高性能芯片和云计算技术的发展,模糊测试可以充分利用其中蕴含的丰富并行计算能力、通过多实例并行的手段进一步提高单位时间内的综合测试效率,典型的代表如Xu等人提出的多核并行方法、谷歌的ClusterFuzz等。但现有并行模糊测试方法,由于不同测试实例在测试用例生成过程中缺少有效的控制,导致生成的畸形样本冗余高、测试综合覆盖率低等问题。针对该问题,本文提出了一种有效控制多测试实例间模糊测试过程的方案,该方案以变异策略为基本粒度进行并行化,定期同步不同测试实例间的有效畸形样本和优化变异策略应用比例,减少不同测试实例间的测试冗余,提高测试综合覆盖率。本文实现了一个变异策略感知的并行模糊测试框架,并选择AFL作为基本模糊测试器,使用5款开源软件及LAVA-M测试集的实验结果表明,相同测试时间内本文的方法比AFL默认调度方法提高目标覆盖率达132%、发现异常数量最多提高50余倍。 相似文献
14.
针对传统Fuzzing测试应用于工控系统存在测试覆盖率和有效性低、异常监测手段受限等不足,提出了一种基于状态的工控协议Fuzzing测试方法。该方法采用XML脚本对协议状态机进行描述,设计了基于协议状态机的测试序列生成算法PSTSGM,对被测对象进行状态引导以求达到更高的命中率和覆盖率。提出了基于心跳的异常监测与定位方法HFDLM,采用心跳探测和循环定位的方式,对被测嵌入式设备进行异常行为监测和异常用例定位。设计并实现了基于中间人代理的模糊测试原型系统SCADA-Fuzz,对电力SCADA系统进行了测试。实验结果表明,利用状态引导的测试能够有效发现安全漏洞。 相似文献
15.
16.
导向式灰盒模糊测试是一种能够快速对程序指定位置进行测试的技术。通过对当前导向式灰盒模糊测试技术导向不够精确的问题进行分析,提出一种新的导向式灰盒模糊测试方法,并引入基本块权重与函数路径长度的概念。通过对被测程序的静态分析,构建被测程序的函数调用图和控制流程图,计算更准确的基本块距离并插桩到被测程序中。在模糊测试时通过插桩追踪并计算每个测试用例到指定目标的距离,模糊测试器依据该距离计算种子能量以实现对目标区域的导向,并基于该方法实现原型系统Afl-guide。实验结果表明,与现有的导向式模糊测试方法相比,该方法对目标区域导向更精确、路径覆盖更广,能够更快地生成覆盖程序指定位置的测试用例。 相似文献
17.
模糊测试是当前检测程序错误的最主流、最有效的手段之一.模糊测试工具首先对种子文件进行变异,生成大量新输入文件,然后挑选新输入来执行目标程序,以触发程序中潜在的漏洞.当前对模糊测试的研究多着眼于改进变异算法,提高生成的新文件对目标程序代码的覆盖,忽略了备用种子文件的筛选策略对提高模糊测试覆盖率与测试效率的的贡献.针对该问题,我们提出了基于覆盖频率的种子文件筛选策略,在每次执行目标程序时,我们记录程序执行中覆盖过的路径边;根据边被执行次数的多少,我们将这些边分为低频边和高频边;对于包含了更多低频边且执行效率高的种子文件,我们给予更高的优先级.我们在模糊测试工具American Fuzzy Lop (AFL)实现了对应的算法,实验表明我们的算法有效提高了模糊测试的效率和代码覆盖率. 相似文献
18.
OP-TEE (Open Portable Trusted Execution Environment)是运行于基于TrustZone的可信执行环境(Trusted Execution Environment,TEE)中的开源可信操作系统。OP-TEE虽然运行于TEE侧,但仍存在漏洞从而遭受来自于富执行环境(Rich ExecutionEnvironment,REE)的攻击。模糊测试是一种常用的漏洞发现方法,但由于TEE与REE的高度隔离,REE侧的模糊测试工具难以直接测试OP-TEE,且现有基于OP-TEE源码插桩的模糊测试方法存在依赖源码和专业领域知识且崩溃容忍度低的问题。本文基于全系统模拟,模拟OP-TEE依赖的环境,提出了对OP-TEE内核模糊测试的方法。该方法将OP-TEE托管在模拟环境中并追踪其执行过程,模糊测试工具在模拟环境外观测执行过程并以此生成测试用例。该方法通过设计实现模拟环境内外通信组件,将模拟环境内OP-TEE的系统调用暴露给模拟环境外的模糊测试工具,使得模糊测试工具能够对OP-TEE内核进行模糊测试。同时针对模糊测试过程中单个用例测试耗时较长的问题,设计实现了预翻译优化机制以减少测试过程中的耗时。实验验证了方案可行性,评测了预翻译优化的效果,并评估了方案的漏洞发现能力,同时对比现有方案OP-TEE Fuzzer进行了性能测试。实验结果表明,本文方案具有检出崩溃以及发现潜在漏洞的能力,预翻译优化机制能平均减少19.05%执行耗时,且实际性能优于OP-TEE Fuzzer,其中吞吐量与OP-TEE Fuzzer相比提高了104%。 相似文献