近日,国内目前比较权威的反病毒软件测试实验室PCSL发布了08年11月份的测试结果(PCSL全称PC Security Lab, 是国际反病毒测试标准化组织AMTSO成员, 主要发起人是Jeffery Wu,目前已经有13家杀毒厂商参加测试, 每月发布一次测试结果)。
测试结果如图所示,总共测试了1908个病毒样本,图示部分蓝色为静态测试的侦测数,红棕色为动态测试的侦测数。所谓静态测试,其实就是特征码扫描测试,而动态测试则是指在主动防御过程中发现的病毒。
从上图不难发现,江民KV09的静态侦测率已经达到了90%以上(蓝色部分),再加上红色部分通过主动防御识别的部分,总侦测率达到了99.5%, 从而获得了PCSL当月颁出的五星奖章。而同为国产杀毒软件的费尔(有误报9个)和毒霸(侦测率低)相比之下,则要逊色一些。
看到这张图后,我对江民KV2009有效而又零误报的主动防御产生了浓厚的兴趣,觉得有必要好好研究一下。决定自己动手测试一下看看PCSL对KV2009的评测是否名至实归。
首先,介绍一下我的测试环境:
硬件环境:
CPU: Intel Core 2 Duo E4500
Memory : Kingston DDR2 667 1G + 2G
Motherboard : Asus P5G-MX BIOS v0401
HDD : Seagate Barracuda 7200.9 160G
VGA : Intel GMA950
软件环境:
Host OS为Windows Vista Ultimate SP1 简体中文版
应为要实际测试病毒,因此采用了虚拟机,而要测试主动防御,必须让病毒发作,
因此对虚拟机内的系统也采取了保护措施。由于主要是主动防御测试,因此采用了比较早的病毒库(2008/10/14),没有更新到最新病毒库。
虚拟机的两种配置如下:
1.使用Microsoft Virtual PC 2007虚拟Windows XP SP2简体中文版,
分配8G硬盘空间,512MB内存。并用影子系统2008单一影子模式保护操作系统。如下图:
2.使用VMWare Workstation 6.5虚拟Windows Vista Home Premium简体中文版,
分配16G硬盘空间,1G内存。并用Returnil保护操作系统。如下图:
那接下来就是选择合适的样本了,
样本方面,我选择了3个PCSL在其英文主站列出的malware list中的病毒,
另外,还选取了一个破坏力比较强的,通过优盘传播的木马。
其中,这3个PCSL的样本由于在11月份还是新病毒,因此绝大多数杀毒软件还没有入库。因此扫描是不会报毒的,这也为我们测试主动防御提供了便利。
当然,这些病毒现在早已入库了,在升级KV2009至最新病毒库后,这些样本都被KV09正确识别并清除了。
以上图中的PLAY-MOVIE.exe为例,这是一个会释放木马文件的恶意软件,可以看到,病毒是在2008-10-31最终完成的。
通过将病毒送到分析网站,并通过其命名来回查入库日期,可以发现,F-Secure 是在08-11-02 入库的,江民KV2009是在08-11-04入库的,而Sunbelt是在08-11-06入库的。
大家可以看到,在病毒文件被病毒作者制作出来之后,到病毒文件的特征码真正被添加到杀毒软件的病毒之间,有几天的"真空期",在这几天内,对于这些未知病毒,一般的基于特征码扫描的杀毒软件(on-demand scanner)是无能为力的,
但是如果安全软件带有主动防御,能够监控病毒文件的高危行为,那么防住这些恶意软件还是有机会的。
下面就具体看看KV2009对于这些在当时来说,还是"未知病毒"的防御情况是怎样的吧:这里值得一提的是,对于主动防御的设置,是全部打开,监控模式采用智能模式。而由于病毒基本都没有入库,因此监控的开启和关闭也就并不重要了。
先看一下之前提到的PLAY-MOVIE.exe,运行后,该文件做了很多动作,例如创建注册表键和网络连接,这些都被KV2009的主动防御发现,另外,还释放了若干个恶意文件,这些都被KV2009主防的FD(File Defence 文件防御) 监控到,而且四个盾牌也显示这是一个高度可疑的高危文件了。
显然,主动防御能够识别并帮助用户阻止这个未知的木马。
再来看下一个恶意程序,RPT.exe。
这个程序运行后,会启动IE,并上网去下载一个木马程序到本地。是一个典型的Trojan-Downloader的行为。这点也被KV的主动防御抓住了。如下图:
再来看另外一个恶意软件,IAInstall.exe。
该程序运行后,会在注册表创建一个键值,使得自己能够开机自动运行。(被KV09的RD – Registry Defence 注册表防护侦测到), 并释放file.exe和InternetAntivirsProtect.exe,伪装成杀毒软件。
通过下面在虚拟机中Windows XP和Windows Vista下的截图,可以更清晰的了解该病毒的行为:
再接下来,为了进一步验证江民KV2009的主动防御,同时测试监控失效(被用户误操作关闭等)的情况下,对病毒的防御。
我又将江民的监控关闭,打开主动防御,看看江民能不能防住。
我选取了一个同事优盘上的已知病毒。这是一个木马下载器,江民的命名是TrojanDownloader.VB.jxd,该病毒主要通过优盘传播,样本创建于2008年4月底,08年5月初入库。运行该病毒后,病毒会释放文件到系统文件夹,并且,如果在中毒的机器上用暴风影音(StormCodec)运行媒体文件,则会生成一个和该媒体文件同名的exe文件。同时,改写优盘的分区表,将优盘空间占满。
结果,KV2009在WinXP和Vista下都成功拦截住了这个病毒的恶意行为:
如同我之前所说的,现在新病毒出现的速度越来越快,而且主要通过互联网快速传播,从新病毒出现在互联网上,到安全软件厂商拿到样本,完成分析和入库,是有一段时间的。对于在此期间的保护,主动防御就十分必要了。而且随着现在0day漏洞越来越多,恶意代码层出不穷,主动防御的必要性也就越来越高了。
从我之前分析的几个样本,大家也可以发现,如今的病毒相比前几年来说,种类上有九成以上是木马,还有少量蠕虫。这些木马的主要目的是窃取账号,从而牟取利益。我在平时浏览网页的时候,有时也会遇到网页被挂马。因此,主动防御对于保护个人电脑用户的信息安全也就显得尤为重要了。从实际的是用来看,KV的主动防御的粒度在国内杀毒软件里面是最完善的,作为一款杀毒软件,其主动防御的完善性,相比一些专业的HIPS,都毫不逊色。甚至可以用作分析病毒行为的工具了。KV的主动防御有着完善的FD(File Defence)/RD(Registry Defence)和AD(Application Defence),如果防火墙能集成更完善的ND(Network Defence)的话就完美了。
另外,我还简单测试了一下KV2009的自我保护能力,其实,从熊猫烧香或更早一些的病毒开始,从它们反汇编出来的代码里面就可以看出,它们增加了对杀毒软件的对抗,一旦运行,会尝试关闭带有一些关键词的进程,在这种情况下,杀毒软件的自我保护就显得比较重要的,而在这点上,江民又是国内厂商中非常突出的,而且连微软MVP的pjf写的IceSword也不能结束其进程,这在国际上,能做到的安全软件厂商也不超过三家吧。
先尝试用进程管理器结束KV2009的两个进程KVMonXP.kxp(监控)和KVSrvXP.exe(服务),结束失败。
然后,使用传说中的IceSword,无法结束。
再用APT,这同样是一个系统权限很高的工具,直接用最底层的Kernel Kill,还是无法结束。
最后,再尝试用微软MVP兼员工的Mark Russinovich编写的PsKill来结束KV09的相关进程,同样以失败告终。
由此可见,KV2009具有强大的自我保护能力。即使是对Windows极端熟悉的开发人员编写的工具都无法结束KV的进程,相信病毒作者肯定也无能为力了。