共查询到16条相似文献,搜索用时 203 毫秒
1.
混合式漏洞挖掘利用模糊测试和符号执行相互协作以达到优势互补的目标,测试用例的同步是相互协作的关键。然而,现有混合式漏洞挖掘技术方案中,测试用例同步是主要以交换和整合的方式实现,较为单一,忽略了程序状态探索时的运行时信息,对符号执行的执行过程没有充分利用。针对上述问题,本文提出了一种基于程序关键点的测试用例同步方法,旨在分析挖掘符号执行的执行过程,定位与识别代码覆盖率导向的程序关键点,进而指导模糊测试的测试用例调度与变异过程, 实现更细粒度的测试用例同步。首先,该方法在符号执行过程中识别模糊测试模块难以触及的分支对应的变量集合,并将其提取为程序的关键点。其次,为了充分利用符号求解的结果,该方法将单次求解得到的关键点信息进行进一步组合匹配,以帮助符号执行模块额外生成更多能够被模糊测试模块导入的测试用例。最后,在模糊测试模块中,该方法在种子挑选步骤中优先选择包含关键点信息的测试用例去引导测试过程探索程序的特定区域,并在测试用例变异中着重对关键点位置进行变异以引导其产生能覆盖新代码分支的测试用例。基于混合式漏洞挖掘工具QSYM,本文实现了一个原型系统Sol-QSYM,并选取了12个真实程序进行了实验评估。实验结果表明Sol-QSYM可以提升12.73%的测试用例成功导入率,相较于QSYM提升9.07%的代码覆盖率,并能够发现更多的程序crash。这些结果表明改进后的测试用例同步方法可以很好地提高混合式漏洞挖掘对符号执行中程序状态探索结果的利用率。 相似文献
2.
提出了一种利用程序控制流图和符号化执行来指导生成模糊测试初始用例的方法。首先通过动态计算上下文敏感度级别和增加函数返回边优化符号化执行效率,构建出准确的二进制程序的控制流图,得到主要的程序执行路径;在此基础上,提出基于分支覆盖率和基于基本块执行次数的优化策略,用符号化执行对这些路径进行约束求解;最终生成了更好的模糊测试初始用例。所提方法缓解了符号化求解中常见的路径爆炸问题,降低了模糊测试初始用例的盲目性,把模糊测试和符号化执行的优点相结合,将相同执行时间内漏洞挖掘的路径覆盖率提高了3~4倍。 相似文献
3.
JavaScript语言广泛用于浏览器和其他应用程序中,针对JavaScript引擎的攻击给企业和用户带来了巨大的安全隐患。当前针对JavaScript引擎的模糊测试技术在可用测试用例生成能力和代码覆盖率方面存在不足,经研究提出了一种基于自然语言处理的JavaScript引擎定向模糊测试技术,使用简化的BERT语言模型和残差网络提取JavaScript语法语义信息,并生成用于定向模糊测试的测试用例。实现的原型工具JSBFuzz选择JerryScript、ChakraCore和JavaScriptCore进行测试,累计发现9个BUG。实验结果表明,JSBFuzz能够大幅提高JavaScript测试用例的生成效率和漏洞挖掘速度,并且具有较高的代码覆盖率。 相似文献
4.
为实现无需协议的任何结构知识进行网络安全漏洞检测,基于深度学习生成对抗式神经网络(generative adversarial nets, GAN),提出对车身网络关键字协议2000 (keyword protocol 2000, KWP2000)漏洞挖掘的方法。选用前向反馈网络作为生成模型,支持向量机作为判别模型。利用神经网络模型训练生成KWP2000协议数据的测试用例数据,再利用这些测试用例数据对KWP2000进行模糊测试。通过试验发现目标协议KWP2000的超长错误、编码错误等漏洞。试验研究表明,该模糊测试方法提高了效率和安全性。 相似文献
5.
构建控制流图(CFG)是二进制程序分析的基础工作,针对静态构建方法无法处理间接跳转,动态构建方法效率低、不适用于大规模程序的问题,提出结合静态分析和动态分析的混合分析方法. 使用静态分析获得基础的控制流信息;采用模糊测试生成测试用例以进行动态分析,利用动态插桩获得间接跳转信息;融合静态分析和动态分析结果生成控制流图. 基于该混合分析方法,设计并实现了面向x86平台二进制程序的控制流图构建工具CFGConstructor. 分别在示例程序和CGC数据集上进行实验,评估该工具的有效性和性能. 实验结果表明CFGConstructor相比于静态分析能够构建更加完备的控制流图,相比于动态分析分析效率更高,能够适用于大规模程序. 相似文献
6.
基于改进轮盘赌策略的反馈式模糊测试方法 总被引:1,自引:0,他引:1
针对随机模糊测试方法测试盲目效率低下的问题,提出一种反馈式模糊测试方法,目的是通过流程优化来提高测试效果。首先,通过网络爬虫收集原始样本文件,确保原始样本的多样性。其次,通过代码覆盖率分析来从大量样本文件中筛选用于变异的最佳种子文件,在保证足够的测试空间的同时避免冗余测试。接下来通过变异种子文件的部分比特来生成测试用例,并根据测试结果基于改进轮盘赌策略不断调优种子文件的变异范围,以期发现尽可能多的软件故障。实现了一个原型系统OSSRWSFuzzer,在实验中发现了国产软件WPS Office的56个故障,体现了较强的漏洞检测能力。 相似文献
7.
《信息工程大学学报》2016,17(1)
针对二进制程序分析中难以生成测试用例的问题,提出了一种基于抽象解释和制导符号执行的测试用例自动生成方法。首先结合动态和静态程序分析方法,生成目标二进制程序的过程间控制流程图,然后基于过程间控制流程图,计算出潜在脆弱点集。利用节点距离、节点可达性和约束条件集概率静态信息作为符号执行的制导因素,对二进制程序进行动态测试,过滤虚假的脆弱点,并对真实脆弱点生成相应的触发测试用例。实验结果表明文章提出的方法能有效避免执行无效路径,提高二进制代码测试效率。 相似文献
8.
为了保证程序测试的质量和降低测试费用,基于规格的测试方法越来越受到重视,在利用有限状态机描述面向对象程序基础上给出了状态覆盖测试算法,同时引入动态域归约原理实现测试用例的自动生成。 相似文献
9.
为了解决代码覆盖反馈指标无法有效解决程序状态覆盖的问题,提出一种以源码中特定代码结构的状态覆盖率作为反馈指标的模糊测试方法,引入了目标结构状态覆盖分布的概念.通过对特定结构进行插桩,统计目标结构状态分布,依据结构状态分布筛选种子并进行能量调度,以实现程序状态覆盖均匀化.该方法实现了原型系统SFL,并与现存的代码覆盖导向... 相似文献
10.
为了保证程序测试的质量和降低测试费用 ,基于规格的测试方法越来越受到重视。在利用有限状态机描述面向对象程序基础上给出了状态覆盖测试算法 ,同时引入动态域归约原理实现测试用例的自动生成 相似文献
11.
私有协议不公开协议规约,构建Fuzzing的测试用例比较困难。针对此问题提出了一种西门子S7私有协议的Fuzzing漏洞检测方法。设计了针对私有协议S7模糊测试的字段分类测试方法和多字段关联测试方法,以及测试用例模块中变异字段生成算法;同时,为了使漏洞检测方法具有更好的泛化性,对不同的工控设备编写了独立嗅探脚本,使用SQLite建立了适用的CVE漏洞数据库。测试结果证明,该方法可扫描使用S7以及S7更高版本S7Comm plus协议的多种型号PLC,并输出其漏洞信息,且相较于通用漏洞扫描工具OpenVAS具有更高的效率。 相似文献
12.
针对当前二进制程序模糊测试中基于变异生成的测试数据的执行路径重复率高导致代码覆盖率低的问题,提出基于遗传算法的二进制程序模糊测试方法.该方法将测试数据转换为遗传算法中的个体,利用Quick Emulator对二进制程序进行插桩以获取程序执行路径,使用基于程序执行路径的适应度函数指导遗传算法中的进化过程,使生成的测试数据能够覆盖更多的程序执行路径.实验结果表明,该方法在相同时间内达到的代码覆盖率平均比模糊测试工具American Fuzzy Lop (AFL)高25.4%.同时,该方法在漏洞挖掘实验中发现了测试程序中的所有崩溃漏洞并且其效率至少比AFL提高10%.该方法能够用于提高模糊测试的漏洞挖掘效率. 相似文献
13.
提出一种基于单眼视觉和超声波测距的树莓派智能机器人车检测静态和动态障碍物的方法.采用改进的单眼视觉障碍物检测算法,对室内的静态和动态障碍物进行轮廓检测,并利用超声波传感器测量机器人车与障碍物之间的距离.针对静态障碍物检测,在图像预处理阶段引入图像增强,并通过HSV图像提取不同障碍物颜色特征,以提高障碍物轮廓标定的效率和准确率.针对动态障碍物检测,结合背景差分与3D图像显示技术实现动态目标捕捉,并设置距离决策模块记录障碍物位置信息.试验结果表明,该方法可有效减少障碍物检测的平均消耗时间以及障碍物位置信息的错误率,提高室内障碍物检测的效率和准确性. 相似文献
14.
提出了一种高效的会话发起协议(SIP)服务器畸形消息测试方法.通过SIP协议栈源代码静态分析,建立危险库函数与SIP服务器接口的映射关系;通过SIP消息模板和畸形库,生成针对危险库函数的畸形消息集;通过攻击效果分析和变异、继承操作逐代优化畸形消息集,得到具有显著攻击效果的SIP畸形消息测试集.对所提方法的有效性进行了实验验证. 相似文献
15.
通过对以往二进制挖掘模型的研究,提出了一种新的二进制代码整数型漏洞挖掘方法模型,该模型综合运用了Fuzzing、逆向工程和符号执行等相关技术。首先利用逆向分析锁定与整数漏洞相关的代码部分,获得数据相关类型操作,检测敏感函数,构建函数结构流图,确定整数漏洞相关的代码部分;其次通过对汇编代码的符号执行,获得代码的输入输出关系和路径约束条件,调整Fuzzing的输入,这些可以大大提高Fuzzing的路径覆盖和效率。本模型使得二进制整数型漏洞的挖掘准确性得到了一定程度的提高。 相似文献
16.
运用距离灵敏度确定电力系统故障临界清除时间 总被引:1,自引:0,他引:1
根据连续函数空间范数的定义,提出了电力系统运行状态与故障后稳定平衡状态之间距离的概念.利用故障后系统的轨迹灵敏度分析方法,定义了前述距离对给定故障的清除时间的灵敏度指标.运行包含灵敏度分析模块的动态仿真程序3次后可以得到对应不同清除时间的3个距离及其灵敏度,在此基础上通过抛物线拟合便可确定临界清除时间.给出了通过距离灵敏度直接确定故障临界清除时间的算法及在4机11节点IEEE试验系统上的算例,结果表明该方法是有效的. 相似文献