首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 109 毫秒
1.
针对传统fuzzing测试中的低效率问题,提出一种基于污点跟踪的黑盒fuzzing测试方法.通过将合法输入标记为污染源,并记录污点在应用程序中的传播过程,提取关键的污点信息,用以指导新的测试用例的生成.这样生成的测试用例,具有更好的针对性,以及能够达到较深的代码深度,有良好的代码覆盖率,能更好的挖掘出潜在的漏洞和安全脆弱点.采用这种方法对几款图形处理软件和图形库进行了测试,发现了一个漏洞,并提交SecurityFocus通过.  相似文献   

2.
鉴于传统Fuzzing(模糊)测试技术在测试漏洞库中已有漏洞时覆盖率偏低的特点,提出一种基于环境的Fuzzing测试技术.通过提取程序运行所需的操作系统环境、中间件库函数依赖、环境变量等不可信环境因子,构造相应的包含了环境特征的Fuzzing测试用例集.这样的测试用例集合对漏洞库中的已有漏洞表现出了更全面的覆盖,同时还可以有效地发掘未知漏洞.以sftp服务器测试为例,选取Windows平台下的5款sftp服务器软件进行测试,除可以发掘已有漏洞外,还发现了3款软件的3个新漏洞,提交SecurityFocus并通过.  相似文献   

3.
牛伟纳  丁雪峰  刘智  张小松 《计算机科学》2013,40(10):119-121,138
软件漏洞是安全问题的根源之一,fuzzing(模糊测试)是目前漏洞发现的关键技术,但是它通过随机改变输入无法有效地构造出测试用例,也无法消除测试用例的冗余性.为了克服传统fuzzing测试的缺点、有效生成测试输入且无需分析输入格式,针对二进制程序设计并实现了基于符号执行的漏洞发现系统SEVE.将程序的输入符号化,利用动态插桩工具建立符号变量的传播关系;在分支语句处收集路径约束条件,最后用解析器求解之并将其作为新的测试用例.用mp3和pdf软件进行了实验,结果表明,该系统有效地提高了漏洞发现的效率与自动化程度.  相似文献   

4.
SQL注入漏洞一直以来都是威胁Web应用安全的主要问题之一, 其中二阶SQL注入漏洞相较于一阶SQL注入更加隐蔽且威胁更大, 对其检测通常依赖于测试人员的先验知识与经验. 目前, 在缺乏源码信息的黑盒测试场景下, 还没有针对该漏洞的有效检测手段. 利用基于模型的测试用例生成思想, 提出了一种基于客户端行为模型的测试用例集生成方法(CBMTG), 用于生成检测Web应用二阶SQL注入漏洞的测试用例集. 首先通过初始测试用例集的执行建立迁移与SQL语句的映射关系; 然后通过SQL语句的字段分析建立迁移之间的拓扑关系; 最后通过拓扑关系来指导最终的测试用例集生成. 实验结果表明, 本文方法优于当前主流的二阶SQL注入漏洞检测方法.  相似文献   

5.
马春燕  李尚儒  王慧朝  张磊  张涛 《软件学报》2019,30(5):1450-1463
测试预言生成技术是软件工程测试领域的研究热点之一.没有可以利用的历史测试用例是目前大部分测试预言生成技术的普遍假设,但是这种假设会使我们错过利用现有部分测试用例协助自动生成新测试用例预言的机会.在已知部分测试用例集的情况下,提出了基于敏感变量和线性感知机的新测试用例的测试预言自动生成方法.首先,收集已知测试用例执行的语句覆盖和不同断点处内存值集合作为训练集,计算与新测试用例执行覆盖信息高度相似的测试用例集;其次,计算各断点处表征成功或失败的敏感变量集;然后,应用线性感知机求解每个断点处成功或失败概率预测的门限值;在此基础上,给出新测试用例测试预言自动生成的方法,并对方法进行讨论;最后,采用7个程序的129个故障版本作为实验对象,对共计14 300个测试用例生成测试预言.实证评价表明,测试预言准确率平均达到96.2%.该成果可以形成测试用例集合构造的"滚雪球效应",不断迭代自动生成新测试用例的测试预言.  相似文献   

6.
Web应用功能交互的建模与测试用例生成   总被引:1,自引:0,他引:1  
为了产生更有效的测试用例,以Web应用为研究对象,按功能将Web应用划分成若千个功能构件,把Web应用看成是功能构件的集合,针对其相应的交互功能,用FSM对其功能交互行为进行建模.在此基础上提出了完整消息传递序列测试准则,并根据该测试准则生成抽象的测试用例集,以实现对Web应用交互性的测试,提高Web应用测试的有效性,力图实现Web应用测试的自动化.最后设计了一个工具原型用于测试用例的生成.  相似文献   

