首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 203 毫秒
1.
提出了一种利用程序控制流图和符号化执行来指导生成模糊测试初始用例的方法。首先通过动态计算上下文敏感度级别和增加函数返回边优化符号化执行效率,构建出准确的二进制程序的控制流图,得到主要的程序执行路径;在此基础上,提出基于分支覆盖率和基于基本块执行次数的优化策略,用符号化执行对这些路径进行约束求解;最终生成了更好的模糊测试初始用例。所提方法缓解了符号化求解中常见的路径爆炸问题,降低了模糊测试初始用例的盲目性,把模糊测试和符号化执行的优点相结合,将相同执行时间内漏洞挖掘的路径覆盖率提高了3~4倍。  相似文献   

2.
混合式漏洞挖掘利用模糊测试和符号执行相互协作以达到优势互补的目标,测试用例的同步是相互协作的关键。然而,现有混合式漏洞挖掘技术方案中,测试用例同步是主要以交换和整合的方式实现,较为单一,忽略了程序状态探索时的运行时信息,对符号执行的执行过程没有充分利用。针对上述问题,本文提出了一种基于程序关键点的测试用例同步方法,旨在分析挖掘符号执行的执行过程,定位与识别代码覆盖率导向的程序关键点,进而指导模糊测试的测试用例调度与变异过程, 实现更细粒度的测试用例同步。首先,该方法在符号执行过程中识别模糊测试模块难以触及的分支对应的变量集合,并将其提取为程序的关键点。其次,为了充分利用符号求解的结果,该方法将单次求解得到的关键点信息进行进一步组合匹配,以帮助符号执行模块额外生成更多能够被模糊测试模块导入的测试用例。最后,在模糊测试模块中,该方法在种子挑选步骤中优先选择包含关键点信息的测试用例去引导测试过程探索程序的特定区域,并在测试用例变异中着重对关键点位置进行变异以引导其产生能覆盖新代码分支的测试用例。基于混合式漏洞挖掘工具QSYM,本文实现了一个原型系统Sol-QSYM,并选取了12个真实程序进行了实验评估。实验结果表明Sol-QSYM可以提升12.73%的测试用例成功导入率,相较于QSYM提升9.07%的代码覆盖率,并能够发现更多的程序crash。这些结果表明改进后的测试用例同步方法可以很好地提高混合式漏洞挖掘对符号执行中程序状态探索结果的利用率。  相似文献   

3.
AFL-CGI-wrapper (ACW)是桌面CGI程序的漏洞自动挖掘方法,其利用QEMU仿真器执行二进制CGI来实施模糊测试。但在嵌入式设备中直接应用ACW进行CGI漏洞挖掘会面临两个难题:1) 固定输入模型难以应对嵌入式设备的多样性;2) 主模块跟踪难以覆盖依赖外部调用的分支路径,导致漏洞挖掘效率低下。针对这两个问题,一种基于反馈的惰性输入模型和选择性外部函数跟踪被提出,并在原型系统BCFuzzer中实现。最后使用实际的嵌入式CGI程序集进行了实验,结果表明相比现有方法,其能自动探索更多的代码路径,也能更快地发现更多未知漏洞。  相似文献   

4.
通过对以往二进制挖掘模型的研究,提出了一种新的二进制代码整数型漏洞挖掘方法模型,该模型综合运用了Fuzzing、逆向工程和符号执行等相关技术。首先利用逆向分析锁定与整数漏洞相关的代码部分,获得数据相关类型操作,检测敏感函数,构建函数结构流图,确定整数漏洞相关的代码部分;其次通过对汇编代码的符号执行,获得代码的输入输出关系和路径约束条件,调整Fuzzing的输入,这些可以大大提高Fuzzing的路径覆盖和效率。本模型使得二进制整数型漏洞的挖掘准确性得到了一定程度的提高。  相似文献   

5.
针对二进制程序分析中难以生成测试用例的问题,提出了一种基于抽象解释和制导符号执行的测试用例自动生成方法。首先结合动态和静态程序分析方法,生成目标二进制程序的过程间控制流程图,然后基于过程间控制流程图,计算出潜在脆弱点集。利用节点距离、节点可达性和约束条件集概率静态信息作为符号执行的制导因素,对二进制程序进行动态测试,过滤虚假的脆弱点,并对真实脆弱点生成相应的触发测试用例。实验结果表明文章提出的方法能有效避免执行无效路径,提高二进制代码测试效率。  相似文献   

