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

2.
本文针对盲目变异的模糊测试策略带来的效率低下的问题,综合程序控制流图、输入种子样本特征、异常样本发现、模糊测试器路径反馈等信息,提出一种更为有效的种子输入变异策略.本文通过不断监控种子文件在目标程序中的执行路径,并引入污点分析的方法,以建立起新增执行路径的起始语句与种子文件中关键字节的一对多映射关系.最终本文将根据这种映射关系对种子文件中的能够增加路径覆盖的字节进行变异,以期得到更有效率的模糊测试结果.我们的实验表明,增加定向变异之后的模糊测试器在代码覆盖率,以及模糊测试的效率上都有较为显著的提升.  相似文献   

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

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

5.
针对常规模糊测试挖掘Android系统服务漏洞效率低的问题,提出并实现基于遗传算法的Anddroid系统服务漏洞挖掘框架ASFuzzer。该框架利用Binder驱动与系统服务的交互向目标发送测试用例。测试过程中根据结果的反馈,引导遗传算法对测试参数不断变异,并提出一种高效的基于概率排序与组合的遗传选择算子模型,从而提高样本覆盖率和模糊测试效率。通过框架在不同系统版本手机上的测试,挖掘到多个系统服务漏洞。与传统模糊测试方法相比,实验结果表明本文方案在漏洞挖掘效率方面更具有优势。  相似文献   

6.
AFL(American Fuzzy Lop)是软件安全性测试领域的重要框架,为了提升该框架的有效性,学术界和工业界提出了成百上千种改进方案,但是这些改进方案通常基于AFL源码直接修改完成,不同方案之间很难相互结合。针对该问题,本文基于AFL++框架进行封装和改进,设计了一个可编程模糊测试引擎,首先设计模糊测试引擎的编程接口,然后通过应用控制反转模式,在AFL++框架的基础上进行封装打包,构建了IoCAFL++原型系统,使得研究人员能够对IoCAFL++进行编程控制,以相对容易和统一的方式将不同的能量分配策略、种子调度策略、用例变异策略等编排到模糊测试过程中,从而支持相关研究的快速验证。为了示例验证IoCAFL++的能力和有效性,IoCAFL++原型集成了一种基于比较指令操作数敏感的测试用例搜索策略,并进行了实验验证,实验结果表明IoCAFL++具备良好的可编程性和可扩展性,基于IoCAFL++能够快速验证和集成不同的模糊测试改进方案,从而为模糊测试领域其他创新研究提供基础框架支撑。  相似文献   

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

8.
在黑盒环境下,污点导向型模糊测试是挖掘指定脆弱代码区域潜在漏洞的重要技术.该技术将程序的输入当作污点值,使用动态污点跟踪技术定位与脆弱区域相关联的部分输入.随后的模糊测试阶段将只变异锁定的输入,从而避免了与脆弱区域无关的大量变异.然而,以往的研究并未对该技术的实际使用限制、效率提升做出系统、数学的分析.为了解决这一问题,本文采用14个CVE漏洞实例对该技术的适用范围进行基准测试与限制分析,将模糊测试过程抽象成几何分布以估计其效率提升与性能变化趋势.分析表明,在有元数据污点传播关系的漏洞挖掘中,该技术存在限制.同时,实验验证了效率估计公式具有良好的参考价值.  相似文献   

9.
针对驱动程序在运行过程中难以监控和输入复杂的问题,提出并实现基于适应度和输入约束模型的驱动程序模糊测试工具DrgenFuzzer。该工具利用内核跟踪技术结合二进制程序的静态分析实现驱动运行的信息监控;分析驱动接口参数,设计了样本约束的方案;提出了新型适应度计算方案和交叉变异方案。实验证明,与常用的内核模糊测试工具对比,该工具经过输入约束模型之后生成的样本测试成功率达到了其他工具的10倍以上,生成的样本质量更高。该工具对驱动程序进行模糊测试,挖掘到 i2c驱动中的空指针引用漏洞。DrgenFuzzer能有效引导和规范样本生成,提高了样本测试成功率和运行效率,增强了漏洞挖掘能力。  相似文献   

