1、Virus计算机病毒与防治课程小组7-4反病毒软件构成分析7-47-4反病毒软件构成分析计算机病毒与防治课程小组反病毒软件的构成 反病毒引擎的体系构架 反病毒引擎的发展方向反病毒软件构成分析 计算机病毒与防治课程小组由于引导型病毒从结构到原理上都想对简单,目前,反病毒软件与病毒的对抗主要体现在与文件型病毒的对抗上,我们主要就针对文件型病毒的反病毒软件的结构进行探讨。反病毒软件由应用程序、反病毒引擎和病毒库三部分构成。反病毒软件的构成反病毒软件构成分析应用程序的主要功能就是把扫描对象提供给引擎进行病毒扫描、提供反病毒软件与用户的交互接口。应用程序主要包括搜索文件部分和匹配病毒特征串部分,其中搜索
2、文件部分负责进行全盘搜索或按用户指定路径搜索文件;匹配病毒特征串部分负责在每一个搜索出来的文件中,匹配病毒特征串,判断文件是否染毒。应用程序反病毒软件构成分析计算机病毒与防治课程小组反病毒引擎是决定一款杀毒软件技术是否成熟可靠的关键,什么是反病毒引擎呢?简言之,它就是一套判断特定程序行为是否为病毒程序或可疑程序的技术机制,引擎不仅需要具备判断病毒的能力,还必须拥有足够的病毒清理技术和环境恢复技术,如果一款杀毒产品能查出病毒但是却无法清除、或者无法将被病毒破坏的系统环境成功恢复,那它就不能成为一款优秀的杀毒软件。反病毒引擎反病毒软件的构成引擎的主要功能就是对应用程序传入的扫描对象进行格式分析和病
3、毒扫描并将扫描的中间结果和最终结果通过应用程序回调接口返回给应用程序并根据应用程序的返回结果进行相应的处理,根据检测出的每种病毒的杀毒关键性参数,清除文件中的病毒。引擎本身还负责病毒库的加载、管理、升级、遍历及卸载。目前的反病毒引擎所采用的主流技术有两种:虚拟机技术、实时监控技术。除此之外,还有两种最新的技术仍在试验阶段,分别是智能码标识技术和行为拦截技术。反病毒软件的构成病毒库主要包括病毒特征串库和杀毒关键性参数库,病毒特征串库为应用程序中的匹配病毒特征串部分提供搜索病毒所需要的病毒特征串;杀毒关键性参数库为杀毒引擎提供清除病毒所需要的杀毒关键性参数。病毒库应用程序、反病毒引擎、病毒库三者的
4、关系下面我们来看在反病毒软件中,上述几个部分是如何协调工作的:反病毒软件在运作时,首先调用搜索文件部分搜索到一个文件,然后利用匹配病毒特征串部分匹配病毒特征串库中的病毒特征串,如果匹配上某个病毒,就调用杀毒引擎杀毒。杀毒引擎在工作时,会使用到杀毒关键性参数库中的杀毒关键性参数。处理完一个文件后,反病毒软件继续调用搜索文件部分搜索下一个文件,重复以上工作,直至文件被搜索完为止。应用程序、引擎、病毒库三者的关系应用程序、反病毒引擎、病毒库三者的关系 计算机病毒与防治课程小组病毒库文件病毒库文件应用程序包括各种平台的各种应用和监控程序应用程序包括各种平台的各种应用和监控程序对象管理程序(中间层)对象
5、管理程序(中间层)引擎主控对象引擎主控对象查杀毒引擎、复合文件拆分对象查杀毒引擎、复合文件拆分对象病毒库管理对象病毒库管理对象应用程序应用程序反病毒引擎反病毒引擎图6-1反病毒引擎的体系构架计算机病毒与防治课程小组引擎最初采用的是模块化的设计方式,这是基于C的设计思想;2001年开始采用的是模块化的设计方式,这是基于C的设计思想;2001年开始采用面向对象设计技术方法,这是基于C+的设计思想,增强了引擎的可靠性和易维护性;2003年将COM组件的设计思想引入了引擎设计中,实现了引擎的对象化和组件化,增强了引擎的易用性、扩展性、维护性和移植的方便性。1.引擎体系架构的变迁计算机病毒免疫技术2.引
6、擎的体系架构目前引擎的体系架构如图6-2所示:计算机病毒与防治课程小组查杀毒引擎模块文件对象文件格式分析模块邮件、邮箱拆分模块文件对象压缩文件拆分模块引擎主控流程调用参数创建调用识别创建创建参数识别参数调用图6-2 目前引擎的体系架构反病毒引擎的发展方向1.病毒的发展趋势1)病毒更新换代,向多元化发展2)依赖网络进行传播3)攻击方式多样4)利用系统漏洞成为病毒有力的传播方式5)病毒与黑客技术相融合6)隐蔽性增强7)更新速度加快计算机病毒与防治课程小组引擎的发展趋势p多层面立体防护体系p进一步发展未知病毒的检测技术p主动修复技术p更可靠的数据备份和灾难恢复技术p与其他安全产品的联动与其他安全产品的联动p完善的应急响应系统Virus