首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 31 毫秒
1.
针对目前智能模糊测试技术中整体测试所需时间较长以及生成单个测试用例漏洞触发能力较弱的问题,该文提出了一种可用于并行化环境中的路径取反算法和一种加入随机数据的复合测试用例生成方式。该路径取反算法给每个测试用例赋予一个边界变量,利用该变量限定每个测试用例可进行取反操作的范围,同时在该范围中对多个条件进行取反。该复合测试用例生成方式借助传统模糊测试技术生成随机的漏洞触发数据,将该随机数据与混合符号执行生成用例相结合,从而生成复合化的测试用例。同时该文设计并实现了一个并行化智能模糊测试系统———谛听,并利用该系统对3个应用软件进行了测试,共生成测试用例203 602个,触发软件漏洞2个,其中一个为首次被发现的零日(0-Day)漏洞。理论分析与实验表明:该路径取反算法可有效应用于并行环境中,从而缩短整个测试所需时间并生成较多测试用例;同时该复合测试用例生成方式可有效提升测试用例漏洞触发能力。  相似文献   

2.
模糊测试是漏洞分析技术中的一项代表性技术,其通过生成一组测试用例来测试程序,并在执行过程中观测异常,从而查找错误或识别安全漏洞.AFL是当前一款主流的开源模糊器,本文在分析AFL的基础上,针对测试用例变异环节的变异操作选择方法进行改进,提出了一种基于汤普森采样的模糊测试用例自动化变异方法,并实现了工具TPSFuzzer,支持对二进制程序进行模糊测试.其主要思想是通过将模糊测试中变异操作选择问题转化为多臂赌博机问题,结合汤普森采样优化算法,在特定程序上自适应地学习变异操作的概率分布;同时将硬件程序追踪机制与AFL相结合,以辅助进行路径信息获取和变异操作选择,从而提高AFL的测试效率和路径覆盖率.本文选取LAVA数据集和两个真实二进制程序作为测试集,通过与PTFuzzer的对比实验分析得出,TPSFuzzer可以产生更高的代码覆盖率和更好的测试效率.   相似文献   

3.
以快速生成能够覆盖可能存在缺陷程序点的测试用例为目标,结合基于生成的Fuzzing技术、静态程序控制流分析、静态污点分析等手段,提出一种导向式动态符号计算方法.通过Fuzzing生成能够到达包含缺陷程序点的函数的测试用例,作为种子输入驱动符号执行快速到达缺陷函数;在缺陷函数内利用静态控制流分析、静态污点分析计算出控制流污点可达程序切片,基于该切片进行朝向缺陷点的多路径动态符号执行.实验验证了方法能够有效减轻符号执行应用中广泛存在的路径爆炸问题,并且能生成触发目标缺陷的测试用例.  相似文献   

4.
软件漏洞检测在信息物理融合系统中通常使用模糊测试(Fuzzing)技术。针对Fuzzing技术中存在大量冗余的测试样本,且样本探测异常的有效性较低的情况,提出一种面向软件漏洞检测的Fuzzing样本优化的方法。首先筛除随机样本中软件不接受的样本,并通过改进的动态规划算法获得初始样本的精简集,以减小初始样本的数量;然后在测试过程中跟踪污点传播路径,利用Simhash和海明距离的改进算法求解样本传播路径相似度,通过删除相似度较高的样本进一步降低样本冗余;最后对触发异常的样本进行遗传变异构建新的测试样本,以增加样本的有效性。通过实验结果可以看出,相较于利用基于贪心算法和基于异常分布导向的方法,这里提出的方法有效减小了测试样本冗余,并且提升了测试样本的有效性。  相似文献   

5.
针对二进制程序文件处理漏洞的挖掘,目前业界主流自动化方案为基于文件变异的模糊测试,但该方法盲目性高、代码覆盖率低、效率低下。为研究具有高针对性的测试方法,该文讨论了一种新型的函数内存模糊测试技术。该技术利用动态污点分析的结果,获取目标程序中处理输入数据流的函数与指令。测试中基于二进制插桩,对上述函数构造循环执行结构,并针对内存中的污点数据进行变异。原型系统实验表明:该测试方法可有效用于栈溢出等漏洞类型的挖掘;相比传统模糊测试,消除了因数据盲目测试造成的执行路径中断瓶颈,且在执行效率上具有95%以上的提升。  相似文献   

