首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 9 毫秒
1.
操作系统具有庞大的用户群体, 因此使得内核漏洞具有极强的通用性。模糊测试作为一种高效的漏洞挖掘方法, 也被应用于操作系统内核, 并且已经取得不错的成果。但是, 目前流行的面向内核的模糊测试模型 Syzkaller 在生成种子时具有一定的盲目性, 无法自动产生具有依赖关系的系统调用, 制约了模糊测试的代码覆盖能力。为解决上述问题, 本文提出并实现了基于种子智能生成的内核模糊测试模型 SyzMix。该模型一方面结合 LSTM(Long Short-Term Memory)神经网络, 使用语法模板, 通过序列化操作和反序列化操作, 能自动生成更多蕴含潜在依赖关系的系统调用序列, 有效提高了种子执行的成功率; 另一方面, 通过静态分析方法获得系统调用显式依赖关系, 通过动态分析方法获得系统调用隐式依赖关系, 并通过上述依赖关系进一步优化种子内部系统调用关系, 结合测试用例的生成策略和变异策略, 显著提高了选择系统调用的准确性。综合上述方法, SyzMix 达到了更高的代码覆盖能力和代码覆盖加速比。为了验证模型的有效性和实用性, 利用 SyzMix 与 Syzkaller 在不同版本的内核中进行测试, 种子执行成功率提高了 16%, 选择系统调用的准确性提高了 88.8%, 内核代码覆盖率提高了 7.87%, 代码覆盖加速比达到了 132.3%。另外, SyzMix 在不同版本的内核中发现了 8 个的未知 bug, 并申请得到 CVE 编号 CVE-2021-45868。  相似文献   

2.
网络协议的自动化模糊测试漏洞挖掘方法   总被引:8,自引:0,他引:8  
随着网络应用越来越复杂和重要,对网络协议的安全性要求也越来越高.模糊测试(Fuzz Testing)作为一种重要的测试手段,通过大量数据的注入来测试网络协议的安全,能够发现拒绝服务、缓冲区溢出和格式化字符串等多种重要漏洞.但是手工进行Fuzz Testing需要精确了解网络协议细节并需要繁重的工作来构造大量测试数据集,...  相似文献   

3.
模糊测试被广泛应用于浏览器的漏洞挖掘,其效果好坏的决定因素之一是测试者编写的测试模式.针对特定测试模式实现成本高、生存时间短等问题,本文提出了一种基于模式生成的浏览器模糊测试器自动构造方法,通过解析已知漏洞触发样本,自动提取测试模式,对模式中每个模块应用传统的变异策略,完成畸形样本的自动生成.实验表明,针对5款浏览器的1089个已知漏洞触发样本,平均仅用时11.168秒即可完成1089个不同模糊测试器的自动构建,远低于人为编写的时间消耗;随机选取其中10个模糊测试器分别对IE 10、IE 11、Firefox 54.0的全补丁版本进行测试,共产生57个不同的崩溃样本,发现1个高危未知漏洞,证明本方法具有较好的未知漏洞发现能力.  相似文献   

4.
基于覆盖引导的模糊测试技术是当前研究的热点,AFL是该领域的代表性工具。文章在AFL基础上进行了改进,将Havoc的变异策略建模为一个多臂赌博机问题,并提出一种结合ε-greedy算法和置信区间上界(Upper Confidence Bound,UCB)算法的动态调整变异策略的方法,实现了工具EnAFL的设计。通过与AFL的对比实验分析得出,EnAFL在代码覆盖率和测试效率方面表现更出色。  相似文献   

5.
随着人们对软件系统安全问题关注度的不断提升,模糊测试作为一种用于安全漏洞检测的安全测试技术,具有自动化程度高、误报率低等优点,其应用越来越广泛,地位也越来越重要。经过近些年的不断改进,模糊测试无论在技术发展上还是在应用创新上,都取得了诸多成就。首先,对模糊测试的相关概念和基本理论进行简要说明,总结了模糊测试在各领域的应用情况,针对不同领域的漏洞挖掘需求,分析得出相应的模糊测试解决方案。其次,重点总结了近几年来模糊测试的重要发展成果,包括测试工具、框架、系统及方法的改进与创新,并分析总结了各发展成果所采用的创新方法,提出的理论以及各工具、系统的优点与不足。最后,分别从协议逆向工程应用、云平台建设、新兴技术结合、模糊测试对抗技术研究及模糊测试工具集成的角度,为模糊测试下一步的研究提供了方向参考。  相似文献   

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

