4.行为拦截技术 3.4.为最近两年搞出来的技术。3的目的是提高杀毒速度并且预防未知病毒,但就现实而言,除了东方卫士试验了一下(并且不成功),其余厂商未开发完全基于该技术的引擎,诺顿的开发人员认为:"没有足够的技术手段来实现文中所提出的杀毒理念(翻译的可能有不准确之处。‘文中'是指智能码标示技术的理论基础:IBM :Another way to the end (实现目的的另一种方式),在该文中提出了基于预定规则的智能杀毒技术)"。行为拦截技术(或者别的什么智能杀毒技术)也是一种预防未知病毒的方法,与虚拟机技术相似,通过对程序行为的分析来判断其是否为病毒。
对于未知病毒的判断实际上代表着杀毒软件厂商在引擎研究方面的最高能力。业界公认,防止未知病毒是"代表研究水平的"。平心而论,非美国厂商在这方面能力较差。业界对于防止未知病毒能力是按照如下方法衡量的:以评测当日的杀毒软件最新版本为该厂商的供测试版本,未知病毒由如下而来: 1.病毒作者提供。有些病毒作者在将自己的病毒发布以前总爱送给一些业界的安全杂志供其评测(最佩服这种人)2.大部分真正的业界安全杂志都有自己的研究实验室,他们自己的研究人员会根据最新的趋势和技术手段及工具写一些病毒。一般情况下,这些病毒是不会流到网上去的。3.假病毒。一些很类似于病毒行为的文件,程序等。测试的时候病毒库被置空(就是杀毒软件试图调用病毒库时采用程序方法向其返回一个空结果),在这种情况下进行测试。如果有人有兴趣,可以到病毒论坛上搞点新手写的小病毒(一般也就100-200行),弄上几十个拿自己的杀毒软件试一试,就会发现在平均状态下诺顿病毒库被置空时起对未知病毒判断能力还是挺强的,怎么着也到了x%,(x为两位数),很多杀毒软件结果挺惨的,尤其在对付比较复杂的蠕虫病毒时,某厂商的产品近乎全军覆没。下面对虚拟机和实时监控进行介绍。由于大家认为在文中加入程序代码看着很累,因此不再给出技术实现代码,其实根据原理你自己也可以写出来。
虚拟机,在反病毒界也被称为通用解密器,已经成为反病毒软件中最重要的部分之一虚拟机的概念和它与诸如Vmware和WIN9X下的VDM(DOS虚拟机,它用来在32位保护模式环境中运行16实模式代码)是有区别的。其实这些虚拟机的设计思想是有渊源可寻的,都来自于IBM的一批研究人员搞的一套东西。 Vmware作为原操作系统下的一个应用程序可以为运行于其上的目标操作系统创建出一部虚拟的机器,目标操作系统就象运行在单独一台真正机器上,丝毫察觉不到自己处于Vmware的控制之下。当在Vmware中按下电源键(Power On)时,窗口里出现了机器自检画面,接着是操作系统的载入,一切都和真的一样。而WIN9X为了让多个程序共享CPU和其它硬件资源决定使用VMs(所有Win32应用程序运行在一部系统虚拟机上;而每个16位DOS程序拥有一部DOS虚拟机),winxp是采用区域内存访问来实现16位程序支持的。 VM是一个完全由软件虚构出来的东西,以和真实电脑完全相同的方式来回应应用程序所提出的需求。从某种角度来看,你可以将一部标准的PC的结构视为一套 API。这套API的元素包括硬件I/O系统,和以中断为基础的BIOS和MS-DOS。WIN9X常常以它自己的软件来代理这些传统的API元素,以便能够对珍贵的硬件多重发讯。在VM上运行的应用程序认为自己独占整个机器,它们相信自己是从真正的键盘和鼠标获得输入,并从真正的屏幕上输出。稍被加一点限制,它们甚至可以认为自己完全拥有CPU和全部内存。