电脑病毒是人工制造的,能自我复制的、一组有破坏计算机资源作用的一套程序或指令的集合。电脑病毒将自身粘附于各种文件上,或者寄生于储存介质中,可对计算机系统及网络进行各种破坏,同时具有独特的复制能力和感染力,可自我复制和传染。
电脑病毒的种类很多、特点各不相同,但一般具有自我复制能力、感染性、潜在的、触发性和破坏性。现在介绍的典型病毒检测方法有以下。
1)直接检查法。
计算机系统感染病毒后,其内部会发生某种变化,并将在一定条件下表现出来,从而可通过直接观察来判断系统是否感染病毒。
2)特征编码方法。
用特征码法检测已知病毒是最简单、最经济的方法。要实现特征编码方法,需要采集已知病毒样本,按照以下原则抽取特征代码:抽取的代码比较特殊,不太可能和一般程序代码相吻合;抽取的代码要有适当的长度,首先,我们要保持特征代码的唯一性,另一方面要尽可能地缩短特征代码的长度,以减少空间和时间开销。
本征码法的优点在于检测速度快,检测速度快、误报率低、根据检测结果做解毒处理。缺陷在于:一方面,无法检测出未知病毒;另一方面,采集已知病毒的特征码所需的开销很大,在网络上运行效率低下(在网络中,长时间检索会导致整体网络性能下降)。
3)校验和法。
校验和法指的是计算正常文件内容的校验和,并在文件中写出校验和,或者写到其他文件中保存。档案使用期间,定期或每次使用档案前,检查档案当前内容的校验,以及与原始保存的校验是否相符,从而查明档案是否被感染。
尽管病毒感染会导致文件内容改变,但校验和法会对文件内容的改变过于敏感,而且无法分辨是否是由正常程序引起的变化,从而频繁报警。如果遇到软件版本更新、密码更改、运行参数修改,校验和法都会误报;校验和方法对于隐藏的病毒无效。隐蔽病毒占领内存后,将自动删除染毒程序中的病毒代码,使校验与法误(对一份有毒单据进行正常检查和)。
使用检验和法查病毒可以采用3种方法:将校验法和校验法结合到检测病毒工具中、在应用程序中设置校验和法自检功能、使校验和检验程序驻留在存储器中,以便实时检查正在运行的应用程序。
检验与法的优点是:方法简单,可以检测出未知病毒,并能检测出被检测文件的微小变化。
检查与法的缺点:发出通讯记录正常状态的校验和、错误报警、不能识别病毒名、不能对付隐蔽病毒。
4)行为监测法。
一种使用病毒特定行为来监控病毒的方法叫做行为监控法。多年来对该病毒的观察研究表明,有些行为是病毒的共同行为,且具有特殊性。这在普通的程序中是非常少见的。在运行过程中,监控程序的行为,如发现病毒行为,立即报警。
该方法的优点:未知病毒可以被检测到,对大多数未知病毒都能较为精确的预测。
其缺点是:可能会误报,不能识别病毒名,实现上存在一定困难。
5)软件仿真方法。
多态病毒每一次感染都改变自己的病毒密码,面对这种病毒,特征码方法就会失效。由于多态病毒代码执行口令,并且每次使用的密钥都是不同的,因此,即使对病毒感染的代码进行比较,仍然不能确定相同的可以作为特征的代码。该方法虽能检测到多态病毒,但由于对病毒的种类不清楚,很难进行消毒处理。为发现多态病毒,可以采用新的检测方法—软件模拟法,即采用软件方法对多态病毒进行仿真分析。
一种新的检测工具包括了软件模拟方法,在该工具开始运行时,利用特征码检测病毒,如有隐匿病毒或多态嫌疑,然后启动一个软件模拟模块,监测病毒的运行情况,待病毒本身的密码解码后,再利用特征编码方法识别病毒种类。