`
kang
  • 浏览: 474290 次
  • 性别: 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-模糊测试--强制性安全漏洞发掘

    ### Fuzzing-模糊测试--强制性安全漏洞发掘 #### 概述与核心概念 模糊测试(Fuzzing)作为一种有效的安全漏洞发掘方法,近年来在IT安全领域引起了广泛关注。其核心理念是通过向目标系统输入大量未经筛选的、随机...

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

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

    模糊测试技术综述.docx

    模糊测试,又称为Fuzzing,是一种有效的安全测试技术,用于发现软件中的安全漏洞。近年来,随着技术的迅速发展,模糊测试已成为网络安全领域不可或缺的工具。本文将概述模糊测试的基本工作流程,分析其关键环节、...

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

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

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

    模糊测试(Fuzzing)是一种通过向目标系统输入非预期数据来检测软件缺陷或安全漏洞的技术。这种技术通常用于发现潜在的安全问题,例如缓冲区溢出、格式字符串漏洞、空指针解引用等问题。模糊测试的主要目的是在开发...

    SPIKE开源模糊测试框架

    模糊测试,也称为Fuzzing,是一种黑盒测试方法,通过向目标程序输入大量随机或半随机的数据,来探测程序可能存在的漏洞和异常行为。SPIKE作为其中的一员,它的设计目的是帮助开发者发现软件在处理不正常输入时可能...

    模糊测试(fuzzing)是什么

    模糊测试(Fuzzing)是一种广泛应用的软件测试技术,旨在发现程序中的潜在错误和安全漏洞。它的核心原理是通过自动或半自动的方式生成随机数据,这些数据被输入到待测试的程序中,然后观察程序是否出现异常行为,如...

    [初稿]基于符号执行和模糊测试的混合模糊测试技术综述1

    模糊测试(Fuzzing)是目前最流行的自动化软件漏洞挖掘工具,通过将大量随机的测试用例输入到待测试程序(经过插桩处理的测试程序),获取覆盖率等测试信息以及可能会出现的崩溃信息。模糊测试具有自动化程度高、...

    Open Source Fuzzing Tools

    #### 一、模糊测试(Fuzzing)概览 **模糊测试(Fuzzing)**是一种软件测试方法,通过向目标程序输入大量随机或异常数据来发现软件中的缺陷或漏洞。这种方法被广泛应用于安全评估、软件质量保证等领域,有助于提前...

    Fuzzing for software vulnerability

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

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

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

    Web_Fuzzing_Box_-_Web_模糊测试字典与一些Payloads_Web-Fuzzing-Box.zip

    Web_Fuzzing_Box_-_Web_模糊测试字典与一些Payloads_Web-Fuzzing-Box

    opensource fuzzing tools

    - **描述**:“opensource fuzzing test tools, for security test.”(开源模糊测试工具,用于安全测试) 该标题与描述共同指出了本文将讨论的主题是围绕着开源模糊测试工具及其在安全测试领域的应用。模糊测试是...

    OSS-Fuzz:容器和云计算在模糊测试中的应用 - Hanhan1

    模糊测试,或称Fuzzing,是一种自动化的软件测试技术,通过向程序提供无效、意外或随机的输入来检测潜在的漏洞。这种方法简单而有效,近年来在发现开源软件中的严重安全漏洞中占据了重要地位。 在2017年7月至9月...

    boofuzz-primer:使用Boofuzz python框架进行模糊测试入门

    模糊测试,又称Fuzzing,是一种软件安全测试技术,用于发现程序中的漏洞和不稳定行为。在本文中,我们将深入探讨如何使用Python中的Boofuzz框架进行模糊测试。Boofuzz是一个强大的、灵活的模糊测试框架,它允许测试...

Global site tag (gtag.js) - Google Analytics