7.
由于Java Web应用业务场景复杂,且对输入数据的结构有效性要求较高,现有的测试方法和工具在测试Java Web时存在测试用例的有效率较低的问题.为了解决上述问题,本文提出了基于解析树的Java Web应用灰盒模糊测试方法.首先为Java Web应用程序的输入数据包进行语法建模创建解析树,区分分隔符和数据块,并为解析树中每一个叶子结点挂接一个种子池,隔离测试用例的单个数据块,通过数据包拼接生成符合Java Web应用业务格式的输入,从而提高测试用例的有效率;为了保留高质量的数据块,在测试期间根据测试程序的执行反馈信息,为每个数据块种子单独赋予权值;为了突破深度路径,会在相应种子池中基于条件概率学习提取数据块种子特征.本文实现了基于解析树的Java Web应用灰盒模糊测试系统PTreeFuzz,测试结果表明,该系统相较于现有工具取得了更好的测试准确率.  相似文献   

8.
模糊测试技术研究综述   总被引:3,自引:1,他引:3  
张雄  李舟军 《计算机科学》2016,43(5):1-8, 26
软件中的安全漏洞可能导致非常严重的后果,因此漏洞挖掘已成为网络与信息安全领域的重大课题和研究热点。目前常用的漏洞挖掘技术包括静态分析、动态分析、二进制比对、模糊测试等。随着软件的规模和复杂度不断增大,模糊测试具有其它漏洞挖掘技术无法比拟的优势。首先介绍和分析了各种漏洞挖掘技术的优点和缺点;然后分别详细描述了模糊测试的研究进展、模糊测试的过程、测试用例的生成技术;最后介绍了模糊测试在各个领域的应用,并对其发展方向进行了展望。  相似文献   

9.
随着移动互联网与信息技术的快速发展,越来越多的应用程序融入人们的生活,但这些应用程序中存在的漏洞严重威胁着用户隐私和信息安全。近年来,模糊测试作为流行的漏洞挖掘技术之一,因其漏洞易复现且误报率低的特点而被广泛地使用。它能随机生成测试用例并执行程序,通过覆盖率或样本生成方面的优化以检测更深的程序路径。但是模糊测试中的变异操作存在一定的盲目性,易使生成的测试样本执行相同程序路径。因此传统模糊测试普遍存在挖掘效率低、输入构造的随机性强、算法对程序结构针对性有限等问题。针对上述问题,提出了基于深度强化学习的高性能导向性模糊测试方案,通过程序插桩等方法获取程序运行时的信息,使用深度强化学习网络指导模糊测试选择测试样本,生成有针对性和导向性的测试样本以快速逼近并检验可能存在漏洞的程序路径,从而提高模糊测试的效率。实验表明,在LAVA-M测试集与真实应用程序LibPNG和Binutils上,所提方案比流行模糊测试工具AFL与AFLGO在漏洞检测与复现等方面有着更好的表现,因此该方案可为今后的漏洞挖掘和安全研究提供支撑。  相似文献   

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

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

12.
为增加模糊测试工具对程序的感知能力,提高样本变异效率,有效提高代码覆盖率,在原有基于覆盖率反馈基础上,提出一种结合污点分析技术的混合模糊测试样本生成手段。利用污点分析感知程序中对魔数、哈希、类型数据字段的格式检验,辅助样本生成;采用共享生成样本的方式,与传统模糊测试工具相结合实现混合模糊测试;基于以上思路,实现混合模糊测试工具taintfuzz,对现实使用的图像和音频解析程序(audiofile、exiv2、libav)进行测试,挖掘到多个漏洞,以此申请到5个CVE编号。测试结果表明,taint fuzz能够有效减少对初始样本的依赖,提高代码覆盖率和漏洞触发数。  相似文献   

13.
模糊测试技术在发现真实程序漏洞中具有突出效果.近年来,模糊测试改进技术受到了相关学者的广泛关注,大量的优化模糊测试工具被相继提出,被提出的优化模糊测试工具多数结合了多种改进技术以期望达到更好的效果.然而,当前仍然缺乏对单一模糊测试改进技术的系统性评估与分析.本文首先基于4个指标,设计建立了一个针对单一模糊测试改进技术的评估体系,然后基于所提出的评估体系,对近年提出的先进模糊测试工具中集成的多个单一模糊测试改进算法进行了多组实验以评估不同改进技术类别中各个单一改进技术的改进效果,并结合实验数据与实际算法设计和代码实现进行分析.我们希望通过对单一模糊测试改进技术的评估与分析能够对未来的模糊测试改进研究工作提供帮助.  相似文献   

14.
模糊测试在挖掘软件安全漏洞、提高软件安全性方面发挥着巨大的作用,本文针对模糊测试变异策略效率较低以及种子评分策略不合理的问题进行了讨论,提出了基于聚类的变异优化策略和基于新覆盖信息的能量分配策略.第1个改进策略通过产生新覆盖的非确定性变异提取有效的组合变异位置,然后利用聚类算法进一步确定有效变异的位置,在变异阶段对有效变异的位置进行细粒度确定性变异.本文第2个改进策略针对种子评分策略,种子产生的新覆盖信息与静态分析的分支转移信息作为种子评分的重要指标.我们将改进后的模糊测试工具-AgileFuzz与现有的模糊测试改进工具AFL 2.52b、AFLFast以及EcoFuzz进行比较,对binutils、libxmll2等开源程序进行了多次实验.实验结果表明, AgileFuzz在相同时间内发现了更多的程序分支覆盖,并且在测试过程中发现了fontforge、harfbuzz等开源软件中5个未知的漏洞.  相似文献   

