每当大家讨论模糊测试技术的时候,对它的第一印象往往定格在:漏洞挖掘常用技术、闭源软件漏洞挖掘、二进制文件检测分析、黑盒漏洞检测技术等等。或者,你的心里也是这么想的?但是,我想说:经历了不同时代范式的迭代成长,模糊测试已然不是你心中认为的样子了。
1
模糊测试技术的兴起
每每提及模糊测试,大家都知道它的背景出身,模糊测试最早由威斯康星大学的BartonMiller于年提出。最开始,BartonMiller的实验内容是开发一个基本的命令列模糊器以测试Unix程式。这个模糊器可以用随机数据来「轰炸」这些测试程式直至其崩溃,从而对应用程序进行安全检测。在当时,这一简单的测试方法便已发现运行于UNIX系统上的25%以上的程序崩溃,展现出了无与伦比的测试优越性。也就是从此时起,“它”慢慢进入大家的视野。
包括现在,世界上一些大规模的组织机构也把“它”当作质量控制和网络安全操作的一部分:
1
●Google用它来检查和保护Chrome中的数百万行代码。例如,年发现了Chrome中的20,多个漏洞。
2
微软
●微软将它作为其软件开发生命周期的阶段之一,以发现漏洞并提高其产品的稳定性。
3
美国国防部(DoD)
●美国国防部(DoD)发布了DevSecOps参考设计和应用程序安全指南,两者都要求将它作为软件开发过程的标准部分。
4
华为
●华为要求所有对外提供或使用外源进行服务的C/C++代码都需要经过Fuzzing测试,且每年发现1多个TopN问题。涉及海思、数通、云核、无线、终端、华为云(存储、计算)、公共开发部、车BU等重点单位。
或许,你对它的认知还停留在相对传统的第一印象。但不难发现,现在模糊测试技术逐渐得到了公众的