盘点即将过去的2006年,计算机病毒多变种,恶意软件、流氓软件的泛滥,钓鱼欺诈网站的频繁出现,都给网民留下深刻印象。为在新的一年里对杀毒市场展开新一轮争夺,主流杀毒软件也纷纷发布了新一代产品。 纵观各厂商提供的解决方案,技术定义虽各不相同,但实质是对变种病毒、流氓软件提供了新的解决方案。本文就金山毒霸2007的相关功能做一简单点评,揭密金山毒霸2007的技术亮点。
亮点一,脱壳查杀技术
2006年,被截获的计算机病毒数量激增,据金山反病毒中心提供的数据,今年一个季度截获的病毒数量,大致相当于去年一年截获的数量。其中大量病毒是被传播者利用加壳打包工具处理过的,其目的是逃避杀毒软件的追杀。
杀毒软件处理加壳病毒,通常采取两种方法:一是对加过壳的病毒按新病毒处理,在病毒库中新增一个变种的特征。二是杀毒引擎提供脱壳算法,分析病毒加壳的类型,杀毒引擎完成解壳杀毒过程,也称静态脱壳。两者各有利弊,加新特征就需要获取新样本,没有样本之前,杀毒软件就可能无法检测到加壳病毒。静态脱壳检测速度快,资源占用少,是业界通行的作法。但开发周期较长,一种脱壳算法,只支持一种或一类相关加壳软件处理的病毒。如果病毒使用新壳,静态脱壳就需要时间来分析新的算法。杀毒厂商通常二者兼用,相互取长补短。
有别于虚拟机脱壳技术,金山采用数据流脱壳。虚拟机脱壳,是在正常的系统内存中开辟一个虚拟环境,在虚拟环境运行病毒程序本身的脱壳代码。这种方法的好处是减少了静态脱壳的开发周期,但缺点也是显而易见的,就是需要消耗更多的系统资源,特别是在一个病毒经过多层加壳,或者多种加壳软件嵌套加壳之后,虚拟机消耗的系统资源急剧上升,系统性能也会明显变差。
金山采用的数据流则更大胆,直接分析病毒运行过程中生成的数据流特征。在病毒程序运行时,首先会自行脱壳,从而暴露出程序原始特征,在病毒原始代码现身后,杀毒引擎会及时做出响应,将病毒程序清除,这种方式避免了虚拟机需要的资源开销,内存耗损。此外,数据流杀毒技术还具有逆向检测原始加壳带毒文件的能力。比如,病毒A是一个加壳病毒,脱壳后生成病毒B,那么只要能够清除病毒B,就可以清除与A具有相同特征的加壳病毒C,而无论C脱壳后生成的是病毒D还是F。对于静态病毒文件,由于不产生数据流,对系统不具有破坏威胁,采用数据流杀毒技术将不会被检测到。
测试中使用了广为流行的灰鸽子样本,经过加壳处理,在打开样本程序时,金山毒霸数据流引擎立即检测到病毒,并完成病毒清除。如下图示例。
亮点二,查杀“流氓”软件
病毒通常是个人行为,开发者通常孤军奋战整个反病毒团队,显得势单力薄,制作和传播病毒又是法律明令禁止的犯罪行为,杀病毒技术相对成熟。而流氓软件则不同,流氓软件没有被法律明确禁止,其定义至今仍存在争论,流氓软件又潜在巨大的商业利益。可以说,每一个流氓软件背后都有商业公司在支撑。
杀流氓软件,不仅存在法律风险,也存在技术风险。从技术层面讲,流氓软件通常是多个进程相互守护,并且多采用了Rootkit技术。而杀毒软件按照传统的病毒处理流程,是对硬盘文件特征和病毒库特征进行比对,检测病毒是按顺序处理的,当遇到守护进程的流氓软件时,杀毒处理流程就失效了,Rootkit技术可以有效隐藏流氓软件自身,当系统接口(API)返回一个某文件不存在的虚假值时,杀毒软件也是无可奈何。
因此,处理流氓软件必须作长期打算,须采取有别于病毒的处理方法。金山毒霸的Anti-Rootkit技术和文件粉碎技术,综合分析流氓软件的特征,通过执行流氓软件的逆运算,令流氓软件的Rootkit失效来完成卸载。金山毒霸将流氓软件的清除集成到软件中,单独提供了金山反间谍模块,平时不驻留内存。
对于想彻底删除的文件,可以使用文件粉碎机彻底删除。文件粉碎器基于磁盘物理扇区的粉碎机制,能够彻底清除文件内容、文件名以及分配表等所有文件信息,保证了被粉碎文件无法恢复。符合美国国防部对机密文件的粉碎处理方式,其独有方式刚好突破流氓软件的自我保护功能。
测试过程:在测试机上同时安装了CNNIC,彩信通,SPOOLSV、百狗(Baigoo)、3721,百度等多个流氓软件,然后在不关闭任何进程以及使用任何工具的情况下,把所有流氓软件相关的目录、驱动文件、可执行文件,通过文件粉碎器,一次性全部删除!感觉简直是个奇迹。
(责任编辑:韩建光) |