浅析计算机病毒及其检测

时间:2021-08-28 16:19:52 计算机论文 我要投稿
  • 相关推荐

浅析计算机病毒及其检测

 摘 要 本文通过对计算机病毒的原理与特征进行简要梳理,从计算机病毒的发展历史到其病毒的特征及其危害性,作一个完整性的认识,从而建立起计算机安全的概念,并提出预防计算机病毒的办法。

    关键词 计算机病毒 特征 危害性 检测

    中图分类号:TP393.08文献标识码:A

    随着计算机技术的发展,计算机已经深入到社会的各个方面,无论是学习还是工作,无论是国家建设还是军事国防,它的战略地位和作用已被人们充分认识。但是,计算机技术发展的同时也带来了一系列社会问题与安全威胁,特别是计算机病毒的出现,不管是对个人还是对企业,或者是对国家都造成了很大的危害。并且计算机病毒的品种和数量与日俱增,形式不断变化,破坏性也进一步加强,而对于一般的计算机管理人员和一般用户对计算机病毒没有清楚的认识,一方面导致在使用计算机的时候具有很大的心理负担,严重干扰了他们日常的工作和学习,另一方面又使使用者陷入不利的位置,无法避免计算机病毒的侵害。因此,对计算机病毒原理的了解和认识,掌握计算机病毒的工作原理、特征以及检测与防治对使用者而言已经迫在眉睫。

    1 计算机病毒的基本概念

    图1 病毒的静态结构图2 病毒的动态结构

    计算机病毒这个术语最早由L.M.Aleman引入,而以形式化的定义来对计算机病毒进行概括的则是F.Cohen。计算机病毒在F.Cohen的形式化定义里很难以自然语言进行描述,但他同时也指出,计算机病毒是“一个程序,它能够通过把自身(或自己的一个变体)包含在其他程序中来进行传染。通过这种传染性质,一个病毒能够传播到整个的计算机系统或网络(通过用户的授权感染他们的程序)。每个被病毒传染的程序表现得像一个病毒,因此传染不断扩散。”①而实质上,随着计算机技术的发展和对计算机病毒的研究,我们可以把计算机病毒定义为一种在计算机运行过程能把自身精确复制和有修改的复制到其他程序体内的一种程序,它的本质是一种非授权的程序加载,剽窃系统软硬件资源作为其生存、繁殖和扩散的保障。一般情况下,计算机病毒主要由以下三部分组成:病毒引导模块、病毒传染模块、病毒激发与表现模块,如图1、2所示:②

    正是通过病毒内部的这三个模块,由引导模块把病毒导入系统,而由传染模块向计算机的其他部件进行传染,再由激发模块激活计算机病毒对计算机实施干扰或破坏,从而使计算机不能正常工作,导致系统瘫痪,信息丧失。

    计算机病毒按传染对象及其载体可分为操作系统型病毒及文件型病毒。操作系统型病毒在系统引导时先于正常系统的引导,将其病毒程序导入系统中,从而传染至软盘引导扇区、硬盘主引导扇区和硬盘DOS分区引导扇区。当病毒截得一定的中断向量时,由激发模块激发病毒,从而向内向外进行传染,在满足一定条件时,便向载体计算机进行破坏。而文件型病毒一般是对系统中的可执行文件进行感染,这种病毒的依附有其自主性,它可以选择可执行文件的首部、中部或者尾部进行依附,就目前的病毒来看,一般是首部或尾部。在病毒依附于可执行文件之后,一旦可执行文件运行,病毒便能首先获得系统的控制权,以此完成自身病毒的传染和对系统的破坏,当激发模块完成病毒的传染和对计算机的破坏之后,继而修改可执行文件。

    2 计算机病毒的特征

    计算机病毒的感染与运行产生对计算机破坏的作用是由计算机病毒的特征所决定的。我们从下面这个典型的计算机病毒的伪码序列就可看出它的基本特征:(见图3)

    以上的伪码序列我们可以清楚的观察出计算机病毒具有传染性、破坏性以及伪装性。

    传染性是计算机病毒的`显着特色,也是衡量一个程序是不是计算机病毒的重要标志,它具有很强的再生机制,只要一接触便会被传染,无论是否是可执行程序,而传染上之后,计算机病毒一般会隐藏在可执行文件中,或者是首部或者尾部,只要一运行,便又迅速传染其他文件。

    破坏性是计算机病毒被设计出来的主要目的,更是它的主要特征。当计算机系统感染病毒之后,病毒便会根据设计者的指示,或者破坏系统资源,或者破坏系统中的数据,又或者干扰计算机的正常运行以窃取用户的作息,甚至破坏整个系统,使计算机系统的运行遭到全面的摧毁。概括起来,计算机的攻击和破坏主要集中在三个方面:③(1)感染和破坏计算机硬盘或软盘的引导扇区,改写Flash BIOS芯片中的系统程序;(2)感染系统文件和可执行文件;(3)删除或更改软盘和硬盘中的文件。

    伪装性是计算机病毒寄生于计算机的某一个合法程序与系统,悄悄隐藏起来,在用户不察觉的情况下对计算机其他文件进行传染,在完成自己传染和对计算机系统的破坏后,又把控制权交回宿主程序,继续完成宿主程序的功能。在很多情况下,它会覆盖多种文件或程序,以此隐藏它们的恶意功能,这就是它们的伪装性。

    当然,计算机病毒还有其他的特征,如非授权可执行性、潜伏性、可触发性等,但这些在实质上可以归于以上三个主要特性。

    图3

    3 计算机病毒的检测

    遭受计算机病毒后,计算机会有一些显着的表现,如电脑运行速度降低;程序访问磁盘频次增加;程序访问不应访问的磁盘驱动器;磁盘可用空间迅速减少;正常运行程序时出现异常现象或无法运行,屏幕出现不正常文字、图画;显示屏出现异常文字及黑洞、小球、两点等画面;文件异常消失;文件部分丢失或整个文件被替代;出现不明来源的数据文件目录④等等。

    因此,用户在使用计算机的过程中很有必要对计算机病毒进行检测。下面介绍几种检测方法:

    (1)通过行为异常来检测,即behavioral abnormality;在这种方法里,将一个病毒监控器软件(virus montor)装下机器,用它来监视计算机系统在日常应用中的不同行为。这种监控器软件知道病毒有一些试图传染和逃避检测的典型活动,如试图写根扇区、修改中断向量、写系统文件等。这种方法最大的好处在于它适用于所有的病毒,包括已知与未知的,并且在病毒的传染前就发现它,及时提醒用户。

    (2)通过仿真来检测,即emulation;所谓仿真检测就是被检测的程序由病毒检测程序来进行仿真,它用来决定程序的运行行为。这种方法与前面行为异常的检测的方法不同在于,监控器软件的监控是让程序真正运行的,而该方法只在特定样本输入的情况下进行仿真,在仿真过程如一旦发现一个程序试图修改中断向量或打开敏感文件,则该程序便就是可疑的。这种检测有一个缺点就是检测的结果不够精确,不可能总是正确地判定一个程序是否是计算机病毒。

    (3)通过效验和来检测,即checksum;这种方法是为了保护程序不被修改或破坏,一个基于程序内容的效验和被计算机出来并以加密方式存贮在程序内部或外部。通过校验和这样的方式,由于加密使用意向函数(one-way function),病毒传染后要伪造一个同样的检验和在计算上基本上不可能,从而检测出是否遭受计算机病毒的感染与攻击。

    (4)通过动态的程序的完整性来检测,即program integrity;这种方法是保证可执行程序在运行时的完整性,或在程序的完整性和运行之间检测是否传染。这种方法的基本途径在于针对一个事先定义的程序“颗粒”,先计算一个加密的校验和,事先对每个基本块计算一个加密的效验和,并把它存在基本块⑤中。当每一次控制流入基本块的顶部,重新计算校验和,并把加密后的校验和与存贮的检验和比较,这就能检测出基本块内部指令的完整性,从而知道是否感染计算机病毒。

    (5)通过特征码扫描来检测,即signature scanning;这种方法是检测计算机系统中或可执行程序中是否感染病毒最常见也是最简单的方法,但这种方法只能针对已知病毒,对未知的病毒无法检测,也不能直接应用于自我加密的病毒。

    (6)通过手工检测;对一些未知的病毒或已经变形的病毒,直截了当的方法就是对每一个未知的病毒或变形的病毒逐行编制一套特殊的程序去检测不同的代码序列。当然,这种方法在普通用户中并不实用,极费时间又代价昂贵。

【浅析计算机病毒及其检测】相关文章:

检测和防护计算机病毒论文09-04

对冲基金及其监管浅析07-03

英语定语浅析及其翻译10-18

浅析染料废水及其治理01-12

浅析汽车排放性能的检测10-03

无损检测技术及其应用10-31

浅析俄语在中国的发展及其展望07-28

浅析RNAi技术及其应用进展07-31

路面雷达检测系统及其应用07-02