首页 理论教育早发现,早处置!病毒检测方法及意义

早发现,早处置!病毒检测方法及意义

【摘要】:在与病毒的对抗中,尽早发现病毒十分重要,早发现,早处置,可以减少损失。目前,对病毒的检测方法主要有特征代码法、校验和法、行为监测法和软件模拟法等。用每一种病毒代码中含有的特定字符或字符串对被检测的对象进行扫描,如果在被检测对象内部发现某种特定字符或字符串,则表明发现了该字符或字符串代表的病毒。扫描引擎利用病毒特征代码库对检测对象进行匹配性扫描,一旦有匹配便发出报警。

在与病毒的对抗中,尽早发现病毒十分重要,早发现,早处置,可以减少损失。病毒检测就是采用各种检测方法将病毒识别出来。识别病毒包括对已知病毒的识别和对未知病毒的识别。目前,对病毒的检测方法主要有特征代码法、校验和法、行为监测法和软件模拟法等。

(一)特征代码法

特征代码技术是根据病毒程序的特征,如感染标记、特征程序段内容、文件长度变化、文件校验和变化等对病毒进行分类处理,而后在程序运行中凡有类似的特征点出现,则认定是病毒。这是早期病毒检测技术的主要方法,也是大多数反病毒软件的静态扫描方法。一般认为,特征代码法是检测已知病毒的最简单、开销最小的方法。

特征代码法的工作原理是对每种病毒样本抽取特征代码,根据该特征代码进行病毒检测。主要依据原则为:抽取的代码比较特殊,不大可能与普通正常程序代码吻合。抽取的代码要有适当的长度,一方面维持特征代码的唯一性,也就是说一定要具有代表性,使用所选的特征代码都能够正确地检查出它所代表的病毒。如果病毒特征代码选择得不准确,就会带来误报(发现的不是病毒)或漏报(真正病毒没有发现)。另一方面不要有太大的时间和空间的开销。一般是在保持唯一性的前提下,尽量使特征代码长度短些,以减少时间和空间的开销。用每一种病毒代码中含有的特定字符或字符串对被检测的对象进行扫描,如果在被检测对象内部发现某种特定字符或字符串,则表明发现了该字符或字符串代表的病毒。感染标记就是一种识别病毒的特定字符。实现这种扫描的软件称为特征扫描器。根据特征代码法的工作原理,特征扫描器由病毒特征代码库和扫描引擎两部分组成。病毒特征代码库包含了经过特别选定的各种病毒的反映其特征的字符或字符串。扫描引擎利用病毒特征代码库对检测对象进行匹配性扫描,一旦有匹配便发出报警。显然,病毒特征代码库中的病毒特征代码越多,扫描引擎能识别的病毒也就越多。

特征代码法的优点是检测速度快,误报警率低,能够准确地查出病毒并确定病毒的种类和名称,为消除病毒提供确切的信息。缺点是不能检测出未知病毒、变种病毒和隐蔽性病毒,需要定期更新病毒资料库,因此,这种方法具有滞后性,同时,搜集已知病毒的特征代码的费用开销大。

(二)校验和法

校验和法的工作原理是计算正常文件内容的校验和,将该校验和写入文件中或写入别的文件中保存。在文件使用过程中,定期地或每次使用文件前,检查文件当前内容算出的校验和与原来保存的校验和是否一致,如果不一致便发出染毒报警。

运用校验和法检测病毒一般采用以下3种方式。

(1)在检测病毒工具中纳入校验和法,对被查对象文件计算其正常状态的校验和,将校验和值写入被查文件中或检测工具中,然后进行比较。

(2)在应用程序中放入校验和自动检查功能,将文件正常状态的校验和写入文件本身中,每当应用程序启动时,比较当前校验和与原校验和的值,实现应用程序的自检测。(www.chuimin.cn)

(3)将校验和检查程序常驻内存,每当应用程序开始运行时,自动比较检查应用程序内容或别的文件中预先保存的校验和。

校验和法既能发现已知病毒,也能发现未知病毒,但是,它不能识别病毒种类,不能报出病毒名称。由于病毒感染并非文件内容改变的唯一性原因,文件内容的改变有可能是正常程序引起的,如软件版本更新、变更口令及修改运行参数等,因此校验和法常常有虚假报警,而且此法也会影响文件的运行速度。另外,校验和法对某些隐蔽性极好的病毒无效。这种病毒进驻内存后,会自动剥去染毒程序中的病毒代码,使校验和法受骗,对一个有毒文件算出正常校验和。因此,校验和法的优点是方法简单,能发现未知病毒与被查文件的细微变化;其缺点是必须预先记录正常状态的校验和,会有虚假报警,不能识别病毒名称、不能对付某些隐蔽性极好的病毒。

(三)行为监测法

行为监测法是常用的行为判定技术,其工作原理是利用病毒的特有行为特征进行检测,一旦发现病毒行为则立即报警。经过对病毒多年的观察和研究,人们发现病毒的一些行为是病毒共有的,而且比较特殊。在正常程序中,这些行为比较罕见,如一般引导型病毒都会占用INT 13H;病毒常驻内存后,为防止操作系统将其覆盖,必须修改系统内存总量;对COM、EXE文件必须执行写入操作;染毒程度运行时,先运行病毒,后执行宿主程序,两者切换等许多特征行为。行为监测法就是引入一些人工智能技术,通过分析检查对象的逻辑结构,将其分为多个模块,分别引入虚拟机中执行并监测,从而查出使用特定触发条件的病毒。

行为监测法的优点在于不仅可以发现已知病毒,而且可以相当准确地预报多数未知的病毒。但它也有其缺点,即可能虚假报警和不能识别病毒名称,而且实现起来有一定难度。

(四)软件模拟法

变种病毒每次感染都变化其病毒代码,对付这种病毒,特征代码法会失效,因为变种病毒代码实施密码化,而且每次所用的密钥不同,把染毒的代码相互比较也无法找出相同的可能作为特征的稳定代码。虽然行为监测法可以检测出变种病毒,但在检测出病毒后,因为病毒的种类不知道,也无法对其做杀毒处理。

软件模拟法是新的病毒检测工具之一。该工具开始运行时,使用特征代码法检测病毒,如果发现有隐蔽性病毒或变种病毒的嫌疑时,启动软件模拟模块。软件模拟法模拟CPU的执行,在其设计的虚拟机下执行病毒的变体引擎解码程序,安全地将变种病毒解开,监视病毒的运行,使其露出本来的面目,再加以扫描。待病毒自身的密码译码以后,再运用特征代码法来识别病毒的种类。

总体来说,特征代码法查杀已知病毒比较安全彻底,实施比较简单,常用于静态扫描模块中;其他几种方法适用于查杀未知病毒和变种病毒,但误报率高,实施难度大,在常驻内存的动态监测模块中发挥重要作用。