一个Windows漏洞为何19年都没有发现?

  IBM上周公布的漏洞不仅可以在Windows 95上运行,甚至连IE 11的沙盒机制都拿它没有办法。IBM早在五月份就把问题告诉了微软,但直到这周二微软才发补丁修复,可谓是一个“长老”级漏洞了。幸运的是目前并没有发 现任何人利用了此漏洞,也许这正是它能够埋藏19年的原因。

  无独有偶。2011年,微软就发补丁修复过一个潜伏期同 样长达19年的Windows漏洞。据发现者360声称,这个漏洞最早出现在1992年早期的Windows NT系统中,利用该漏洞可以获得电脑的最高权限,破坏杀毒软件、防火墙、还原系统、沙箱等各类安全软件,使电脑丧失对病毒的抵抗力。

  尽管如此,人们不禁要问,一个漏洞如何在长达19年的时间里没有被发现?软件开发中的真实情况究竟是什么?

  这段在运行在IE 3中的缺陷代码经历了许多系统版本依然存在,也就是说被重复的使用了一次又一次,即便是在一个全新的产品之中也在使用。

  问题在于旧代码通常不会有人去回溯。一名微软研究人员表示,这只是一段实现简单功能的代码,只要它能运行,没人在意它是否有漏洞,也没人想过去测试它是否存在漏洞,无论是在内部还是外部。

  由于这段代码是符合网页标准的,包括微软自己的标准。因此为了保证对旧网页的兼容性,微软也不会轻易地去触动这段代码。而且不要以为那些陈旧的垃圾网页没有多少,好多企业的历史事件、产品页、新闻发布都可以追溯到上个世纪90年代。

  于是,一个现实问题浮出水面。由于开发人员离开企业或调动岗位,旧代码通常不会有人去再次查看,也没有人想去查看。你想,一个IE的开发团队得到了一段90年代的代码,他们并不了解这段代码。这段代码运行正常,而且原开发人员已经离开。他们会怎样做?还是让它照常运行吧。

  二十年来,有多少这样的问题代码?回溯这些代码又需要多少人力物力?做不到?

 

上一篇:智能无惧挑战 山石网科轰动RSA2015

下一篇:Imperva发布新的Bot人机识别服务