什么是模糊测试以及它如何工作? | Synopsys
目录

定义

模糊测试是一种自动化软件测试方法,它向系统注入非法、畸形或非预期的输入,以揭示软件缺陷和漏洞。模糊测试工具将这些输入注入系统,然后对诸如崩溃或信息泄漏等异常情况进行监控。更简单地说,模糊测试将意外非预期的输入引入到系统中,以查看系统是否对这些输入产生任何指示安全性、性能或质量差距或问题的负面反应。

模糊测试历史?

据 fuzzing.info 所述,Barton Miller 教授在 20 世纪 80 年代提出了“模糊”一词。在风暴期间,Miller 通过拨号网络登录 UNIX 系统,发现信号受到相当大的干扰。干扰最终导致了崩溃。后来,Miller 让他的学生用一个模糊发生器模拟他的经历,用噪音“轰炸” UNIX 系统,看看他们是否会崩溃。


模糊测试如何工作?

模糊测试的基本前提是将特意构造的畸形输入引入到系统中,以识别故障。模糊测试工具有三个关键组件:“诗人” (poet) 会创建畸形输入或测试用例,“信使” (courier) 将测试用例传送给目标软件,以及“神使” (oracle) 检测目标软件是否存在故障。

该过程从诗人开始,该诗人创建测试用例以在目标软件上进行尝试。测试用例可以是随机的、基于模板演进的或基于模型的。随机模糊测试涉及插入到系统中的随机数据。基于模板演进的模糊测试将异常引入到有效输入中,然后对在初始测试期间系统的行为的反馈加以考虑、处理,以使后续测试有所变化且更有效。基于模型的测试用例则基于对需要测试的协议、文件格式或 API 的理解 — 即测试了解系统的规则。因此,基于模型的模糊测试能够系统地打破所有规则。

接下来,信使传递测试用例。传递方法因要执行的模糊测试类型而有很大差异,但最终目标始终相同:向目标传递测试。

最后,神使确定测试用例是否通过。神使检查目标系统,查看是否已发生任何形式的故障。了解故障至关重要 — 如果没有此信息,测试人员将无法重现故障、检查故障并确定故障修复方法。

 


模糊测试的优点是什么?

模糊测试为安全和质量方案提供了各种优势。

  • 模糊测试提供了对目标系统和软件质量的全面了解。使用模糊测试,您能够轻松考量被测系统和软件的稳健性和安全风险状况。
  • 模糊测试是恶意黑客用于查找软件漏洞的主要技术。在安全方案中使用该技术,有助于防止源自系统中的未知漏洞和弱点的零日攻击。
  • 模糊测试只需耗费很少的成本和时间。模糊测试一旦启动并运行,就可以开始自行查找错误,无需人工/人为干预,并且可以根据需要长时间持续。
  • 模糊测试有助于发现常规测试方法或人工审计无法检测到的错误
模糊测试步骤 | Synopsys

使用免费或开源的模糊测试工具会面临哪些挑战?

通常,开源的模糊测试工具会带来各种挑战。

  • 开源的模糊测试工具可能无法找到所有错误,特别是如果错误没有触发完整的程序崩溃,或者仅在定义明确且高度特定的情况下才会触发的错误。
  • 顾名思义,开源的模糊测试工具是一种不透明的测试方法。这使得难以复现和分析测试结果,因为开源的模糊测试工具无法提供更多的有关软件内部操作运行方式的深入信息。
  • 具有复杂输入的软件程序需要高级和智能的模糊测试工具,从而提供保护软件安全所需的全面而完整的测试覆盖度。

 


Synopsys 如何提供帮助?

Synopsys 业界领先的 Defensics® 模糊测试工具是一款全面的自动化解决方案,可使组织智能地测试其软件,轻松发现并解决未知的漏洞和弱点,同时不影响其产品的安全和质量性能。Defensics 的强大之处在于对协议、文件格式以及网络和目标接口的深入理解,这点使 Defensics 能够应用真正的智能,从而将非功能性测试用例的数量缩减到关键且可管理的少数部分。借助 Defensics,您能够获得所需的模糊测试广度和深度

Defenics 凭借关键功能引领市场。

基于模型的测试。Defensics 智能测试套件类型涵盖所有技术堆栈和行业以及组织规模。Defensics 采用了业界独有的先进算法,以增加测试覆盖范围并产生高精度的结果。利用 Defences 的基于模型的测试功能,您能够识别和解决传统的和开源的模糊测试工具无法找到的漏洞。Defenics 提供超过 250 个预置协议测试套件,因此您无需创建手工测试。Synopsys 不断为新的输入类型、规范和 RFC 更新可用的测试套件。此外,您还可以利用 Defensics SDK 来支持对私有自定义协议进行测试。它可以定制我们的任何测试套件,数据序列编辑器可以涵盖 Defenics 预定义范围之外的边缘用例。

协议检测覆盖面。Defensics 是为数不多的商用模糊测试工具,具有有效保护软件安全所需的广泛的协议测试范围。Synopsys 支持的协议、接口和 RFC 比市面上的任何工具都多(近 300 个)。作为第一款经过时间检验的商用模糊测试工具,Defensics 拥有丰富的、内置于 Defensics 引擎中的多年安全研究以及实际的安全经验。因此,您可以放心信赖该解决方案。

覆盖面广。物联网5G 正在彻底改变许多行业,但这个充满机遇的新世界也带来了适合新型攻击的环境。借助 Defenics,您可以测试使用 5G 和 4G LTE 网络的软件和设备,以识别不恰当的程序处理、无效的完整性保护和不充分的安全性。请参阅我们最近的白皮书,了解 Defensic 如何帮助保护这些新兴技术。


继续阅读

解决方案
模糊测试解决方案

识别服务和协议中的缺陷和零日漏洞

博客
将模糊测试整合到 DevSecOps 中
解决方案
模糊测试套件

浏览 Defensics 的模糊测试库,其中包含超过 250 个预建的模糊测试套件

博客
使用 Defensics 模糊测试套件保护 WLAN 设备的安全
博客
Synopsys Defensics 研发团队在 5G 网络安全黑客 2021 活动中排名第二
博客
容器化模糊测试目标