10.
模糊测试作为一种自动化检测应用程序漏洞的方法, 常常被用来检测各种软件以及计算机系统的漏洞挖掘中. 而种子文件质量的高低对于模糊测试的效果而言至关重要. 所以本文提出了一种基于机器学习的模糊测试种子输入的生成方法, 利用样本输入和基于机器学习的技术来学习样本输入的规则和语法. 并利用学到的规则和语法来生成全新的种子输入. 我们还提出了一个采样方法. 使得这些新的种子输入的覆盖率较之前有了明显提升.  相似文献   

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

12.
定向模糊测试旨在快速生产测试用例,达到给定的程序目标位置区域并发现程序错误。但目前的定向模糊测试工具普遍存在测试效率较低的问题,为此提出了一种基于神经网络的定向灰盒模糊测试方法,通过学习过去的模糊探索输入文件中不同位置的变异模式以生成模型来预测当前种子能够产生输入增益的位置,从而指导模糊器进行优化突变。同时为了解决定向灰盒模糊器中探索与开发的权衡问题,引入了一种动态策略在模糊测试过程中自适应协调两个阶段。基于现有的模糊测试框架AFL实现了一个原型系统,命名为DYNFuzz,并在3个基准上对其进行了测试和评估,实验结果表明,DYNFuzz具有比其他模糊器更高的定向性能和测试效率,并且不会陷入由探索开发不平衡导致的局部困境。  相似文献   

13.
Grey-box fuzzing is an effective technology to detect software vulnerabilities, such as memory corruption. Previous fuzzers in detecting memory corruption bugs either use heavy-weight analysis, or use techniques which are not customized for memory corruption detection. In this paper, we propose a novel memory bug guided fuzzer, ovAFLow. To begin with, we broaden the memory corruption targets where we frequently identify bugs. Next, ovAFLow utilizes light-weight and effective methods to build connections between the fuzzing inputs and these corruption targets. Based on the connection results, ovAFLow uses customized techniques to direct the fuzzing process closer to memory corruption. We evaluate ovAFLow against state-of-the-art fuzzers, including AFL (american fuzzy lop), AFLFast, FairFuzz, QSYM, Angora, TIFF, and TortoiseFuzz. The evaluation results show better vulnerability detection ability of ovAFLow, and the performance overhead is acceptable. Moreover, we identify 12 new memory corruption bugs and two CVEs (common vulnerability exposures) with the help of ovAFLow.  相似文献   

14.
杨克  贺也平  马恒太  蔡春芳  谢异  董柯 《软件学报》2022,33(11):3967-3982
定向灰盒模糊测试技术在度量种子对目标执行状态的搜索能力时,除了考虑种子逼近目标代码的程度之外,还需要分析种子对多样化执行状态的发现能力,从而避免陷入局部最优.现有的定向灰盒模糊测试主要根据全程序的覆盖统计来度量种子搜索多样化执行路径的能力.然而,目标执行状态仅依赖于部分程序代码.如果带来新覆盖的种子并未探索到目标状态计算所依赖的新执行状态,其不仅不能扩大种子队列对目标执行状态的搜索能力,而且会诱导测试目标无关的代码和功能,阻碍定向测试向目标代码的收敛.为了缓解该问题,从待发现目标执行状态依赖代码的覆盖统计着手,提出了一种有效覆盖引导的定向灰盒模糊测试方法.利用程序切片技术提取影响目标执行状态计算的代码.通过能量调度(即控制种子后代生成数量),提升引发该部分代码控制流新覆盖变化的种子能量,降低其他冗余种子的能量,使定向灰盒模糊测试专注于搜索目标相关的执行状态.在测试集上的实验结果显示,该方法显著提升了目标状态发现效率.  相似文献   

15.
Fuzzing is known to be one of the most effective techniques to uncover security vulnerabilities of large-scale software systems.During fuzzing,it is crucial to distribute the fuzzing resource appropriately so as to achieve the best fuzzing performance under a limited budget.Existing distribution strategies of American Fuzzy Lop (AFL) based greybox fuzzing focus on increasing coverage blindly without considering the metrics of code regions,thus lacking the insight regarding which region is more likely to be vulnerable and deserves more fuzzing resources.We tackle the above drawback by proposing a vulnerable region-aware greybox fuzzing approach.Specifically,we distribute more fuzzing resources towards regions that are more likely to be vulnerable based on four kinds of code metrics.We implemented the approach as an extension to AFL named RegionFuzz.Large-scale experimental evaluations validate the effectiveness and efficiency of RegionFuzz-11 new bugs including three new CVEs are successfully uncovered by RegionFuzz.  相似文献   

