微软公司的工程师们最近利用一种名为“Fuzzing”的测试技术发现了Office2010软件中的1800多处bug。Fuzzing测试技术是软件 开发者和安全专家们常用的一种新型软件bug自动化测试技术,其原理是自动用随机的方式将软件所需处理的数据进行修改,使这些数据成为非法数据,并测试软 件对这些非法数据的响应状况。在某些情况下,向软件传输非法数据会导致程序崩溃并产生黑客可利用的漏洞,黑客可利用这些漏洞来插入恶意代码等。对 Fuzzing测试技术的研究是目前黑白两道的安全专家们的热点所在。
“我们在Office2010的代码中发现了1800多处bug,”微软可信赖计算部门(Trustworthy Computing group)的首脑Tom Gallagher表示,“尽管bug的数量较多,但需要说明的是这些bug并不等同于安全漏洞。我们也会积极地修补其中一些涉及系统安全的漏洞。”不过他拒绝透露这些bug中涉及系统安全漏洞的bug的具体数量,只称微软的Office2010开发组确实发现了一些安全漏洞。
Gallagher还表示,Office2010先前版本的Office软件中,一些与这次新发现的Office2010的非安全性性bug类似的漏洞则会在最新的sp升级版本中得到修复。
有趣的是,这次微软用来进行Office2010 Fuzzing测试的工具不只是公司试验室中的机器,他们还动用了公司闲置的员工用电脑进行这项测试。这种测试方法与Prime95等协同计算程序的理念非常相似,就是利用互联网上的许多机器来分别负责一部分计算,在客户机处于闲置状态时,安装在客户机上的这种软件会自动开始Fuzzing计算,然后再将这些计算的结果通过网络传输给服务器合并成最终的计算结果,从某种程度上看,这种技术与僵尸网络的设计思想也非常相同。
“我们称这种计算网络为Fuzzing用僵尸网络,”Gallagher风趣地将这种学名为分布式Fuzzing框架(DFF)的技术称为僵尸网络。据称这种Fuzzing僵尸网络测试技术是由Access团队的设计师David Conger所开发出来的。
过去,微软公司做Fuzzing测试的方法则是在单台机器上连续运行一周时间,而现在“我们不需要花太多的力气就可以做1200万次运算”Gallagher称:“过去要花数天时间完成的计算现在只要一个小时就能完成了。”
尽管Office开发团队已经在使用这种DFF测试技术,但微软公司内部只有少数的几个其它开发团队也在使用类似的技术,目前只有SharePoint团队,MSN客户端团队,Fast search团队在使用DFF测试技术,而Windows开发团队则没有使用这种技术。
不过微软的这种做法则遭到了一些安全专家的嘲笑,指其做法相当"愚笨",而且还嘲笑微软,苹果以及Adobe公司对其软件所作的Fuzzing测试很不充分.三届Pwn2Own黑客技能竞赛的得主Charlie Miller上周在访谈节目的现场,使用了一种非常简单的Fuzzing测试技术,只使用了5台电脑,便测试出了微软Powerpoint,Mac OSX,苹果Safari以及Adobe Reader软件中存在的20处安全漏洞和数百了可引起程序崩溃的bug。
Miller拒绝透露这些软件漏洞的细节信息,不过他提供了他所使用的测试方法的细节。他表示:“我只是想教教他们该如何正确地找出程序的这些bug,这样他们以后做Fuzzing测试时就会更仔细小心。”
不过Gallagher则没有就微软是否会采纳Miller的建议而发表肯定的评论,他说:“我们正在研究他的技术,研究如何复制和应用这种技术,使其为我们所用。”