`
kang
  • 浏览: 463938 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

模糊测试(Fuzzing Test)个人小结

阅读更多

1.概念:在软件测试过程中,一个程序被随机产生的数据大量验证。


2.起源:事实上这不是一种新技术,它早在1989年就被威斯康星州的麦迪逊大学Barton Miller教授发明。


3.发展:由于目前人们聚焦于开发更加安全的软件,模糊测试才被更加广泛应用并成为公认的代码测试方法。


4.思想:自动产生和发送大量随机的或经过变异的输入值给软件,假如该程序在应对任一输入值时失效,开始出现冲突、锁住、消耗大量内存或者产生不可控制的程序错误,开发者就知道代码中某处出现了bug。因此这个缺陷可能在程序发布或者配置前被定位并予以矫正,从而使可能的程序漏洞不出现在程序最终发行版本中。


5.使用:比较有效的模糊测试,并不是用大量纯随机数据直接来测试,而是对已知有效数据、故意错误数据和随机数据的联合调试。使用已知有效数据的目的是跳过不感兴趣的代码片段,或者说是为了防止程序在抵达一个欠缺的代码块前出现拒绝信息。使用故意错误数据的目的是利用已知或我怀疑将成为代码中缺陷的情况。最后,使用随机数据的目的就是看看会发生什么。

 

-->>20091201追加:不直接完全使用随机数据,而是采用3种数据的联合来进行模糊测试,那就对测试者提出了更高的要求,特别是故意错误数据的设计,需要测试人员对程序代码较为熟悉,否则设计不出来。

 


6.扩展:在模糊化的过程中,测试方法会随着我们对可疑行为的进一步了解而得到完善。例如,我们的模糊处理程序中最初包含了随机数据。如果发现了错误,我们会发送故意错误数据以试图利用它。这种启发式方法是两个领域的最佳方案:人类直觉和计算机自动化。


7.优点:成本较低、效率较高,自动化,容易配置,是一种有效的软件测试方法


8.缺点:在测试覆盖率方面仍处于相对未知的领域


我的理解-->>不同于安全测试主要关注系统的安全漏洞和隐患,模糊测试主要关注代码的漏洞和薄弱环节。尽管两者有一定的交集,但是各自的侧重点还是不一样的。

 

 

 

分享到:
评论
3 楼 hugh1st 2010-11-07  
模糊测试主要适合哪些软件/项目的测试呢?看《测试之美》的时候了解了一点点,作者是用于做办公软件的测试,此外呢?谢谢了!
2 楼 kang 2010-01-15  
呵呵,互相学习哦~~
1 楼 TarzanWang 2010-01-13  
Fuzzing Test呀,学习了,谢谢

相关推荐

    模糊测试Fuzzing详细总结.md

    fuzzing 模糊测试Fuzzing详细总结.md

    Fuzzing_模糊测试--强制性安全漏洞发掘

    14.3.2 智能强制性模糊测试和基于生成的模糊测试 14.3.3 修改的客户端变异模糊测试 14.4 错误检测 14.4.1 人工方法(基于调试器) 14.4.2 自动化方法(基于代理) 14.4.3 其它方法 14.5 小结 第15章 网络协议模糊...

    Fuzzing-模糊测试--强制性安全漏洞发掘

    在模糊测试中,用随机坏数据(也称做 fuzz)攻击一个程序,然后等着观察哪里遭到了破坏。模糊测试的技巧在于,它是不符合逻辑的:自动模糊测试不去猜测哪个数据会导致破坏(就像人工测试员那样),而是将尽可能多的...

    针对私有协议的模糊测试技术研究

    模糊测试(Fuzzing)技术是一种很有效的自动化软件漏洞挖掘技术,将其运用到网络 协议测试领域非常具有现实意义.本文结合网络协议本身的特点,分析了对网络协议进行模糊 测试需要注意的关键问题,并在传统模糊测试...

    Fuzzing for software vulnerability

    一本有关fuzzing(模糊测试)技术的书籍 英文版

    Fuzzing-模糊测试--强制性安全漏洞发掘.docx

    Fuzzing-模糊测试--强制性安全漏洞发掘.docx

    基于变异树的黑盒模糊测试方法

    本发明公开了一种基于变异树的黑盒模糊 测试方法及系统,包括:S1,构建变异树,生成...成新的模糊测试用例组,转到S3,直至遍历完整 棵变异树,完成目标程序的模糊测试。本发明解 决了漏洞被遗漏的问题,实现充分测试

    OneFuzz 是微软开源的一个自托管的模糊测试服务(Fuzzing-As-A-Service)平台

    OneFuzz 是微软开源的一个自托管的模糊测试服务(Fuzzing-As-A-Service)平台。Project OneFuzz 使开发人员驱动的模糊测试能够主动进行 在发布之前强化软件。用单 命令,可以烘焙到 CICD,开发者可以启动 模糊作业从...

    模糊测试(fuzzing)是什么

    概念是懂的,不外乎是“模糊测试是一种软件测试技术,其核心思想是自动或半自动的生成随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏”。这种定义也许...

    模糊测试 强制发掘安全漏洞的利器

    《模糊测试:强制发掘安全漏洞的利器》是一本系统性描述模糊测试的专著,介绍了主要操作系统和主流应用类型的模糊测试方法,系统地描述了方法和工具,并使用实际案例帮助读者建立直观的认识。随着软件安全性问题变得...

    论文研究-基于范式语法的工控协议Fuzzing测试技术.pdf

    针对工控协议Fuzzing测试存在测试脚本编写工作量大、测试用例的覆盖面小、测试效率低等问题,提出了一种基于范式语法的工控协议Fuzzing测试方法。首先以改进的扩展巴科斯范式(modified augmented Backus-Naur form...

    EfficientSIPFuzzing:这是论文《An Efficient Fuzzing Test Method For SIP Server》的

    高效的SIP模糊测试 这是论文《An Efficient Fuzzing Test Method For SIP Server》的源码。

    非主流Fuzzing-模糊测试在⾮内存型漏洞挖掘中的应⽤.pdf

    非主流Fuzzing-模糊测试在⾮内存型漏洞挖掘中的应⽤ 渗透测试 安全防护 工控安全 安全运维 大数据

    基于模糊测试的工控网络协议漏洞挖掘方法

    为解决传统漏洞挖掘方法不能在工控系统中直接应用的问题,提出一种基于模糊测试的 工控网络协议漏洞挖掘方法。使用工控网络协议测试用例变异因子生成协议特征值,每个变异因子 代表一类工控系统漏洞的特征。变异因子...

    java安卓辅助源码-FuzzingPaper:最近的模糊测试论文

    java安卓辅助源码与模糊测试相关的最新论文 所有论文(按会议分类) 标准普尔 2020 年 SAVIOR:走向错误驱动的混合测试 标准普尔 2019 年 NEUZZ:使用神经程序平滑进行高效模糊测试 通过二维输入空间探索模糊文件...

    DBMS模糊测试工具使用指南dbms-fuzzing-scu-master

    fuzzing 本工具仅包括Fuzzer部分,不包括插桩部分。插桩部分与AFL相同,具体使用方法请参考AFL。插桩时最好使用稀疏插桩,或对数据库关键模块进行插桩。如果用稀疏插桩,OpenGaussDB的插桩比例最好不高于10%。如果仅...

    数据模糊测试库Fuzzino.zip

    Fuzzino 是弗劳恩霍夫研究所(德国也是欧洲最大的应用科学研究机构)研究人员近日开源了一个数据模糊测试(fuzz testing或fuzzing)库。 模糊测试是一种基于缺陷注入的自动软件测试技术,它通过向系统输入大量的...

    亚信java笔试题-fuzzing-tutorial:模糊教程

    完成一个模糊测试框架,结合实际的练习,如果想编写自己的测试框架,可以参考本书。 (2018):本书将模糊测试的思想引入软件开发生命周期,事实上很多高效的 fuzzing 测试往往在开发阶段就已经考虑到,该书探讨了 ...

    论文研究-一种基于FSM的BGP-4协议模糊测试方法.pdf

    为了解决这些问题,提出了一种基于有限状态机的BGP-4协议模糊测试方法BFuzz,设计了测试序列生成算法TSGF(Test Sequences Generation for Fuzzing)和测试用例生成算法TCGVF(Test Cases Generation based on ...

Global site tag (gtag.js) - Google Analytics