7.
主要针对软件测试中黑盒测试时测试用例集过大,以及测试效率低的问题,提出了一种有用有效的测试用例集生成设计方法.该方法根据待测系统参数的输入输出关系,对输入参数进行分组生成输入参数的组合关系集,再仅对组合关系集中每组输入变量生成两两组合覆盖测试用例集合,然后进行水平拼接生成最终的用于待测系统测试的测试用例集合.实验结果表明,该方法不仅能有效地减少了测试用例数目,而且还能够保持了原来测试检错能力,从而提高测试效率.  相似文献   

8.
测试用例集约简技术是生成最小测试用例集,最大限度地对软件进行科学有效的测试,从而降低软件测试的成本、提高测试效率的关键技术之一.结合国内外几种算法的策略的基础上,提出了一种基于测试需求集的最小测试用例集的生成方法,该方法能够保证得到优化代表集.  相似文献   

9.
针对现有应用层工控协议在模糊测试过程中用例冗余度高、测试效率低和随机性强等问题,提出一种基于改进变异树的测试用例生成方法。该方法将协议样本数据序列进行树结构化,同时提取协议规约中字段优先级信息,并利用其有效地控制树中各节点属性值的变异程度,从而达到降低测试成本、提高测试效率以及增大发掘漏洞几率的目的。实验结果表明,该测试用例生成方法对提高协议模糊测试性能具有显著的优化效果和漏洞检测能力。  相似文献   

10.
最小测试用例集生成方法改进及应用   总被引:4,自引:2,他引:2  
软件测试是保证软件质量和可靠性的重要手段,如何对软件进行全面且高效的测试一直是备受关注的问题.分析了白盒测试与黑盒测试的优缺点;具体分析了最小测试用例生成算法,接着对生成最小测试用例集的方法提出改进:首先消除掉测试需求中存在的冗余,再对由该测试需求生成的测试用例集使用简化算法,得到一组无冗余的测试用例集.这种先对测试需求进行精简的方法,使得测试用例集中测试用例的数量大为减少,提高了简化算法的使用效率.将上述最小测试用例集生成方法运用到Apla到delphi生成器系统的测试中,提高了测试效率.  相似文献   

11.
一种基于fuzzing技术的漏洞发掘新思路*   总被引:5,自引:3,他引:2  
目前检测软件缓冲区溢出漏洞仅局限于手工分析、二进制补丁比较及fuzzing技术等,这些技术要么对人工分析依赖程度高,要么盲目性太大,致使漏洞发掘效率极为低下。结合fuzzing技术、数据流动态分析技术以及异常自动分析技术等,提出一种新的缓冲区溢出漏洞发掘思路。新思路克服了已有缓冲区溢出漏洞发掘技术的缺点,能有效发掘网络服务器软件中潜在的未知安全漏洞(0day),提高了缓冲区溢出漏洞发掘效率和自动化程度。  相似文献   

12.
为了检测特定配置条件下的软件漏洞,提出了一种配置模糊测试方法.它通过改变被测程序的配置检测一些只在特定运行时特定配置下才能表现出来的软件漏洞.应用程序运行在部署环境下时,配置模糊测试技术连续不断的模糊应用程序的配置信息,检查软件是否违反了“安全准则”,若违反,则表示存在一个安全漏洞,配置模糊测试技术执行测试时利用的是正在运行的一个应用程序的副本,因此不会影响应用程序的状态.描述了配置模糊测试方法的原型实现,并通过实验验证了该方法的高效性.  相似文献   

13.
在基于反汇编的输入路径追踪技术的基础上,结合基于代码覆盖的测试数据生成和基于快照恢复的错误注入技术,将其应用于模糊测试中。提出一种软件安全漏洞自动化挖掘的方法,较好地解决传统模糊技术存在的若干局限。设计并实现一个基于此方法的测试系统,通过对实例软件的漏洞挖掘实验,验证该方法的有效性。  相似文献   

14.
Fuzzing is widely used to detect software vulnerabilities. Blackbox fuzzing does not require program source code. It mutates well-formed inputs to produce new ones. However, these new inputs usually do not exercise deep program semantics since the possibility that they can satisfy the conditions of a deep program state is low. As a result, blackbox fuzzing is often limited to identify vulnerabilities in input validation components of a program. Domain knowledge such as input specifications can be used to mitigate these limitations. However, it is often expensive to obtain such knowledge in practice. Whitebox fuzzing employs heavy analysis techniques, i.e., dynamic symbolic execution, to systematically generate test inputs and explore as many paths as possible. It is powerful to explore new program branches so as to identify more vulnerabilities. However, it has fundamental challenges such as unsolvable constraints and is difficult to scale to large programs due to path explosion. This paper proposes a novel fuzzing approach that aims to produce test inputs to explore deep program semantics effectively and efficiently. The fuzzing process comprises two stages. At the first stage, a traditional blackbox fuzzing approach is applied for test data generation. This process is guided by a novel test case similarity metric. At the second stage, a subset of the test inputs generated at the first stage is selected based on the test case similarity metric. Then, combination testing is applied on these selected test inputs to further generate new inputs. As a result, less redundant test inputs, i.e., inputs that just explore shallow program paths, are created at the first stage, and more distinct test inputs, i.e., inputs that explore deep program paths, are produced at the second stage. A prototype tool SimFuzz is developed and evaluated on real programs, and the experimental results are promising.  相似文献   

