杀毒软件是如何工作的?在面对病毒程序的活动进行一个判定的时候,杀毒软件需要检测当前活动的程序行为是否合法,做了什么,或者想做什么,对计算机出现的状况进行一个预估,以确定该病毒的存在,想知道更多,可以阅读下文中的深度解析 。
文章插图
杀毒软件是如何工作的?
一、杀毒软件引擎与病毒库的关系
首先必须指出杀毒软件的引擎与其病毒库并没有什么直接的关系 。杀毒引擎的任务和功能非常简单,就是对于给定的文件或者程序进程判断其是否是合法程序(对应于杀毒软件厂商自己定义的正常和非异常程序规范而言 。正常的程序规范是指在程序所在系统平台上操所系统本身洗净有定义的或者业界已经公认的程序行为过程,比如操作系统正常运行就必须要求应用程序与系统核心进行进程响应并与交换相关数据 。非异常程序活动是指可能存在非法程序操作结果但能够以较高的置信度确定其非非法程序活动规范的 。一般情况下,相关文件的复制,移动,删除等都奔包括在该界定范围内) 。
我们知道病毒的最终目的有些是与合法活动很类似的,在这种情况下,要求软件厂商必须自己有一个行为规范界定规则,在一个给定的范围和置信度下,判断相关操作是否为合法 。在这方面,各个厂商的界定是有区别的,一般而言非美国厂商界定是非常严格的,只有有很高的置信水平的程序行为,他们才判别为非病毒操作 。记得前一阵论坛上有人给了四段简单的代码,很多杀毒软件将其判为病毒或有病毒性质的文件行为,实际上看那几段代码可以知道,其结果并不足以视之为病毒 。美国厂商一般判断比较复杂,这主要由于美国市场上的杀毒软件引擎来源比较复杂,比如Norton,有足够的技术资料确信它的杀毒软件引擎是自成体系的,而Mcafee则存在一定的外界技术引进(收购所罗门) 。
用简单的话说,杀毒引擎就是一套判断特定程序行为是否为病毒程序(包括可疑的)的技术机制 。一个完整的技术引擎应遵守如下的行为过程:
⑴、非自身程序行为的程序行为捕获 。包括来自于内存的程序运行,来自于给定文件的行为虚拟判断,来自于网络的动态的信息等等 。一般情况下,我们称之为引擎前端 。捕捉的方法非常多,除Norton以外的杀毒软件采用的都是行为规范代码化的方法 。Norton由于与微软有远远高于其它厂商合作关系,其实现过程比较独特,另有叙述 。
⑵、基于引擎机制的规则判断 。这个环节代表了杀毒引擎的质量水平,一个好的杀毒引擎应该能在这个环节发现很多或者称之为相当规模的病毒行为,存而避免进入下一个判断环节 。传统的反病毒软件引擎使用的是基于特征码的静态扫描技术,即在文件中寻找特定的十六进制字符串,如果找到,就可判定文件感染了某种病毒 。但这种方法在当今病毒技术迅猛发展的形势下已经起不到很好的作用了 。为了更好的发现病毒,相继开发了所谓的虚拟机,实时监控等相关技术 。这个环节被叫做杀毒软件引擎工作的核心层 。
⑶、引擎与病毒库的交互作用 。这个过程往往被认为是收尾阶段,相对于前两个环节,这个阶段速度是非常慢的,杀毒引擎与要将非自身程序行为过程转化为杀毒软件自身可识别的行为标识符(包括静态代码等),然后与病毒库中所存贮的行为信息进行对应,并作出相应处理 。当然必须承认,当前的杀毒软件对大量病毒的识别都是在这个阶段完成的 。因此一个足够庞大的病毒库往往能够弥补杀毒软件引擎的不足之处 。但是必须意识到,如果在核心层阶段就可以结束并清除病毒程序,那么杀毒软件的工作速度将会大幅提升 。“很可惜的是,当前我们没有足够聪明的杀毒引擎来完成这个过程”,这就是为什么有病毒库的原因 。
推荐阅读
- 千窟城被毁主力是谁
- 经典说说句子每一句都值得珍藏
- 碧蓝航线格罗斯特建造时间 碧蓝航线格罗斯特属性技能一览
- win10更新失败屏幕不亮进不了系统解决方法
- 豆腐和金针菇可以一起吃吗
- JavaScript对搜索引擎优化的影响和解决方案
- 碧蓝航线黛朵建造时间 SSR皇家轻巡黛朵属性技能一览
- 问道手游八仙曹国舅怎么过
- 碧蓝航线朴是谁 碧蓝航线重樱驱逐浦波原型介绍