杀毒软件技术漫谈:启发式对战主动防御

当前,计算机病毒主要以加壳的特洛伊木马、蠕虫为主,病毒的作者不再像以前一样仅仅是为了炫耀自己的计算机水平有多高,而是为经济利益所驱使,盗取用户私密信息、开辟系统后门等等,带来直接经济损失 。
随着软件漏洞的频频出现,尤其是Microsoft的Windows和Office漏洞,甚至是0day漏洞攻击,加上用户安全意识不够,再加上病毒诞生速度,造成了如今病毒泛滥的现象 。反病毒软件查不到病毒、杀不掉病毒,用户怨声一片,只怪病毒出现得实在太快,编写技术实在太高 。为了杀掉一个病毒,需要漫长的等待反病毒厂商将其加入到病毒特征库中,升级了,发现又无法清除,只能返回到连Microsoft都不知道是否该放弃的DOS中解决 。
防病毒自然被所有人看成了一个最关键的环节 。怎么实现呢?
启发式这个概念在几年前已经有人提出并已经实现,到了现在启发式已经发展到了一个相当厉害的程度,在将误报降低到最少的前提下尽可能的发现未知病毒 。每个反病毒软件厂商实现的方式不同,但是基本上都是一种理念,就是在一个虚拟环境中执行病毒根据病毒行为判断,当然这种虚拟方式持续的时间极短 。启发式在国外基本上算是一个比较成熟的技术了,尤其以NOD32、McAfee、Dr.web等尤为厉害,他们的启发式引擎能够相当准确的查出一个新病毒并且及时阻止,误报的概率比起其他来小太多 。实际上Kaspersky也有自己的启发式引擎,某些时候也能报出未知病毒,概率嘛自然比起前面说的要小很多,不过在某些特定语言编写的病毒方面,Kaspersky能够很准确的报未知病毒
(Kaspersky Lab的病毒特征码提取技术那是业界首屈一指的,经常会发现之前某个病毒的特征码仍然适用于之后出现的病毒的情况) 。国内的情况就不乐观,启发式虽然在国内不能说成空白,但是也不知道该拿什么词来形容现阶段的状况 。以国内三大江民、瑞星、金山为例,江民KV系列一直都有延续着“广谱查杀”技术,这种技术对变种病毒很有效,尤其对宏病毒之类的,偶尔大家或许能看到KV报某可疑文件为Win32.Type,这就是KV“广谱查杀”技术的收获(广谱技术和之前说的启发式是有一定区别的);瑞星的行为分析技术似乎对于Windows平台下更有效,通过病毒行为判断来分析病毒的可能性,从实际情况来说,它的效果比KV的明显,但这只是一个相对比较,整体看来作用也不大,很少发现报未知病毒的情况;至于金山毒霸,几年前因使用的是Dr.web的引擎有启发式的存在,现在因为完全用了自己的引擎技术,至少我没有发现金山毒霸有启发式的影子 。

主动防御这个词好像是近段时间才出现的吧,国内的反病毒软件好像是KV第一个用了注册表监控技术,所以有一部分人就认为主动防御就是注册表监控这东西,那么这太片面了 。
现在病毒有哪些行为呢?擅自创建程序,创建自己的启动项,将自己插入到别的进程中,利用Rootkit编程隐藏自己……
说到主动防御,我不得不说到的是System Safety Monitor(简称SSM)这款软件,这个软件属于Host-based Intrusion Prevention System(HIPS),它不是反病毒软件,也不是防火墙软件,却能够从小到每个进程大到整个磁盘底层保护系统免受不良程序的危险,软件的功能自然包括最常见的注册表保护、文件保护、磁盘系统保护、防止进程注入等,SSM的功能太强大,不多说 。Kaspersky从V6开始引入了Proactive Defense,它的主动防御默认并不开启注册表监控,因为这种交互很麻烦,对普通用户来说会带来相当多的麻烦,用户看不懂这些注册表监控到底在提示些什么,因此Kaspersky Lab出于对用户的考虑默认并没启动这个功能,至于它的行为监控模块就值得称道,通过内置规则,

推荐阅读