15.
模糊测试(fuzzing)具备自动化程度高、可重现性好及易扩展等特点,是软件漏洞挖掘的有效方法之一。针对其固有的测试盲目性和低效性,一批先进的灰盒模糊测试方法被提出并应用在AFL、AFLFast、Vuzzer等工具中。随着高性能芯片和云计算技术的发展,模糊测试可以充分利用其中蕴含的丰富并行计算能力、通过多实例并行的手段进一步提高单位时间内的综合测试效率,典型的代表如Xu等人提出的多核并行方法、谷歌的ClusterFuzz等。但现有并行模糊测试方法,由于不同测试实例在测试用例生成过程中缺少有效的控制,导致生成的畸形样本冗余高、测试综合覆盖率低等问题。针对该问题,本文提出了一种有效控制多测试实例间模糊测试过程的方案,该方案以变异策略为基本粒度进行并行化,定期同步不同测试实例间的有效畸形样本和优化变异策略应用比例,减少不同测试实例间的测试冗余,提高测试综合覆盖率。本文实现了一个变异策略感知的并行模糊测试框架,并选择AFL作为基本模糊测试器,使用5款开源软件及LAVA-M测试集的实验结果表明,相同测试时间内本文的方法比AFL默认调度方法提高目标覆盖率达132%、发现异常数量最多提高50余倍。  相似文献   

16.
模糊测试在挖掘协议软件安全漏洞、提高安全性方面发挥着巨大的作用. 近年来将状态引入服务端程序模糊测试受到广泛关注. 本文针对现有方法未充分利用协议模糊测试过程信息、无法持续关注重点状态, 导致模糊测试效率较低的问题, 提出了基于双重覆盖信息协同的协议模糊测试方法. 首先, 本文提出的状态选择算法, 通过建立状态空间到程序空间的映射, 利用启发式的计算方法为每个状态设置权重, 以引导模糊测试持续关注更可能存在缺陷的状态. 其次, 快速探测种子不影响状态但改变程序覆盖的位置, 并限制变异位置以充分测试重点状态对应的代码区域. 本文在基线工具AFLNet和SnapFuzz上验证了改进算法的有效性, 并最终集成实现了协议模糊测试工具C2SFuzz. 对LightFTP、Live555等协议服务端程序最新版进行了实验后, 发现5个未知的漏洞.  相似文献   

17.
导向式灰盒模糊测试是一种能够快速对程序指定位置进行测试的技术。通过对当前导向式灰盒模糊测试技术导向不够精确的问题进行分析,提出一种新的导向式灰盒模糊测试方法,并引入基本块权重与函数路径长度的概念。通过对被测程序的静态分析,构建被测程序的函数调用图和控制流程图,计算更准确的基本块距离并插桩到被测程序中。在模糊测试时通过插桩追踪并计算每个测试用例到指定目标的距离,模糊测试器依据该距离计算种子能量以实现对目标区域的导向,并基于该方法实现原型系统Afl-guide。实验结果表明,与现有的导向式模糊测试方法相比,该方法对目标区域导向更精确、路径覆盖更广,能够更快地生成覆盖程序指定位置的测试用例。  相似文献   

18.
模糊测试是当前检测程序错误的最主流、最有效的手段之一.模糊测试工具首先对种子文件进行变异,生成大量新输入文件,然后挑选新输入来执行目标程序,以触发程序中潜在的漏洞.当前对模糊测试的研究多着眼于改进变异算法,提高生成的新文件对目标程序代码的覆盖,忽略了备用种子文件的筛选策略对提高模糊测试覆盖率与测试效率的的贡献.针对该问题,我们提出了基于覆盖频率的种子文件筛选策略,在每次执行目标程序时,我们记录程序执行中覆盖过的路径边;根据边被执行次数的多少,我们将这些边分为低频边和高频边;对于包含了更多低频边且执行效率高的种子文件,我们给予更高的优先级.我们在模糊测试工具American Fuzzy Lop (AFL)实现了对应的算法,实验表明我们的算法有效提高了模糊测试的效率和代码覆盖率.  相似文献   

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

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