-
基于Matlab的一维条形码检测技术在模糊测试领域的发展
资源介绍
第四章 校验和感知的模糊测试技术
4.1 引言
模糊测试(fuzzing/fuzz testing)技术是软件安全漏洞动态挖掘的典型方式。
然而,基于校验和机制的数据完整性检查成为传统模糊测试系统的重要障碍。
本章围绕如何绕过校验和检验机制展开研究,首次提出了一种校验和感知的
模糊测试方法,为运用传统模糊测试发现深藏的软件漏洞扫除了障碍,扩展了模
糊测试技术的应用范围。
本章内容安排如下:首先介绍模糊测试技术的发展,接下来讨论校验和机制
给现有模糊测试系统导致的困难;描述本章的研究目标后,概述校验和感知的模
糊测试的核心思想;然后,详细阐述校验和感知的模糊测试技术的原理和实现,
并给出实验结果;最后讨论校验和感知的模糊测试技术的局限和其他应用场景,
并对本章进行总结。
4.2 模糊测试技术的发展
Wisconsin大学B. P. Miller教授是模糊测试技术的开创者,为模糊测试技术
的发展做出了重要贡献。1988-1990年期间,B. P. Miller[115]提出了采用随机、
无结构化数据测试应用程序的思想,称之为模糊测试(Fuzz)。虽然该思想非
常简单,但对当时7种Unix系统的测试过程中,该方法使25-33%的Unix应用程序
崩溃。在1995、2000、2006年,B. P. Miller分别对X-window[116]、Windows[82]、
MacOS[114]等系统进行模糊测试,都发现了大量安全漏洞。
由于缺乏形式化模型和理论基础,模糊测试提出的初期饱受来自软件工
程、软件测试等领域研究人员的抨击。在B. P. Miller 为《Open Source Fuzzing
Tools》[136]一书所做的序言中提及,早期模糊测试被认为是“stone axes and bear
skins”式的方法。