杀毒软件的实现原理是什么??

如题所述

反病毒软件的任务是实时监控和扫描磁盘。部分反病毒软件通过在系统添加驱动程序的方式,进驻系统,并且随操作系统启动。大部分的杀毒软件还具有防火墙功能。   反病毒软件的实时监控方式因软件而异。有的反病毒软件,是通过在内存里划分一部分空间,将电脑里流过内存的数据与反病毒软件自身所带的病毒库(包含病毒定义)的特征码相比较,以判断是否为病毒。另一些反病毒软件则在所划分到的内存空间里面,虚拟执行系统或用户提交的程序,根据其行为或结果作出判断。   而扫描磁盘的方式,则和上面提到的实时监控的第一种工作方式一样,只是在这里,反病毒软件将会将磁盘上所有的文件(或者用户自定义的扫描范围内的文件)做一次检查。

在与病毒的对抗中,及早发现病毒很重要。早发现,早处置,可以减少损失。检测病毒方法有:特征代码法、校验和法、行为监测法、软件模拟法。这些方法依据的原理不同,实现时所需开销不同,检测范围不同,各有所长。

特征代码法

特征代码法被早期应用于SCAN、CPAV等著名病毒检测工具中。国外专家认为特征代码法是检测已知病毒的最简单、开销最小的方法。

特征代码法的实现步骤如下:

采集已知病毒样本,病毒如果既感染COM文件,又感染EXE文件,对这种病毒要同时采集COM型病毒样本和EXE型病毒样本。

在病毒样本中,抽取特征代码。依据如下原则:

抽取的代码比较特殊,不大可能与普通正常程序代码吻合。抽取的代码要有适当长度,一方面维持特征代码的唯一性,另一方面又不要有太大的空间与时间的开销。如果一种病毒的特征代码增长一字节,要检测3000种病毒,增加的空间就是3000字节。在保持唯一性的前提下,尽量使特征代码长度短些,以减少空间与时间开销。

在既感染COM文件又感染EXE文件的病毒样本中,要抽取两种样本共有的代码。将特征代码纳入病毒数据库。

打开被检测文件,在文件中搜索,检查文件中是否含有病毒数据库中的病毒特征代码。如果发现病毒特征代码,由于特征代码与病毒一一对应,便可以断定,被查文件中患有何种病毒。

采用病毒特征代码法的检测工具,面对不断出现的新病毒,必须不断更新版本,否则检测工具便会老化,逐渐失去实用价值。病毒特征代码法对从未见过的新病毒,自然无法知道其特征代码,因而无法去检测这些新病毒。

特征代码法的优点是:检测准确快速、可识别病毒的名称、误报警率低、依据检测结果,可做解毒处理。其缺点是:不能检测未知病毒、搜集已知病毒的特征代码,费用开销大、在网络上效率低(在网络服务器上,因长时间检索会使整个网络性能变坏)。

其特点:

A.速度慢。随着病毒种类的增多,检索时间变长。如果检索5000种病毒,必须对5000个病毒特征代码逐一检查。如果病毒种数再增加,检病毒的时间开销就变得十分可观。此类工具检测的高速性,将变得日益困难。

B.误报警率低。

非C.不能检查多形性病毒。特征代码法是不可能检测多态性病毒的。国外专家认为多态性病毒是病毒特征代码法的索命者。

D.不能对付隐蔽性病毒。隐蔽性病毒如果先进驻内存,后运行病毒检测工具,隐蔽性病毒能先于检测工具,将被查文件中的病毒代码剥去,检测工具的确是在检查一个虚假的“好文件”,而不能报警,被隐蔽性病毒所蒙骗。

校验和法

将正常文件的内容,计算其校验和,将该校验和写入文件中或写入别的文件中保存。在文件使用过程中,定期地或每次使用文件前,检查文件现在内容算出的校验和与原来保存的校验和是否一致,因而可以发现文件是否感染,这种方法叫校验和法,它既可发现已知病毒又可发现未知病毒。在SCAN和CPAV工具的后期版本中除了病毒特征代码法之外,还纳入校验和法,以提高其检测能力。

