质疑:防病毒产品能够保障我的网络多久?今天我安全了,明天是否会依然安全?
定论:明天是否安全谁都无法保证。以未知病毒为例,现有的各种防未知病毒技术别管宣传的多么好,但对纯粹的未知病毒的查杀能力都很弱。明天的安全,目前为止还仅仅是一个美丽的梦想。
传统的基于特征码的反病毒技术已经产生了将近二十年的时间,直到今天依然是反病毒的主流技术。虽然是过期药,但没有却还是不行的。但只有特征码技术也是不行的。
随着用户逐渐意识到反病毒产品对新病毒的查杀永远落后于新病毒的产生,反病毒厂商坐不住了,分分试图寻找一种可以不依赖于病毒库就可以识别病毒的方法,也就是常说的未知病毒查杀技术。
未知病毒查杀技术经过发展也形成了几种流派。它的实质就是不再对病毒进行静态的分析,而是利用动态分析的方法找出已知病毒的所有区别于正常程序的特征,将这些特征记录下来,形成一些判定规则,对现有的病毒分析的越透彻,形成的规则就越细,对未知病毒的判断就准确。对于这些规则的不同应用,就出现了启发式扫描、行为判断等一些不同的流派了。
启发式技术:缴枪不杀
启发式查毒技术等于是特征码技术的一个扩展,在目前的反病毒软件中也得到了广泛的应用。
对病毒有一些了解的用户就会知道,病毒特征码是为了惟一标识一个病毒文件,因此往往会选择病毒代码中较为特殊的一段,这种特殊性很多时候与病毒作者的病毒编写习惯有关。
而启发式查毒则恰恰相反,它是选择每一种病毒体内有病毒共性的一段代码,比如说,一个正常程序是不应该有把自身代码插入到其他文件体内的动作,也不应该有修改自身的动作,有了这种动作就可以判断是病毒。
启发式查毒的思想就是,把实现这些有害动作的代码当作特征码记录下来,形成一个经典病毒动作指令库,然后用这个库来对程序文件进行扫描,如果发现有符合库里这些特征的内容,就把它视为是一种新的病毒。由于这种判断只是基于通用的病毒动作代码,因此是不能准确判断被扫描的程序是否是病毒,因此在提示的过程中,总是会报告用户发现一个类似病毒。
很明显,利用这种技术可以很容易就判断出利用已有病毒技术的未知病毒,而且判断的速度跟传统的特征码技术差不多,但是,由于采取的是一种完全模糊的方法进行判断的,由于病毒是在没有被分析的基础上进行判断的,病毒的清除方法是没有的,因此对判断出来的病毒基本上是不能清除的。如果是木马程序自然无所谓,整个病毒文件都是病毒体,直接删除就可以了,但是对于那种将自身插入到文件内部的病毒来说,就无法做到清除病毒了。
行为判断技术:最佳候补
行为判断技术其实是一种虚拟机技术。与传统的特征码技术不同的是,该技术要模拟CPU执行程序的过程,执行一个程序文件,在执行的过程中根据一些规则来判断被执行的是否是病毒。事实上,用虚拟技术来对付那加密变形的病毒是非常有效的,如果没有这个技术,要么要对所有加密方式的病毒都分析一遍,提供多种特征码,要么针对每一种加密方式写一种解密程序,工作量会变得很大。
这种技术是目前技术派主导的一种未知病毒查杀思想,要想提高对未知病毒的检测能力,一方面要扩充行为判断知识库,另一方面要提高虚拟机的程序执行能力,这些都需要长时间的积累和持续研发。
从原理上讲,它既然可以整个程序进行虚拟执行,那么就可以读懂程序的每一行代码,这样以来,只要能判断是病毒的,就可以直接从目标文件中清除,比如象CIH这样的系统病毒,就可以直接清除了。但它的精度同样达不到百分之百。
进行行为判断,总有模糊的因素在里面,尤其是对那些处于病毒与非病毒之间的程序。如果用人工分析的方法,只要确认是病毒,加入特征码就可以对这种病毒进行准确识别。如果用行为判断技术,就只能在误报率与识别率之间进行取舍,既对病毒的识别率越高,那么,将正常程序报成病毒的可能性就越大。
另一方面,由于虚拟机是用内存虚拟CPU操作,由于内存的速度要比用CPU直接执行程序慢得多,因此在目前的计算机硬件配置下,将会使扫描速度大大下降,有时会达到让人难以忍受的地步。
这种技术目前还只能算是一种互补技术来应用,不大可能在短时间内替代传统的特征码技术。
VDS技术:抓捕数据流
VDS是指网络病毒监控系统,是专门为了解决宽带网络下大流量病毒检测而研制的一种新的反病毒技术。它严格说不是一个对付未知病毒的技术,但却是防病毒领域的一个技术趋势。
传统的反病毒技术无论是对付已知病毒的特征码技术,还是对付未知病毒的启发式扫描和行为判断,都是基于文件扫描的一种技术,这种技术是对硬盘中的所有文件进行检测的技术。但是进入到网络环境,这种基于文件扫描的技术就无用武之地了。
原因是网络中的大部分数据都是以流和包的形式存在的,在很多情况下并不产生文件,比如红色代码病毒,它就是在内存中连续运行的一段代码,在网络大流量的情况下,如果将所有的数据流都还原成文件用文件扫描技术进行病毒扫描的话,将会大大地降低网络吞吐率,甚至会使网络产生阻塞,造成严重丢包现象,这也是目前的防毒墙产品不能应用于大规模网络下的原因。
在这种情况下,对网络数据流直接进行检测,在不用还原成文件的情况下就对相关的病毒流进行病毒检测,就成为网络防病毒的最佳想法。