16.
模糊测试被广泛应用于各种软件和系统的漏洞挖掘中.而模糊测试的效果与其采用的变异策略以及初始种子文件的代码覆盖率有直接的关系.本文提出了一种基于深度学习的种子文件生成方法,分析并学习初始种子文件和其在目标程序中的执行路径之间的关系,最终输出可能覆盖新执行路径的种子文件,从而提高初始种子文件集合的代码覆盖率.我们以PDF阅读器作为目标程序进行了实验,实验结果表明该方法所生成的种子文件保证了良好的通过率,而且明显提高了代码覆盖率.同时实验证明该方法在针对多种PDF阅读器进行模糊测试时都获得了更高的代码覆盖率.  相似文献   

17.
模糊测试是一种安全测试技术,主要用于检测安全漏洞,近几年模糊测试技术经历了快速发展,因此有必要对相关成果进行总结和分析.通过搜集和分析网络与系统安全国际四大顶级安全会议(IEEE S&P,USENIX Security,CCS,NDSS)中相关的文章,总结出模糊测试的基本工作流程,包括:预处理、输入数据构造、输入选择、评估、结果分析这5个环节,针对每个环节中面临的任务以及挑战,结合相应的研究成果进行分析和总结,其中重点分析以American Fuzzy Lop工具及其改进成果为代表的,基于覆盖率引导的模糊测试方法.模糊测试技术在不同领域中使用时,面对着巨大的差异性,通过对相应文献进行整理和分析,总结出特定领域中使用模糊测试的独特需求以及相应的解决方法,重点关注物联网领域,以及内核安全领域.近些年反模糊测试技术以及机器学习技术的进步,给模糊测技术的发展带来了挑战和机遇,这些机遇和挑战为下一步的研究提供了方向参考.  相似文献   

18.
Fuzzing 测试技术能够自动识别出二进制文件中的安全问题,这是一个新兴值得研究的领域。Fuzzing 技术从早期的手工方式逐渐发展为现在的自动化甚至智能化方式。文章对现有的 Fuzzing 测试方法进行了比较和研究,总结目前 Fuzzing 测试框架的特点,并预测了其未来发展方向。  相似文献   

19.
方浩然  郭帆  李航宇 《软件学报》2022,33(6):1978-1995
覆盖反馈的灰盒Fuzzing已经成为漏洞挖掘最有效的方式之一.广泛使用的边覆盖是一种控制流信息,然而在面向污点风格(taint-style)的漏洞挖掘时,这种反馈信息过于粗糙.大量污点无关的种子被加入队列,污点相关的种子数量又过早收敛,导致Fuzzing失去进化方向,无法高效测试Source和Sink之间的信息流.首先,详细分析了现有反馈机制在检测污点风格漏洞时不够高效的原因;其次,提出了专门用于污点风格漏洞挖掘的模糊器TaintPoint.TaintPoint在控制流轨迹的基础上加入了活跃污点这一数据流信息,形成活跃轨迹(livetrace)作为覆盖反馈,并围绕活跃轨迹分别在插桩、种子过滤、选择和变异阶段改进现有方法.在UAFBench上的实验结果表明:TaintPoint检测污点风格漏洞的效率、产出和速度优于业界领先的通用模糊器AFL++及定向模糊器AFLGO;此外,在两个开源项目上发现了4个漏洞并被确认.  相似文献   

20.
软件脆弱性已成为互联网安全的主要威胁来源,软件脆弱性分析技术的重要性日益突出。模糊测试是脆弱性分析的热点技术之一,通过持续生成测试用例、动态监控目标代码执行和反馈调节变异策略的方法尝试触发程序异常,具有部署便捷、适用性广和效果直观的优点。随着测试目标的复杂性增加,从业人员对模糊测试的效率提出了更高的要求。并行模糊测试通过并行执行、任务分解和共享信息等方法提高脆弱性分析的效率。首先,分析了基于覆盖反馈的模糊测试面临的主要挑战;之后,探讨了并行模糊测试的解决思路和方案,从系统结构、任务划分、语料库共享和崩溃去重等方面对并行模糊测试进行了综述;最后,总结了现有并行模糊测试的优缺点,并对未来发展方向进行了展望。  相似文献   

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

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