计算机病毒的一般构成
1.安装模块
病毒程序必须通过自身的程序实现自启动并安装到计算机系统中去。安装模块的功能主要包括:初始化,隐蔽和捕捉
2.传染模块
2.1传染控制部分
病毒一般都有一个控制条件,满足这个条件就可以开始感染。
2.2传染判断部分
每个病毒程序都有一个标记,在传染时判断标记,若已经感染,则不再感染
2.3传染操作部分
在满足传染条件后进行的传染操作
3.破坏模块
一般包含两个部分:激发控制和破坏操作
计算机病毒制作技术
1.采用自加密技术
主要就是防止计算机病毒程序被扫描出来
计算机病毒的加密技术增加了分析破译计算机病毒代码和清除病毒的难度
2.采用特殊的隐形技术
主要有以下几种表现形式
(1)这种计算机病毒进入内存后不用专门的软件或者手段去检查,几乎察觉不到病毒驻留内存引起的内存可用容量减小
(2)计算机病毒感染文件后,不会引起文件日期,时间和文件长度发生变化
(3)计算机病毒在内存中时,若查看计算机病毒感染的文件,根本看不到计算机病毒的程序代码,只能看到原文件的正常程序代码
(4)计算机病毒在内存中时,若查看被感染的引导扇区,只能看到正常的引导扇区
(5)计算机病毒在内存中时,计算机病毒防范程序和其他工具程序检查不出中断向量已经被计算机病毒所接管,但实际上计算机病毒代码已链接到系统的中断服务程序中了。
3.对抗计算机病毒防范系统
计算机病毒采用对抗计算机病毒防范系统技术时,当发现磁盘中某些著名的杀毒软件或在文件中查到出版这些软件的公司名,就会删除这些杀毒软件或文件,造成杀毒软件失效,甚至引起系统崩溃。
4.反跟踪技术
跟踪技术是利用Debug、SoftICE等专用程序调试软件对病毒代码执行过程进行跟踪,以达到分析病毒和杀毒的目的。计算机病毒采用反跟踪技术的主要目的是要提高计算机病毒程序的防破译和防伪能力。常规程序使用的反跟踪技术在计算机病毒程序中都可以利用,如将堆栈指针指向中断向量表中的INT0~INT3区域,以阻止用户利用SoftICE等调试软件对病毒代码进行跟踪。
病毒的检测
在与病毒的对抗中,尽早发现病毒十分重要,早发现,早处置,可以减少损失。病毒检测就是采用各种检测方法将病毒识别出来。识别病毒包括对已知病毒的识别和对未知病毒的识别。目前,对病毒的检测方法主要有特征代码法、校验和法、行为监测法和软件模拟法等。
1.特征代码法
特征代码技术是根据病毒程序的特征,如感染标记、特征程序段内容、文件长度变化、文件校验和变化等对病毒进行分类处理,而后在程序运行中凡有类似的特征点出现,则认定是病毒,是早期病毒检测技术的主要方法,也是大多数反病毒软件的静态扫描方法。一般认为,特征代码法是检测已知病毒的最简单、开销最小的方法。
特征代码法的工作原理是对每种病毒样本抽取特征代码,根据该特征代码进行病毒检测。主要依据原则为:抽取的代码比较特殊,不大可能与普通正常程序代码吻合。抽取的代码要有适当的长度,一方面维持特征代码的唯一性,也就是说一定要具有代表性,使用所选的特征代码都能够正确地检查出它所代表的病毒。如果病毒特征代码选择得不准确,就会带来误报(发现的不是病毒)或漏报(真正病毒没有发现)。另一方面不要有太大的时间和空间的开销。一般是在保持唯一性的前提下,尽量使特征代码长度短些,以减少时间和空间的开销。用每一种病毒代码中含有的特定字符或字符串对被检测的对象进行扫描,如果在被检测对象内部发现某种特定字符或字符串,则表明发现了该字符或字符串代表的病毒。前面介绍传染机制时提到的感染标记就是一种识别病毒的特定字符。实现这种扫描的软件称为特征扫描器。根据特征代码法的工作原理,特征扫描器由病毒特征代码库和扫描引擎两部分组成。病毒特征代码库包含了经过特别选定的各种病毒的反映其特征的字符或字符串。扫描引擎利用病毒特征代码库对检测对象进行匹配性扫描,一旦有匹配便发出报警。显然,病毒特征代码库中的病毒特征代码越多,扫描引擎能识别的病毒也就越多。
特征代码法的优点是检测速度快,误报警率低,能够准确地查出病毒并确定病毒的种类和名称,为消除病毒提供确切的信息。缺点是不能检测出未知病毒、变种病毒和隐蔽性病毒,需要定期更新病毒资料库,具有滞后性,同时,搜集已知病毒的特征代码费用开销大。
2.校验和法
校验和法的工作原理是计算正常文件内容的校验和,将该校验和写入文件中或写入别的文件中保存。在文件使用过程中,定期地或每次使用文件前,检查文件当前内容算出的校检和与原来保存的校验和是否一致,如果不一致便发出染毒报警。
3.行为监测法
行为监测法是常用的行为判定技术,其工作原理是利用病毒的特有行为特征进行检测.一旦发现病毒行为则立即报警,经过对病毒多年的观察和研究,人们发现病毒的一些行为是病毒共有的,而且比较特殊。在正常程序中,这些行为比较罕见,如一般引导型病毒都会占用1NT 13H;病毒常驻内存后,为防止操作系统将其覆盖,必须修改系统内存总量;对COM、EXE文件必须执行写入操作;染毒程度运行时,先运行病毒,后执行宿主程序,两者切换等许多特征行为。行为监测法就是引入一些人工智能技术,通过分析检查对象的逻辑结构,将其分为多个模块,分别引入虚拟机中执行并监测,从而查出使用特定触发条件的病毒。
行为监测法的优点在于不仅可以发现已知病毒,而且可以相当准确地预报未知的多数病毒。但也有其缺点,即可能虚假报警和不能识别病毒名称,而且实现起来有一定难度。
4.软件模拟法
变种病毒每次感染都变化其病毒代码,对付这种病毒,特征代码法失效,因为变种病毒代码实施密码化,而且每次所用的密钥不同,把染毒的代码相互比较也无法找出相同的可能作为特征的稳定代码。虽然行为监测法可以检测出变种病毒,但在检测出病毒后,因为病毒的种类不知道,也无法做杀毒处理。
软件模拟法是新的病毒检测工具所使用的方法之一。该工具开始运行时,使用特征代码法检测病毒,如果发现有隐蔽性病毒或变种病毒的嫌疑时,启动软件模拟模块。软件模拟法模拟CPU的执行,在其设计的虚拟机下执行病毒的变体引擎解码程序,安全地将变种病毒解开,监视病毒的运行,使其露出本来的面目,再加以扫描。待病毒自身的密码译码以后,再运用特征代码法来识别病毒的种类。
¥总地来说,特征代码法查杀已知病毒比较安全彻底,实施比较简单,常用于静态扫描模块中;其他几种方法适用于查杀未知病毒和变种病毒,但误报率高,实施难度大,在常驻内存的动态监测模块中发挥重要作用。