seo站内优化,四川住房建设网站,广州个人网站制作公司,苏州设计公司排行榜核心提示#xff1a;本文介绍了杀毒软件是如何判断一个文件有毒的#xff0c;以及查杀的方法#xff0c;包括#xff1a;特征码法、校验和法、行为检测法、软件模拟法。这些方法依据原理不同#xff0c;实现时所需开销不同#xff0c;检测范围不同#xff0c;各有所长。…核心提示本文介绍了杀毒软件是如何判断一个文件有毒的以及查杀的方法包括特征码法、校验和法、行为检测法、软件模拟法。这些方法依据原理不同实现时所需开销不同检测范围不同各有所长。...
杀毒软件查杀原理
杀毒软件是根据什么来进行病毒判断并查杀的呢在讲这个问题之前首先要弄清楚杀毒软件检测病毒的方法在与病毒的对抗中及早发现病毒有重要。早发现早处理可以减少损失。检测病毒的方法有特征码法、校验和法、行为检测法、软件模拟法。这些方法依据原理不同实现时所需开销不同检测范围不同各有所长。 一特征码法 特征码法被早期应用于SCAN、CPAV等著名病毒检测工具中。国外专家认为特征码法是检测已知病毒的最简单、开销最小的方法。
特征码法的实现步凑如下 1、 抽取的代码比较特殊不大可能与普通正常程序代码吻合。2、 抽取的代码要适当长度一方面维持特征码的唯一性另一方面又不要有太大的空间与时间的开销。如果一种病毒的特征码增强一字节要检测3000种病毒增加的空间就是3000字节。在保持唯一性的前提下尽量使特征码长度短些。 杀毒软件在扫描文件的时候在文件中搜索是否含有病毒数据库中的病毒特征码。如果发现病毒特征码由于特征码与病毒一一对应便可以断定为病毒。这里的特征码分为两个部分第一个是特征码位置第二部分是狭义上的特征码。 杀毒软件运用特征码扫描确定某文件为病毒时这个文件需要满足两个条件1、该文件中的某一位置与杀毒软件病毒库的某一位置相对应。2、该位置上存放的代码与病毒库中定义的该位置上的代码相同。 采用病毒特征码法的检测工具面对不断出现的新病毒必须不断更新版本否则检测工具便会老化逐渐失去实用价值。病毒特征码法对从未见过的新病毒自然无法知道其特征码因而无法去检测这些新病毒。 特征码法的优点是检测准确快速、可识别病毒的名称、误报率低、依据检测结果可做解毒处理。缺点是不能检测未知病毒、搜集已知病毒的特征码费用开销大、在网络上效率低在网络服务器上因长时间检索会使整个网络性能变坏。特征码分为文件特征码和内存特征码两种。内存特征码是程序载入内存之后所具有的特征码在非运行状态下是不可发觉的。关于有关特征码的知识笔者会在后面的章节中详细介绍。特征码的特点A、速度慢。随着病毒种类的增多、检索时间变长。如果检索5000种病毒必须对5000个病毒特征码逐一检查。如果病毒种数在增加检病毒的时间开销就变得十分可观。B、误报率低。C、不能检查多态性病毒。特征码法是不可能检测多态性病毒的。国外专家认为多态性病毒是病毒特征码法的索命者。D、不能对付隐藏性病毒。隐藏性病毒如果先于检测工具运行的时间进驻内存在被检测工具扫描前已经将被查文件中的病毒代码剥去检测工具运行时便是在检查一个虚假的“好文件”因而不会报警会被隐藏性病毒所蒙骗。二校验和法 将正常文件的内容计算其效验和将该效验和写入文件中或写入别的文件中保存。在文件使用过程中定期或不定期的检查文件当前内容算出的校验和与原来保存的校验和是否一致因而得出文件是否被感染的结论这种方法叫校验和法它即可发现已知病毒又可发现未知病毒。在SCAN和CPAV工具的后期版本中除了病毒特征码法之外还纳入校验和法以提高其检测能力。 运用校验和法查病毒采用三种方式1、在检测病毒工具中纳入校验和法对被查的对象文件计算其正常状态的校验和将校验和值写入被查文件中或检测工具中而后进行比较。2、在应用程序中放入校验和法自我检查功能将文件正常状态的校验和写入文件本身中每当应用程序启动时比较现行校验和与原校验和值。实现应用程序的自检测。3、将校验和检查程序常驻内存每当应用程序开始运行时自动比较检查应用程序内部或别的文件中预先保存的校验和。 校验和法既能发现已知病毒也能发现未知病毒但不能识别病毒类不能报出病毒名称。由于病毒感染并非文件内容改变的唯一原因正常程序有时也会造成文件内容的改变所以校验和法常常误报警。而且此种方法也会影响文件的运行速度所以用监视文件的校验和来检测病毒不是最好的方法。 遇到下述情况已有软件版更新、变更口令、修改运行参数校验和法都会误报警。 还有就是校验和法对隐藏性病毒也无效。隐藏性病毒进驻内存后会自动剥去染毒程序中的病毒代码使校验和法受骗对一个有毒文件算出正常校验和。 校验和法的特点优点方法简单能发现未知病毒被查文件的细微变化也能发现。缺点发布通行记录正常态的校验和、会误报警、不能识别病毒名称、不能对付隐蔽性病毒。三行为监控法 利用病毒的特有行为特征性来检测病毒的方法称为行为监控法。通过对病毒多年的观察、研究有一些行为是病毒的共同行为而且比较特殊。在正常程序中这些行为比较罕见。当程序运行时监控其行为如果发现了病毒行为立即报警。 这些做为监控病毒的行为特征码如下A 占有INT 13H所有的引导型病毒都攻击boot扇区或主引导扇区。系统启动时但boot扇区或主引导扇区获得执行权时系统刚刚开工。一般引导型病毒都会占用INT 13H功能因为其他系统功能未设置好无法利用。引导型病毒占据INT 13H 功能在其中放置病毒所需的代码。B、 改DOS系统为数据区的内存总量病毒常驻内存后为防止DOS系统将其覆盖必须修改系统内存总量。C、 对COM、EXE文件做写入动作病毒要感染必须写COM、EXE文件。D、 病毒程序与宿主程序的切换染毒程序运行中先运行病毒而后执行宿主程序。在两者切换时有许多特征行为。行为监测法的特点 行为监测法的长处可发现未知病毒、可相当准确地预报未知的多数病毒。行为监测法的短处可能误报警、不能识别病毒名称、实现时有一定难度。四软件模拟法 多态性病毒每次感染都变化其病毒密码对付这种病毒特征代码法失效。因为多态性病毒代码实施密码化而且每次所用密钥不同把染毒的病毒代码相互比较也无法找出相同的可能做为特征的稳定代码。虽然行为检测法可以检测多态性病毒但是在检测出病毒后因为不知病毒的种类难以将病毒彻底清除。软件模拟法的特点软件模拟法的长处对病毒的判断能力最强因为综合了多种查毒方法。软件模拟法的短处:扫描速度慢查毒往往不准确。五总结 了解完以上几种检测方法最终的结论就是目前杀毒软件最主要还是依靠特征码识别技术来检测病毒。也就说特征码就是杀毒软件为了判定病毒而从病毒本身提取出来的有特点的代码病毒和人一样总会有特点的我们的免杀就是专门针对 这些特征码的也就是说让杀毒软件找不到这些特征码就可以达到免杀的目的了。不过还有一点要强调的是文件本身的功能 是不能损坏的也就是说免杀之后 的文件和原文件在功能上要做到完全相同。只有这样才算是真正有效的免杀。 注本文摘自《杀不死的密码》作者姬良