15.
基于覆盖率引导的模糊测试(Fuzzing)是当前最有效的漏洞自动挖掘技术.目前大部分的模糊测试工具对于新产生的测试用例实施全追踪策略.但是随着时间的流逝,模糊工具生成的测试用例都集中在程序的高频路径,使能够产生新覆盖的测试用例远少于已生成测试用例的总数,以至于全追踪策略花费了大量无意义的时间成本和运行开销.因此提出基于异常检测模型的模糊测试工具ADFuzz,筛选低频路径以减少高频路径的执行次数,从而加速模糊测试,持续引导模糊测试朝着低频路径方向变异运行,并扩大程序覆盖.通过ADFuzz,AFL,Untracer在12个真实程序上运行24 h的实验结果显示,相比AFL,ADFuzz平均速度提升23.8%,平均覆盖率增加11.78%,最高增加25.8%;相比Untracer,ADFuzz平均速度降低较少,但是漏洞数量和覆盖率都有较大提升.  相似文献   

16.
文章针对传统网络协议挖掘的缺陷,着重分析了传统网络协议的分析手段、漏洞类型、产生原因和挖掘方法。文章针对传统网络协议挖掘中协议的分析过程不能自动化、构造Fuzz的数据不符合网络协议格式规范和交互的流程导致无法深入快速地进行漏洞挖掘的缺点,提出了一种基于自动化协议分析算法、流量聚类分类算法、深度数据包检测技术、Fuzz技术相互整合的自动化协议分析漏洞挖掘工具设计方案。文章设计了一套自动化协议分析的漏洞挖掘系统,给出了系统的工作流程和组织结构,以及各个模块的功能和相互之间的关系,实现了一个自动化协议分析漏洞挖掘系统的原型。文章的最大创新是通过自动化协议分析、流量聚类分类算法和DPI技术的有机结合,实现了自动化协议分析、自动形成测试路径的网络协议漏洞挖掘技术。  相似文献   

17.
模糊测试作为最有效的漏洞挖掘方法,在网络协议安全检测领域应用广泛,并且诞生了大量的研究成果。目前还没有工作对协议模糊测试技术进行全面的总结和分析。首先回顾了协议模糊测试的发展历程,按照其工作流程(预处理,种子生成,执行过程监测以及结果分析)总结现有协议模糊测试所做的工作以及不足;之后,分析了不同环境下协议模糊测试技术的挑战以及解决方法;最后讨论了当前协议测试方法存在的局限性,以及未来的发展方向。  相似文献   

18.
模糊测试是一种有效的漏洞挖掘技术.为改善模糊测试因盲目变异而导致的效率低下的问题,需要围绕输入特征、变异策略、种子样本筛选、异常样本发现与分析等方面不断定制模糊测试器,从而花费了大量的定制成本.针对通用型模糊测试器(即支持多类输入格式及目标软件的模糊测试器)的低成本定制和高可扩展性需求,本文首次提出了一种可编程模糊测试框架,基于该框架漏洞挖掘人员仅需编写模糊测试制导程序即可完成定制化模糊测试,在不降低模糊测试效果的基础上可大幅提高模糊测试器开发效率.该框架包含一组涉及变异、监控、反馈等环节的模糊测试原语,作为制导程序的基本语句;还包含一套编程规范(FDS)及FDS解析器,支持制导程序的编写、解析和模糊测试器的生成.基于实现的可编程模糊测试框架原型Puzzer,在26个模糊测试原语的支持下,漏洞挖掘人员平均编写54行代码即可实现当前主流的5款万级代码模糊测试器的核心功能,并可覆盖总计87.8%的基本操作.基于Puzzer实现的AFL等价模糊测试器,仅用51行代码即可达到与AFL相当的模糊测试效果,具有良好的有效性.  相似文献   

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

20.
针对现有的并行模糊测试在测试效率、资源利用率以及异常处理上的局限性,本文围绕测试资源的生成、使用及容错三个方面提出了一种动态资源感知的系统化解决方案。针对测试环境在大规模和多场景两个维度快速搭建的需求,提出一种基于云平台的动态构建方法,加快测试环境部署,提高有效fuzz时间;针对并行模糊测试中资源利用率低的问题,提出一种多层次并行度动态调整的资源配置策略,优化整体测试资源配置并提高单机负载;针对大规模并行测试中节点易发生故障的问题,提出基于优先级调度的容错处理方法。最后,本文设计并实现了一个基于四级流水线并行处理结构的通用模糊测试框架。实验证明,该框架能够有效提高并行模糊测试的测试效率和资源利用率,实现系统的有效容错。  相似文献   

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

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