大多数(如果不是全部的话)应用程序都存在危险的安全漏洞。但是,专家称,影响最大的是那些旨在保护你的安全的安全产品中的安全漏洞,也就是杀毒软件中的漏洞。研究发现,这些安全漏洞不需要用户干预,不分操作系统,并且权限非常高――具有系统、根甚至内核权限。
独立安全研究人员Alex Wheeler今年到目前为止在赛门铁克、趋势科技、冠群国际、F-Secure和Sophos等杀毒软件公司的产品中都发现了漏洞。这些杀毒软件公司合在一起的市场份额占全球杀毒软件市场的75%以上。所有这些漏洞都可能引起导致缓存溢出故障的内存崩溃。当攻击者使用特殊的方式利用这些缓存溢出故障时,攻击者就能够控制应用程序。一旦他或者她获得了运行这个软件的权限,这个人就能够操纵任何与杀毒软件相关的程序。
Wheeler曾在今年夏季在拉斯维加斯举行的“黑帽”大会上谈了他的发现。他说,指出这个问题是非常重要的:这些杀毒软件中的漏洞通过默认安装就可以访问,而且在黑客利用这些漏洞的时候不需要用户的互动。在目前发布的相关客户端软件(如IE浏览器、iTunes和Mozilla)的高风险漏洞中,攻击者必须引诱用户做些什么事情(如观看一个图像、听一首歌曲或者访问一个网页)才能够利用这个安全漏洞。
Wheeler说,杀毒软件一般都以较高的权限运行,如系统、根、甚至内核。这实际上能够让攻击者做任何事情,包括:
?安装一个rootkit,偷偷地侦察用户的系统和执行恶意代码;
?利用任何与其它系统可信赖的连接攻破这些系统。当杀毒软件库正在一个网关系统上运行以保护整个企业网络或者ISP网络的时候,这种手段非常有效。
?窃取口令、金融数据等资料。
?修改或者删除现有的数据,如发送给用户的电子邮件或者文件等。
Wheeler说,这些漏洞存在于这些厂商在他们所有的杀毒软件产品中使用的核心库中。Wheeler与互联网安全系统研究人员Neel Mehta进行合作。这两个人认识到了这种形势的严重性。这些漏洞影响到这些厂商正在销售的所有杀毒产品。大型厂商有时候销售30多种不同的产品。而且,这些库在当前使用的各种操作系统上运行,如Windows、Linux、Unix和Mac等。因此,并不仅仅是Windows系统容易受到攻击,尽管Windows系统占病毒攻击的大多数。
为什么杀毒软件容易受到攻击
Wheeler介绍说,杀毒引擎能够扫描所有的数据,甚至在用户还没有对这些数据做任何操作之前就扫描这些数据。从攻击者的角度看,这正是他们需要的。你要能够在用户没有做任何防范的情况下利用这个安全漏洞。安全软件中的这些漏洞不需要用户做任何操作。正是安全软件本身暴露了安全漏洞。
Wheeler说,杀毒引擎必须要模仿任何能够在计算机中创建文件的应用程序,如微软的Office。但是,与实际产品相比,杀毒引擎必须要能够应付更多错误状况,以便找出坏文件或者被破坏的数据。如果你把一个安全漏洞或者恶意代码放在一个文件中,杀毒引擎就会把这个文件识别为一个坏文件并且不再对这个文件进行进一步的扫描。但是,这个应用程序仍会打开和处理这个文件。Wheeler说,杀毒软件处理这类文件和实际应用程序处理这类文件之间的任何不同都可能被利用。
Wheeler说,我认为,与其他应用程序相比,杀毒软件开发商要多地检查自己的产品,因为,杀毒软件产品要更安全。应用软件开发商也许想不到对所有状况进行检查。最终的结果是应用软件没有杀毒引擎那样严格。
文件格式的冲突
问题在这里还没有结束。Wheeler说,因为微软的Office应用程序对于文件格式全部使用了稍微不同的内部结构和存储区域,攻击者能够使这样的文件看起来像一个可执行文件。如果两种格式都匹配,杀毒引擎必需判断出先扫描哪一种格式。Wheeler说,这是杀毒软件公司没有预计到的。攻击者可以利用这个技术避开检测。
Wheeler做结论称,使用安全产品是要保护你,而不是伤害你。因此,杀毒软件产品中存在漏洞就违背了这个产品的初衷。我认为,我们现在才刚刚了解一点杀毒软件漏洞的皮毛。