6.
路径测试数据自动生成是结构测试中的关键问题,也是当前软件测试研究中的热点问题.为了探讨伪并行遗传算法用于路径测试数据生成的可行性及其效果,首先归纳了基于演化算法的路径测试数据自动生成方法的基本思想和流程,然后在MATLAB7.1上实现了一个基于粗粒度模型和基于适应度选择迁移个体的伪并行遗传算法和一个使用代沟的基本遗传算法.采用基于分支距离的适应度函数,以三角形分类程序为例比较了二者在生成路径测试数据时的性能差异.实验结果表明伪并行遗传算法较之基本遗传算法具有明显优势.此外,自由迁移和相邻迁移策略要优于单向迁移策略.  相似文献   

7.
针对路径覆盖测试的可行性,提出了一种新的路径测试覆盖准则(Length_N准则).首先把测试用例生成归纳为多目标函数的优化问题,其有效方法是根据程序运行结果指导生成过程,通过不断迭代,生成符合要求的测试数据集.为了提高生成效率,对遗传模拟退火算法的编码、适应度函数、交叉概率做了一定的改进;并在此基础上来自动生成测试用例.实验结果表明该方法在效率上较遗传算法、随机测试数据生成方法有很明显的提高,在可行性上比路径覆盖准则也有很大的改善.  相似文献   

8.
针对工控系统传输协议模糊测试的路径爆炸和约束求解问题,提出一种基于长短时记忆(LSTM)网络的Modbus TCP协议模糊测试优化方法,挖掘出两种工控协议漏洞,分别为非法写入漏洞和数据值边界漏洞。抓取模糊测试数据包形成数据集,并根据状态码将其分为正常用例、异常用例和无效用例三种,通过LSTM识别出无效用例并剔除,提高漏洞挖掘效率。实验结果表明,LSTM识别模糊测试数据集的准确率达到93.87%,经过LSTM优化后的测试用例通过率从30.75%提升至33.99%。  相似文献   

9.
导向式灰盒模糊测试(DGF)是能够快速生成测试用例,达到给定的程序目标区域并且发现漏洞的模糊测试技术. 针对当前DGF技术测试效率较低的问题,提出基于动态能量调控的DGF技术. 通过静态分析技术构建程序的函数调用图(CG)和控制流图(CFGs),定义并计算更准确的函数级别、基本块级别的目标距离;通过跟踪种子的执行轨迹,计算种子到目标区域的距离;基于动态能量调控函数对模糊测试中种子的变异数量进行更有效的调控,引导生成到达目标区域的测试用例. 基于该方法,实现导向式模糊测试原型系统AFL-Ant,并与现有的导向式模糊测试方法进行对比实验. 结果表明,本研究所提出的方法能够更加快速、有效地对目标区域进行测试,在补丁测试、漏洞复现方面具有较强的应用价值.  相似文献   

10.
构建控制流图(CFG)是二进制程序分析的基础工作,针对静态构建方法无法处理间接跳转,动态构建方法效率低、不适用于大规模程序的问题,提出结合静态分析和动态分析的混合分析方法. 使用静态分析获得基础的控制流信息;采用模糊测试生成测试用例以进行动态分析,利用动态插桩获得间接跳转信息;融合静态分析和动态分析结果生成控制流图. 基于该混合分析方法,设计并实现了面向x86平台二进制程序的控制流图构建工具CFGConstructor. 分别在示例程序和CGC数据集上进行实验,评估该工具的有效性和性能. 实验结果表明CFGConstructor相比于静态分析能够构建更加完备的控制流图,相比于动态分析分析效率更高,能够适用于大规模程序.  相似文献   

11.
为提高恶意代码行为分析的效率,增加测试数据的有效性,提出了一种基于目标代码内部敏感行为函数覆盖的并行化恶意代码行为分析方法,运用静态分析进行输入点与敏感行为函数的识别与定位,将符号执行与动态执行分析相结合设计了并行化敏感路径搜索算法及敏感行为函数逼近技术,引导遍历目标代码内部敏感行为函数,进行恶意代码行为的并行化测试与分析。实验表明,与采用随机产生测试用例进行直接测试和使用全路径覆盖进行测试相比,该方法可以更加有效地产生测试数据,提高恶意代码行为的分析速度与效率。  相似文献   