6.
Unlink攻击是一种Linux平台下面向堆溢出漏洞的攻击方式.已有的缓冲区溢出漏洞攻击检测技术通过检查程序控制流状态来确定程序漏洞触发点,并生成测试用例.但由于堆溢出数据很少直接导致程序控制流劫持以及相关保护机制的限制,已有的检测技术很难判断程序是否满足堆溢出攻击条件.为了提高程序的安全性,实现对Unlink攻击的检测,文中通过对已有Unlink攻击实例的分析,总结了Unlink攻击特征,建立了Unlink攻击检测模型,并根据该模型提出了Unlink攻击检测方法.该方法使用污点分析实现了对程序输入数据以及敏感操作的监控;使用符号执行技术构建程序污点变量传播的路径约束以及触发Unlink攻击的数据约束;通过对上述约束的求解,判断程序堆溢出漏洞是否满足Unlink攻击触发条件,并生成测试用例.实验结果表明,该方法能有效地实现针对Unlink攻击的检测.  相似文献   

7.
软件测试是软件开发过程中最为耗时的阶段之一.通过自动执行大量的测试用例,可以高效、及时地发现软件程序中潜在的错误,这是提高大中型软件开发质量的重要技术发展趋势.目前较多的元启发式优化算法已经能够实现测试用例的自动生成,但测试效率较低且开销较大,所以如何使得生成的测试用例在数量较少的情况下覆盖尽可能多的目标,就成为自动化测试用例生成中的核心技术问题.本文提出一种基于损失函数的单元测试用例自动化生成算法(LFGA),在遗传算法的执行过程中,根据测试用例种群的路径覆盖情况,动态改变后续种群的分布,保证整体数据分布的平衡性.并利用分支信息优化自适应交叉变异算子,自动生成规模尽可能小且高覆盖的有效测试用例集.实验结果表明,相比于已有的自动生成测试用例方法,较好地解决了传统模型中初值依赖、收敛早熟、局部寻优能力滞后等缺陷,保证了生成的测试用例平均覆盖率达到95%,提升了搜索效率及数据使用效率.  相似文献   

8.
如何对回归测试进行优化是软件开发与维护周期中的一个关键问题,传统的单一主题的测试用例优化技术存在局限性。因此,提出一种将测试用例选择和优先级排序相结合的初次选择-排序-再次选择的混合优化方法。首先,利用基于函数调用路径(function call path, FCP)对代码进行变更影响分析的结果,选择出部分测试用例;然后,从不同角度出发设计多个目标对这些测试用例进行综合排序,并根据执行信息动态调整;最后,从调整过优先级的测试用例中再次选择,形成最终的测试用例集。实验结果证明:所提出的优化方法能在尽量保证测试用例集的缺陷检测能力的情况下,一定程度上降低测试用例集的规模,提高回归测试的效率。  相似文献   

9.
划分测试中测试用例最优分配问题研究   总被引:3,自引:0,他引:3  
研究了划分测试中每个子域错误率已知,测试资源受约束时,测试用例如何合理分配的优化问题.主要考虑了两类测试用例分配问题:测试资源受约束的测试用例分配及测试资源受约束且各个子域的可靠性要达到一定要求时测试用例的分配,证明了带约束的测试用例最优分配问题是一个NPC问题.给出了动态规划求解方法,从理论上证明了该方法是最优的,并通过随机模拟将该方法与其它常见的测试用例分配策略进行分析比较,用实验数据验证了该办法能合理利用有限测试资源,有效地提高缺陷检测能力.  相似文献   

10.
结合语法和语义特征的检测方法可有效识别Android恶意程序.对现有以污点传播路径为语义特征的方法进行扩展,将不同组件内的Source方法和Sink方法对定义为跨组件(ICC)污点传播路径,并进一步抽象为基于类的路径集合作为新的语义特征,按照它们在不同样本集中出现次数的比例关系进行特征值规范化,采用SVM进行分类和检测.针对295个样本的检测结果表明,准确率和虚警率均有一定改善.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号