时间:2010-08-14 | 栏目:安全播报 | 点击:次
北京时间4月9日消息,据安全业内专家称,上周一直在困扰Windows系统用户的.ANI漏洞几乎与微软在两年前修复的一个漏洞是同样的问题。
安全研究员们称,上周一直困扰用户们的Windows.ANI漏洞最初是在2005年初就出现过,当时也得到了修复。
但是微软表示,今年发现的.ANI漏洞与两年前发现的那个漏洞不同。但是某些安全专家坚持说那两个漏洞都是系统的同一个进程出错,他们质疑微软何以会在同一个问题上犯两次错?
McAfee公司的安全隐患研究员克莱格苏木加说:“如果两年前他们在修复那个漏洞的时候看一下软件代码的其他部分,他们早就可以在2005年就把这个漏洞给补上了。这可能会为许多人省下大量的时间、金钱和精力。”
微软拒绝了接受电话采访的要求,但是微软发言人发出了一封电子邮件声明,表示这两个漏洞都与系统处理光标和图标格式的进程有关,但是它们各自是不相干的。
这个.ANI漏洞与Windows系统处理动画光标文件的方式有关。它是一种缓存溢出式问题。 所有最新发布的Windows产品包括Vista系统在内都存在这个漏洞,黑客可以利用它远程控制存在漏洞的系统。而黑客发起攻击的主要媒介就是IE浏览器。 本周,安全研究员们发现Mozilla公司的开源浏览器火狐也存在这个漏洞,只是黑客们的攻击没有针对火狐浏览器展开。
虽然Determina公司的研究员已经在去年12月份向微软发出了警告,但是微软并没有拿出相应的补丁,攻击事件终于在三个月后发生了。当3月底的一次攻击事件发生之后,微软声称公司已经安排了近百名工程师日夜加班来开发应急补丁。 微软终于在4月3日发布了那个修复补丁文件。
安全研究员们认为,发布这个应急补丁并不能阻止攻击事件的继续发生。甚至连暂缓都做不到。 仅过了数日,安全公司Websense的分析师们就发现了700多个网页上带有.ANI漏洞攻击代码的网站。研究员们还发现其中有一种代码是通过电子邮件发送的,邮件中是以布兰妮斯皮尔斯的裸照为诱饵来诱骗用户点击某个恶意网站。 网路上的各种自动攻击工具越来越多,黑客们几乎都不用自己编写恶意代码了。
电子眼数字安全公司的主管安德烈普罗塔在接受采访时称,电子眼公司的研究员们早在2004年就发现了Windows系统中存在着.ANI漏洞并将它报告给了微软公司。微软公司在2005年1月11日发布了一个修复补丁。
就象现在一样,那个.ANI漏洞引发了大量恶意代码的出现,让很多企业的IT经理们非常头疼。McAfee公司的苏木加说,针对.ANI漏洞的许多恶意代码在公司的隐患排行榜中长期处于前五位。 那些恶意代码与现在的恶意代码一样,都是各种恶意软件的传输机制。
那两个安全漏洞也都被评为严重级隐患。
Determina Security Research公司的漏洞研究员亚历山大索蒂罗夫是最近在12月份向微软公司报告.ANI漏洞的研究员之一。他说,这两个漏洞犯的是同一种错误。
他说:“实际上,那段存在漏洞的代码与MS05-002号补丁修复的代码几乎一模一样。然而,微软公司的补丁文件没有修复第二处漏洞,Windows系统仍然存在可受到攻击的漏洞。”
Windows系统中一共有两处漏洞。其中一处在2004年底被发现并在2005年初被修复了。另一处漏洞则直到本周才被修复。 电子眼公司的普罗塔表示,实际上这两处存在漏洞的代码是一样的,它们只是存在于软件中的不同位置。
研究员们解释说,那两个漏洞都与同一个进程有关,即系统处理动画光标的进程。它们都属于缓存溢出式漏洞。 它们都位于.ANI文件头分析代码中,而且都位于user32.dll二进制文件中。两段存在漏洞的代码也相隔不太远。
它们有什么不同之处呢? 这两段存在漏洞的代码一个位于第一个例子的第一个header部位,另一个则位于另一个例子的第二个header处。由于header位置的不同,因此针对这两个漏洞发起攻击的恶意代码也稍微有些不同。
普罗塔说:“它们根本就是同一种带有漏洞的代码,只是位置稍有不同而已。两者之间的差异很小。 如果黑客知道存在第二处漏洞的话,他就可以很容易编写出攻击代码。”
微软公司则表示两段代码位置上的差异已经足以说明这两处漏洞是完全不同的两个漏洞了。
微软发言人说,针对这两处漏洞发起攻击的恶意代码也是不同的。如果用针对2004年修复的漏洞发起攻击的恶意代码来攻击第二处漏洞是不会成功的,反过来也是一样的。 他说:“针对这两处漏洞发起攻击的目标是一样的,但是要想成功攻破系统,黑客们所用的恶意代码是不同的。 微软尽可能地努力去查找各种恶意代码变体,尽可能发布综合性的安全更新补丁。然而微软也许还是没能够找到所有的恶意代码变体。微软公司正在调查为什么以前在2005年发布那个补丁的时候没能够同时修复本周才得以修复的这个漏洞。而且会将这次的教训纳入有关工作程序之中。”
McAfee公司的苏木加对此提出了质疑。他说:“我敢保证他们会说他们在2005年就修复了那个问题,这次发现的漏洞与上次发现的漏洞是完全不同的两个漏洞。 这完全是自欺欺人的说法。”
索蒂罗夫说,第二处漏洞实际上很容易发现,他也想不通为什么微软公司以前就没能发现它。索蒂罗夫指出:“微软公司在修复补丁时使用了一种叫作‘安全开发周期循环’的开发方法,那种方法是非常强调对相关软件代码进行审核的。 软件程序员们在编写软件代码时一般是非常统一的,因此你会发现有些错误会不断在软件源代码的不同位置重复出现。如果我能在Windwos系统中再发现那段相同的代码,那么被发现的代码很可能也存在相同的漏洞。”
他补充说,他花了两个小时的时间来查找第二个.ANI漏洞,如果他能够拿到Windows系统源代码的话,所花的时间可能会更少一些。
苏木加提出:“在第一次审核软件代码并修复有关漏洞时,另一处漏洞也应该被发现和及时修复。这种说法到底有没有道理呢?就这次的事情来说,我认为是完全说得通的。 因为我们显然希望其他研究员们和黑客们对其他补丁进行评估,来检查一下是否还有其他的类似代码需要修复。”