微软公司花费了比任何其他的主流安全厂商更多的资金来加强软件安全,只是因为他们必须这么做,也只能只能做。对于他们在安全领域进行的所有投入而言,过去数年间公司软件产品所发现的安全漏洞数量一直有增无减,不知道微软公司调试软件的能力是否已经达到了极限。
在接受记者采访时,微软公司诚信计算集团安全工程高级总监Steve Lipner对这种猜测进行了反驳,他坚信公司的安全研发生命周期(Security Development Lifecycle,简称SDL)方法正如它的名字一样正发挥着作用。Lipner表示SDL减少了微软新产品中漏洞的数量,也让这些漏洞被黑客利用的难度更大了。
问:微软公司在安全方面的投入很大,但是产品中被发现的漏洞数量却一直在攀升。原因何在?
答:有几种说法比较盛行。其中之一就是安全攻击和安全研究环境处在变化之中。安全漏洞确实需要花钱来发现他们,因此强化了大家对外部世界漏洞的搜索。
第二个因素是SDL不仅能减少漏洞的数量,而且能减轻诸如空间随意性选择和非执行内存中存在的漏洞的严重性。我们能使得新产品中漏洞被黑客利用的难度更大。但是我们还没有采取措施来减少新产品中漏洞的严重程度,即使这些漏洞很难被利用。
问:为什么你还没有着手去做呢?
答:我们对漏洞的严重程度估计都非常保守。确实在过去十年里微软一直使用的是严重性评定系统。我们没有对严重性评定系统进行过任何的升级来反映漏洞利用的难度,这是因为我们非常确信没有这种方法。对此一些人编写了直截了当的攻击程序来证明我们是错误的。
问:还有人认为微软公司用SDL流程来调试软件的能力可能已经达到了极限。你的反应是什么?
答:三年前,我习惯性相信你可以达到完美。但是现在我认为你不可能达到那种完美的程度。但是我们仍然有一些内部合作在进行着努力,和安全科学团队合作来研发新的技术,应用新的工具来侦测漏洞并删除他们。科学团队面临的挑战是让这些技术在低误报率下发挥作用。在某些点上可能存在理论上的极限,但是我们离的还很远。我们仍然在不断创新,仍然在研发可以补充到SDL中的新技术。
问:SDL对于微软来说最大的好处是什么?
答:我认为SDL最大的优势就是能减少微软新产品中可利用漏洞的数量。它确实能让代码更加安全,由于攻击面减少了,软件中的漏洞被黑客利用的难度就更大了。
那些关注微软公告数量的分析师这些天会发现,可利用漏洞的数量确实是减少了,尽管这很难置信。目前如果Windows 7系统中出现了漏洞,但是能通过地址空间随意选择和数据执行保护来进行缓解。我们目前的做法是在缓解攻击的基础上减少漏洞的严重性。因此你可以说我们需要在分析缓解风险的影响上做更多的工作,我们继续朝着这个方向进步。
问:因此不能通过所发现的漏洞数量来判断SDL?
答:不要仅仅通过微软每月发布的公告数量来评估SDL。从我们的角度来看,我们对过去几年中在加强Windows安全努力上所取得的很多进步感到非常有信心。但是这一切还没有结束。我们还需要继续改进SDL。我们要继续在安全科学上不断创新让我们的产品更加出色。可以肯定的说我们从来没有遇到过任何内部的局限。