杀毒软件的杀毒原理

我很想知道杀毒软件到底是以什么原理杀毒 的

一个杀毒软件无异于一个信息分析的系统,当它发现某些信息被感染后,就会清除其中的病毒。

假设信息是在“源系统”中,必须到达“目标系统”。这里所称的源系统可以是一个软盘,目标系统可能是计算机的硬盘,或者源系统是存储在ISP的一条消息,而目的系统是客户端计算机上基于Winsock协议的Windows通讯系统。

信息解释系统依据操作系统、应用程序或者是否需要特殊的机制等因素的不同是有区别的,该解释机制必须明确对应杀毒软件所要作用的操作系统或组件。例如:在Windows 9X系统中,需要采用一个虚拟驱动程序VxD来不断监控磁盘的行为。通过这种方式,每当硬盘或者软盘中的信息被存取时,杀毒软件就会截取对该磁盘的读写操作,并扫描将要读取或保存的信息。此种操作在Windows NT/2000/XP中是通过内核模式中的一个驱动来实现的,而在Novell中,磁盘活动的解释是通过一个NLM模块实现的。对于那些为某些特殊应用而设计(而非为某个操作系统设计)的杀毒软件,其解释机制和上面所介绍的是不同的。例如,对于支持CVP防火墙的杀毒软件,是由防火墙通过CVP协议来为杀毒软件传递需要扫描的信息;而对于支持Sendmail的杀毒软件, MilterAPI过滤器为信息的解释提供了便利。某些时候,解释机制既不是由杀毒软件提供(如VxD虚拟驱动),也不是由某种应用提供(如CVP 协议)。在这种情况下,必须采用介乎于应用和杀毒软件之间的一种特殊的解释机制。换句话说,通过某种资源来解释信息并将其传送给杀毒软件,这些资源和杀毒软件之间是一种紧密集成的关系,这样有助于杀毒软件清除病毒。

无论采用何种方式,一旦在扫描信息的过程中检测到一种威胁(病毒),将会采取两种措施:
1. 清除干净的信息将会返回给解释机制,然后再由该解释机制返回给原来的系统以便于它能够继续到达其最终目的地。这意味着如果接收到一封电子邮件,该邮件仍然会被允许到达其目的邮箱;如果是复制一个文件,复制过程将仍然会被允许正常进行直至结束。
2. 会向用户界面发送一个警告,该用户界面可能是多种多样的。对于工作站端的杀毒软件,将会在屏幕上显示一条信息,但是对于针对服务器的杀毒模块,警告将会以电子邮件、内部网络消息、病毒报告中的一条记录或者传递给杀毒软件管理工具的某种消息的形式发送。
杀毒程序能够提供高级的防护、阻止任何带给用户的特别“惊奇”。这就象往某个盒子中投入XXX元钱以获得心灵上的平安那么简单。

扫描引擎

无论需要扫描的信息是如何获得的,对于杀毒软件而言最重要的特征就是:病毒扫描引擎。该引擎扫描它所截取的数据以查看其中是否包含病毒,如果有病毒就会将其清除。

信息的扫描通常通过两种方式进行:一种是将扫描信息与病毒数据库(即所谓的“病毒特征库”)进行对照,如果信息与其中的任何一个病毒特征符合,杀毒软件就会判断此文件被病毒感染。

但是对于某些新的病毒或危险信息,在病毒数据库中并没有它们的特征,此时通过一种称为“启发式扫描”的方法有可能将其检测出来。该方法是通过分析信息的行为并将其与一个危险行为样式库进行对照以判别信息的危险性。

例如,如果某个文件试图格式化检测到的硬盘,杀毒软件就会警告该用户。尽管该文件也许是用户刚刚安装在系统中的一个新的格式化程序而不是病毒,但是该行为是危险的。一旦杀毒软件通过声音向用户发出警告,接下来就由用户来判断是否要采取这种危险的操作了。

以上两种方法各有优缺点。如果仅采用病毒特征库系统,那么至少每天更新一次病毒库就显得尤为重要。您必须时刻牢记每天全球至少会有超过15种新的病毒出现,如果杀毒软件两三天都不更新病毒库就变得很危险了。

启发式扫描的缺点是会向你误报一些本不是病毒的信息,如果你每天遇到很多此类的误报,很快就会对这种警告感到厌烦。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-12-31
杀毒软件的任务是实时监控和扫描磁盘。部分杀毒软件通过在系统添加驱动程序的方式,进驻系统,并且随操作系统启动。大部分的杀毒软件还具有防火墙功能。
杀毒软件的实时监控方式因软件而异。有的杀毒软件,是通过在内存里划分一部分空间,将电脑里流过内存的数据与杀毒软件自身所带的病毒库(包含病毒定义)的特征码相比较,以判断是否为病毒。另一些杀毒软件则在所划分到的内存空间里面,虚拟执行系统或用户提交的程序,根据其行为或结果作出判断。
而扫描磁盘的方式,则和上面提到的实时监控的第一种工作方式一样,只是在这里,杀毒软件将会将磁盘上所有的文件(或者用户自定义的扫描范围内的文件)做一次检查。
另外,杀毒软件的设计还涉及很多其他方面的技术。
脱壳技术,即是对压缩文件和封装好的文件作分析检查的技术。
自身保护技术,避免病毒程序杀死自身进程。
修复技术,对被病毒损坏的文件进行修复的技术。
有待改进的方面
杀毒软件有待改进的方面有:
更加智能识别未知病毒
查到病毒后,能够彻底清除病毒
保护自身。目前有些病毒,能够杀死杀毒软件的进程,再继续破坏
防盗版技术(部分免费杀毒软件不存在此问题)
虚拟机技术。
第2个回答  2007-12-31
有人问过了。希望还楼主满意 。

病毒都是用各种语言编出来的,都有源代码,杀毒软件的病毒库中有很多病毒代码.当杀毒软件扫描时,都先运行一下文件,当然是模拟运行,病毒就发作了,杀毒软件把这个文件的代码与病毒库中的代码进行比较,一旦发现相同或相似,就提示杀毒.就是这样的.
回答者:YaoV - 初入江湖 二级 8-3 20:17
http://zhidao.baidu.com/question/32281221.html?si=1
第3个回答  2007-12-31
杀毒软件就是一个特定的程序,它读取其它文件的代码并与自己的病毒库比较,如果有发现有文件和病毒库相同的代码,则用00或FF覆盖该文件相同的代码段,从而破坏病毒。
第4个回答  2007-12-31
鼻子出油原因。
相似回答