当前位置:文档之家› 杀毒软件如何明辨“忠奸”

杀毒软件如何明辨“忠奸”

杀毒软件如何明辨“忠奸”
杀毒软件如何明辨“忠奸”

杀毒软件如何明辨“忠奸”

杀毒软件对于病毒的判断都各自有自己的标准,但这绝对不是主观臆断,要不就会误杀不断,那么面对纷繁复杂的各种病毒,杀毒软件如何才能辨认出病毒来呢?

指纹认人――最早、最简单的特征码查杀

杀毒软件识别病毒的方法,业界公认的包括特征码查毒、启发式查毒、行为分析等等。其中特征码查毒最早应用,简单地说这种技术就是靠检测文件,核对文件的二进制代码中是否含有危险的特征,这个特征可以是一段特殊的代码或者字符串。例如在杀毒软件的定义中,把代码中含有“逆向此文件的是傻”的文件定义为病毒,那么如果检测中发现某个文件的代码为如图1所示的情况,那么这个文件就是病毒了。这种技术比较成熟,很少有正常文件含有这些特征码,所以误报率低,但漏报严重,如果病毒作者在编写时加入了其他无用干扰码,例如写成“逆向的反义词是正项此文就是一件如此的说是傻的故事”,那么该病毒就逃过查杀,开始作恶。

从小看大――模仿老人经验的启发式

相对人来判断是否是病毒的准确度来说,简单的字符匹

配检测就很傻了。如果让一个好的反病毒工程师来分析一个文件,看到文件的组成或编码,他就会想到是要做什么,这就相当于有经验的警察通过看人的眼神或行为举止就可以

判断是否有犯罪的倾向。而这种智能性的判断技术应用到反病毒技术中就是启发式杀毒了。采用启发式杀毒,首先对文件进行反编译,判断里面含的某些代码会有什么行为,我们可以简单地理解为“如果这样,然后它会怎样”,这样就能分析出文件的真正动机,判断其是否为病毒。即使病毒进行了加壳处理,启发式就相当于假设给了它一个环境,让它执行,看产生的后果(见图2)。例如某个文件含有会格式化磁盘的BIOS指令,而且也没有事先需经用户许可的程序,那这个文件就会被识别为高危文件,然后再核对某些关键代码,就可以判断出是否是病毒。这种技术在ESET NOD32和迈克菲中应用较多,大大提高了查杀率。当然由于软件分析不会那么智能,这种方式就会把包含某些危险行为的软件识别为病毒,误报率相对特征码要高,不过两种技术结合,并且采用更加细致的特征码――基因码(无论病毒如何伪装,一些很基础的指令必须会存在,这些基础指令就是基因码)检测,就可以在提高查杀率的基础上降低误报。

启发式技术其实是人工智能技术(研究机器模拟人类思维的学科)的一个分支,反编译后得出代码执行后的行为,

然后判断行为是否危险。而这个行为的判断标准是有限的,杀毒软件无法像人类那些综合分析,所以很多病毒会将自己的行为变得很隐蔽,反编译后也显示不出危险,而多级结合后就会有危险(而事先编写的杀毒软件是无法分析到无穷无尽的行为),所以启发式杀毒也会有漏洞。

积极主动――进步中的主动防御

从技术上来讲,主动防御和启发式都属于人工智能技术(机器模拟人类智能)的范畴,主动防御是摆脱了文件本身的东西,对各种电脑行为进行监控,就好比警察平时不管你做什么,有什么眼神,有什么心里,只是会监控所有人的动作,一旦有违规动作,就会阻止。这体现在杀毒软件上就是监控计算机的所有行为,包括注册表监控、进程注入、键盘记录等,一旦有这些违规行为杀毒软件就会拦截,然后询问用户是否对该行为放行。

这种方式从理论上来说是最安全的,在微点、EQ等杀毒软件中应用较广,目前各大杀毒软件都或多或少地应用了这个技术。而这就需要电脑使用者有一点的知识,懂得判断,后来发展为记录一定的判断规则,让软件帮助用户识别。而这种方式还是要归为规则的指定,于是这又给病毒提供了摆脱既定规则的可能。

杀毒软件识别病毒时,都是一种机器的判断,而这种技

术永远是和病毒进行对抗而产生的,没有绝对的。而杀毒软件的技术也不只是单一的应用,除了以上几个主要技术,还会结合虚拟机、黑白名单等技术,综合各种技术进行判断。

相关主题
文本预览
相关文档 最新文档