这种方法既能发现已知病毒,也能发现未知病毒,但是,它不能识别病毒类,不能报出病毒名称。由于病毒感染并非文件内容改变的唯一的非他性原因,文件内容的改变有可能是正常程序引起的,所以校验和法常常误报警。而且此种方法也会影响文件的运行速度。

病毒感染的确会引起文件内容变化,但是校验和法对文件内容的变化太敏感,又不能区分正常程序引起的变动,而频繁报警。用监视文件的校验和来检测病毒,不是最好的方法。

这种方法遇到下述情况:已有软件版更新、变更口令、修改运行参数、校验和法都会误报警。

校验和法对隐蔽性病毒无效。隐蔽性病毒进驻内存后,会自动剥去染毒程序中的病毒代码,使校验和法受骗,对一个有毒文件算出正常校验和。

运用校验和法查病毒采用三种方式:

①在检测病毒工具中纳入校验和法,对被查的对象文件计算其正常状态的校验和,将校验和值写入被查文件中或检测工具中,而后进行比较。

②在应用程序中,放入校验和法自我检查功能,将文件正常状态的校验和写入文件本身中,每当应用程序启动时,比较现行校验和与原校验和值。实现应用程序的自检测。

③将校验和检查程序常驻内存,每当应用程序开始运行时,自动比较检查应用程序内部或别的文件中预先保存的校验和。

校验和法的优点是:方法简单能发现未知病毒、被查文件的细微变化也能发现。其缺点是:发布通行记录正常态的校验和、会误报警、不能识别病毒名称、不能对付隐蔽型病毒。

行为监测法

利用病毒的特有行为特征性来监测病毒的方法,称为行为监测法。通过对病毒多年的观察、研究,有一些行为是病毒的共同行为,而且比较特殊。在正常程序中,这些行为比较罕见。当程序运行时,监视其行为,如果发现了病毒行为,立即报警。

这些做为监测病毒的行为特征如下:

A.占有INT 13H

所有的引导型病毒,都攻击Boot扇区或主引导扇区。系统启动时,当Boot扇区或主引导扇区获得执行权时,系统刚刚开工。一般引导型病毒都会占用INT 13H功能,因为其他系统功能未设置好,无法利用。引导型病毒占据INT 13H功能,在其中放置病毒所需的代码。

B.改DOS系统为数据区的内存总量

病毒常驻内存后,为了防止DOS系统将其覆盖,必须修改系统内存总量。

C.对COM、EXE文件做写入动作

病毒要感染,必须写COM、EXE文件。

D.病毒程序与宿主程序的切换

染毒程序运行中,先运行病毒,而后执行宿主程序。在两者切换时,有许多特征行为。

行为监测法的长处:可发现未知病毒、可相当准确地预报未知的多数病毒。行为监测法的短处:可能误报警、不能识别病毒名称、实现时有一定难度。

软件模拟法

多态性病毒每次感染都变化其病毒密码,对付这种病毒,特征代码法失效。因为多态性病毒代码实施密码化,而且每次所用密钥不同,把染毒的病毒代码相互比较,也无法找出相同的可能做为特征的稳定代码。虽然行为检测法可以检测多态性病毒,但是在检测出病毒后,因为不知病毒的种类,难于做消毒处理。

计算机病毒的防治策略

计算机病毒的防治要从防毒、查毒、解毒三方面来进行;系统对于计算机病毒的实际防治能力和效果也要从防毒能力、查毒能力和解毒能力三方面来评判。

“防毒”是指根据系统特性,采取相应的系统安全措施预防病毒侵入计算机。“查毒”是指对于确定的环境,能够准确地报出病毒名称,该环境包括,内存、文件、引导区(含主导区)、网络等。“解毒”是指根据不同类型病毒对感染对象的修改,并按照病毒的感染特性所进行的恢复。该恢复过程不能破坏未被病毒修改的内容。感染对象包括:内存、引导区(含主引导区)、可执行文件、文档文件、网络等。

