(一)计算机病毒的检测技术
计算机病毒的检测的方法主要是通过手工检测和自动检测来实现。
手工检测,通过利用Debug、PCTools、SysInfo、WinHex等工具软件进行病毒的检测,这种方法比较复杂,费时费力,但是可以剖析病毒、可以检测一些自动检测工具不能识别的新病毒。
自动检测,则是利用一些专业诊断软件来判断引导扇区、磁盘文件是否有毒的方法。自动检测比较简单,一般用户都可以进行,但需要较好的诊断软件。自动诊断工具可方便地检测大量的病毒,但是自动检测工具的发展总是滞后于病毒的发展,只有新的病毒已经出来以后才会更新检测工具。
1.特征值检测技术
一些常见的病毒具有很明显的特征,即病毒中含有特殊的字符串。用抗病毒软件检查文件中是否存在这些特征,从而判定是否发生感染
计算机病毒的特征值有别于病毒标识,特征值是指一种病毒有别于另一种病毒的字符串,有时简称特征串。但是特征值检测方法有很大的局限性,其局限性在于只能诊断已知的计算机病毒,而优越性在于能确诊计算机病毒的类型。
对于获取病毒特征值,通过把病毒在计算机屏幕上出现的信息作为病毒的特征串,用病毒标识作为病毒的特征值,从病毒代码的任何地方开始取出连续的、不大于64字节且不含空格(ASCII值为32)的字符串都可以作为计算机病毒的特征串。然后将特征串纳入病毒特征数据库。
传统的病毒特征串搜索技术只能诊断已知的计算机病毒,病毒特征值检测方法对从未见过的新病毒,因无法事先知道其特征值,因而无法检测这些新病毒。
传统的病毒特征串搜索技术的缺陷源于以下两个方面:
(1)抽取特征串时未对特征串进行分析,没有对同种病毒的多个同种染毒宿主上相同位置处的特征串进行比较,找出共同点,再以此为特征串
(2)搜索病毒时只是单纯地依次比较特征串,没有智能化处理
特征值检测方法的优点是,检测准确快速、可识别病毒的名称、误报警率低、并且依据检测结果可做解毒处理。其缺点是,速度慢而且不能检查未知病毒和多态性病毒,不能对付隐蔽性病毒。
2.校验和检测技术
根据正常文件的信息(包括文件名称、大小、时间、日期及内容),计算其校验和。定期地或每次使用文件前,检查文件现有信息算出的校验和与原来保存的校验和是否一致。
校验和检测技术的优点是:方法简单,能发现未知病毒,被查文件的细微变化也能发现。其缺点是:必须预先记录正常文件的校验和,会误报警,不能识别病毒名称,不能对付隐蔽型病毒,并且效率低
3.行为监测技术
利用病毒的特有行为特性监测病毒的方法,称为行为监测法,也称为人工智能陷阱法。通过对病毒多年的观察、研究,人们发现病毒有一些行为,是病毒的共同行为,而且比较特殊,在正常程序中,这些行为比较罕见。
(二)启发式代码扫描技术
启发式代码分析扫描技术是对传统的特征代码扫描法查毒技术的改进。在特征代码扫描技术的基础上,利用对病毒代码的分析,获得一些统计的、静态的启发式知识,形成一种静态的启发式代码扫描分析技术。
由于病毒和正常程序的存在着区别,比如,在windows下,一般正常的应用程序不会往系统目录中释放可执行程序然后进行自删除,或者直接搜索其他可执行程序进行修改。而且病毒程序通常最初的指令是重定位、直接写盘操作、解码指令,或搜索某路径下的可执行程序等相关操作指令序列。一个运用启发式扫描技术的病毒检测软件,实际上就是以特定方式实现的动态解释器或反编译器,通过对有关指令序列的反编译逐步理解和确定其蕴藏的真正动机。
一个运用启发式扫描技术的病毒检测软件,实际上就是以特定方式实现的动态解释器或反编译器,通过对有关指令序列的反编译逐步理解和确定其蕴藏的真正动机。
可疑程序功能的权值与报警标准是对可疑的程序代码指令序列按照安全和可疑的等级进行排序,根据病毒可能使用和具备的特点而授以不同的加权值。例如,格式化磁盘的功能操作很少出现在正常的应用程序中,而在病毒程序中出现的几率极高,于是这类操作指令序列可获得较高的加权值。如果一个程序的加权值的总和超过一个事先定义的阀值,那么,病毒检测程序就可以声称“发现病毒”。仅仅一项可疑的功能操作远不足以触发“病毒报警”的装置,为了避免“狼来了”的谎报和虚报,病毒检测程序常把多种可疑功能操作同时并发的情况定为发现病毒的报警标准。
启发式扫描技术有时也会把一个本无病毒的程序判断为染毒程序,这就是所谓的查毒程序虚警或谎报现象。为了减少和避免误报或者谎报,必须努力做好以下几点:
(1)准确把握病毒行为,精确定义可疑功能调用集合,除非满足两个以上的病毒重要特征,否则不予报警
(2)增强对常规正常程序的识别能力
(3)增强对特定程序的识别能力
(4)类似“无罪假定”的功能
启发式扫描主要分为两类——静态启发式扫描和动态启发式扫描。静态启发式扫描程序有一个巨大的代码数据库,数据库把每一个代码串(称为特征码)与它所代表的行为特征联系在一起,并给每一个行为特征赋一个加权值。动态启发式扫描技术主要增加了对CPU的模拟。模拟了一个基本运行环境的计算机,对可能是病毒的文件先进行模拟运行,等加密病毒自解密后再进行静态启发式扫描。
传统的扫描技术基于对已知病毒的分析和研究,在检测时能够更准确、减少误报。对待此前根本没有出现过的新病毒,有可能产生漏报的严重后果。基于规则和定义的启发式代码分析技术则可以检测新病毒。传统扫描技术与启发式扫描技术的结合,可以使病毒检测软件的检出率提高到前所未有的水平,而另一方面,又大大降低了总的误报率。通过下表我们更直观的可以看出传统扫描技术和启发扫描技术结合的优势,见表3-1。
表3-1 传统扫描技术和启发扫描技术的比较
计算机病毒入侵的途径与防治研究(四)由免费论文网(www.jaoyuw.com)会员上传。