12.
针对完整路径覆盖测试的可行性,提出了R_N(K)测试覆盖准则。首先,将测试问题归纳为多目标函数的优化问题,为了提高生成效率,对遗传模拟退火算法中的编码、适应度函数和退火规则做了相应的改进,并利用其结果和程序插装理论来生成测试用例。试验表明,该方法与随机法和遗传算法相比有较好的效果。  相似文献   

13.
为了测试程序指令的可达性,需要搜索可触发包含该指令的控制流路径执行的测试用例。该问题可等价为路径约束满足问题的自动求解,求解结果即为验证指令可达的测试用例。为了提高自动求解的性能,在前向检测算法基础上改进设计了R_BinSearchFC算法,算法结合了边界测试数据选取和二叉树搜索技术,可有效提高对数据空间的搜索速度,并可扩展到在实数域空间的求解搜索。实验结果表明,采用了启发式学习的R_BinSearch算法可自动生成有效的测试用例,完成对指令的可达性测试。  相似文献   

14.
基本路径测试是白盒测试技术的一种重要方法,McCabe方法作为基本路径测试中较为常用的方法之一,存在测试用例设计效率较低、可操作性不强等问题。针对这些问题,研究提出了基于McCabe方法的改进堆栈算法,该算法能够自动识别被测程序的基本图元结构,算出被测程序的基本路径数,并且输出基本路径集。该路径算法比McCabe方法构造过程简洁,可操作性较强,能够有效提高基本路径测试用例设计的效率。  相似文献   

15.
针对在扩展有限状态机(extended finite state machine, EFSM)模型上测试序列集生成效率低、规模大等问题,提出了一种面向全迁移的小规模测试序列集生成方法。该方法基于改进的自适应多种群遗传算法(improved adaptive multi-population genetic algorithm, IAMGA)。首先,利用迁移覆盖增益设计适应度函数,使每次生成的可行迁移路径均能产生迁移覆盖增益;然后,根据个体的可行迁移划分子种群,并在子种群内使用轮盘赌算法进行选择,克服了“早熟”问题,提高了全迁移覆盖的成功率;再利用种群的平均路径通过率自适应地调整交叉和变异概率,加快了收敛速度;最后,通过倒序遍历测试序列集去除冗余序列,进一步压缩了测试序列集规模。实验结果表明,与面向单迁移的测试序列生成方法相比,本文所提出的测试序列生成方法面向全迁移,仅一次就能以90%以上的成功率生成满足全迁移覆盖的测试序列集;与传统的遗传算法相比,IAMGA算法生成的测试序列集的平均规模减少了50%,平均迭代次数也减少了20%。本文提出的测试序列集生成方法可有效提高EFSM测试序列集生成的效率和质量。  相似文献   

16.
In order to solve the problem of program state coverage that cannot be effectively solved by code coverage feedback indicators,we propose a fuzzing method that uses the state coverage of a specific code structure in the source code as the feedback indicator,and introduce the concept of target structure state coverage distribution.By inserting piles for a specific structure,statistics of the target structure state distribution,seed selection and energy scheduling according to the structure state distribution,in order to achieve uniform program state coverage.This method implements the prototype system SFL,and compares it with the existing code coverage fuzzing method AFL.Experimental results show that the method proposed in this paper can more fully cover the program state and can accelerate the discovery speed of specific types of vulnerabilities.  相似文献   

17.
方便高效的嵌入式计量软件后门检测是打击不法经营、加强计量监督的重要手段。在分析一般的软件后门检测方法和二进制可执行程序检测方法的基础上,针对一般软件后门检测方法的不足,提出了基于执行路径,通过动态运行二进制可执行程序,检测计量器具中是否存在通过作弊命令触发作弊行为的后门程序。首先定义了程序的执行路径,然后基于命令树设计了执行路径跟踪算法,最后通过例子说明了该方法的有效性。  相似文献   

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

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