防毒能力是指预防病毒侵入计算机系统的能力。通过采取防毒措施,应可以准确地、实时地监测预警经由光盘、软盘、硬盘不同目录之间、局域网、因特网(包括FTP方式、E-MAIL、HTTP方式)或其它形式的文件下载等多种方式进行的传输;能够在病毒侵入系统是发出警报,记录携带病毒的文件,即时清除其中的病毒;对网络而言,能够向网络管理员发送关于病毒入侵的信息,记录病毒入侵的工作站,必要时还要能够注销工作站,隔离病毒源。

查毒能力是指发现和追踪病毒来源的能力。通过查毒应该能准确地发现计算机系统是否感染有病毒,并准确查找出病毒的来源,并能给出统计报告;查解病毒的能力应由查毒率和误报率来评判。

解毒能力是指从感染对象中清除病毒,恢复被病毒感染前的原始信息的能力;解毒能力应用解毒率来评判。

参考资料:http://baike.baidu.com/view/33433.htm

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-09
一个反病毒软件一般由扫描器、病毒库与虚拟机组成,并由主程序将它们结合为一体。扫描器主要作用检测病毒,是反病毒软件的核心部分,一个反病毒软件检测病毒的能力由两个因素决定。一个因素是扫描器编译技术,编译技术越接近于系统底层,效率越高;另一个因素是采用的病毒识别算法,算法的优劣决定执行效率、病毒识别能力及识别精度;反病毒软件扫描器与扫描功能一一对应,也就是说,有多种扫描方式的反病毒软件都一定是由多个扫描器组成的。病毒库里面存储着很多特征码(Signature),每个特征码对应一个病毒及其部分变种,特征码只能由建立病毒库的反病毒软件识别使用。特征码总的分为两类,即文件特征码与内存特征码。文件特征码从未执行的文件中提取,如exe文件、php文件、dll文件、asp文件、rmvb文件、jpg文件等。内存特征码从被载到内存的进程中提取。虚拟机技术是最近引进的技术,它可以使病毒在一个由反病毒软件构建的与真实环境隔离的虚拟环境中执行,与现实的CPU、硬盘等物理设备隔离,从而可以深入地检测文件的安全性。
第2个回答  2011-05-13
楼主

第一名:金山毒霸2011版本
推荐度★★★★★金山毒霸包含反病毒系统、网络防火墙、反垃圾邮件、反间谍软件、家长控制中心、系统调整优化、备份等7个安全模块,提供你所需的所有计算机安全防护,保护你免受各种已知和未知病毒、黑客、垃圾邮件、间谍软件、恶意网页以及其它Internet威胁,支持在线更新,全面保护家庭上网安全, 并且支持在线升级.完全支持vista。
第二名:卡巴斯基(kaspersky)
推荐度:★★★★☆
卡巴斯基有很高的警觉性,它会提示所有具有危险行为的进程或者程序,因此很多正常程序就会被它所谓“误报”。在杀毒软件的历史上,有这样一个世界纪录:让一个杀毒软件的扫描引擎在不使用病毒特征库的情况下,扫描一个包含当时已有的所有病毒的样本库。结果是,仅仅靠“启发式扫描”技术,该引擎创造了95%检出率的纪录。这个纪录,是由AVP创造的。
第三名:F-Secure Anti-Virus
推荐度:★★★★★
F-Secure Anti-Virus 是功能强大的实时病毒监测和防护系统,支持所有的 WINDOWS 平台,它集成了多个病毒监测引擎,如果其中一个发生遗漏,就会有另一个去监测。可单一扫描硬盘或是一个文件夹或文件,软件更提供密码的保护性,并提供病毒的信息。
第四名台湾的趋势科技网络安全个人版PC-cillin5. RAV version 资料不全
相似回答