计算机病毒论文与反病毒技术
提起计算机病毒,相信绝大多数用户都不会陌生(即使那些没有接触过计算机的人大多也听说过),有些用户甚至还对计算机病毒有着切肤之痛。为此,本人特将有关计算机病毒的定义、起源、历史、特征、传播途径、分类、错误认识、防毒原则、解决病毒的办法等内容汇集成文,希望能对广大用户日常的反病毒操作有所帮助:
关键词: 计算机病毒的定义、起源、特征、传播途径、传染的一般过程、分类(木马、蠕虫病毒、脚本病毒、宏病毒等)、防毒原则、解决病毒的办法
一 计算机病毒的定义
计算机病毒是一个程序,一段可执行码。就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。
可以从不同角度给出计算机病毒的定义。一种定义是通过磁盘、磁带和网络等作为媒介传播扩散,能“传染” 其他程序的程序。另一种是能够实现自身复制且借助一定的载体存在的具有潜伏性、传染性和破坏性的程序。还有的定义是一种人为制造的程序,它通过不同的途径潜伏或寄生在存储媒体(如磁盘、内存)或程序里。当某种条件或时机成熟时,它会自生复制并传播,使计算机的资源受到不同程序的破坏等等。
所以, 计算机病毒就是能够通过某种途径潜伏在计算机存储介质(或程序)里, 当达到某种条件时即被激活的具有对计算机资源进行破坏作用的一组程序或指令集合。
二 计算机病毒的起源
计算机病毒的来源多种多样,有的是计算机工作人员或业余爱好者为了纯粹寻开心而制造出来的,有的则是软件公司为保护自己的产品被非法拷贝而制造的报复性惩罚,因为他们发现病毒比加密对付非法拷贝更有效且更有威胁,这种情况助长了病毒的传播。还有一种情况就是蓄意破坏,它分为个人行为和政府行为两种。另外有的病毒还是用于研究或实验而设计的"有用"程序,由于某种原因失去控制扩散出实验室或研究所,从而成为危害四方的计算机病毒。
三 计算机病毒的特征
3.1 非授权可执行性 用户通常调用执行一个程序时,把系统控制交给这个程序,并分配给他相应系统资源,如内存,从而使之能够运行完成用户的需求。因此程序执行的过程对用户是透明的。而计算机病毒是非法程序,正常用户是不会明知是病毒程序,而故意调用执行。但由于计算机病毒具有正常程序的一切特性:可存储性、可执行性。它隐藏在合法的程序或数据中,当用户运行正常程序时,病毒伺机窃取到系统的控制权,得以抢先运行,然而此时用户还认为在执行正常程序。
3.2 隐蔽性 计算机病毒是一种具有很高编程技巧、短小精悍的可执行程序。它通常粘附在正常程序之中或磁盘引导扇区中,或者磁盘上标为坏簇的扇区中,以及一些空闲概率较大的扇区中,这是它的非法可存储性。病毒想方设法隐藏自身,就是为了防止用户察觉。
3.3 传染性 传染性是计算机病毒最重要的特征,是判断一段程序代码是否为计算机病毒的依据。病毒程序一旦侵入计算机系统就开始搜索可以传染的程序或者磁介质,然后通过自我复制迅速传播。由于目前计算机网络日益发达,计算机病毒可以在极短的时间内,通过像 Internet这样的网络传遍世界。
3.4 潜伏性 计算机病毒具有依附于其他媒体而寄生的能力,这种媒体我们称之为计算机病毒的宿主。依靠病毒的寄生能力,病毒传染合法的程序和系统后,不立即发作,而是悄悄隐藏起来,然后在用户不察觉的情况下进行传染。这样,病毒的潜伏性越好,它在系统中存在的时间也就越长,病毒传染的范围也越广,其危害性也越大。
3.5 表现性或破坏性 无论何种病毒程序一旦侵入系统都会对操作系统的运行造成不同程度的影响。即使不直接产生破坏作用的病毒程序也要占用系统资源(如占用内存空间,占用磁盘存储空间以及系统运行时间等)。而绝大多数病毒程序要显示一些文字或图像,影响系统的正常运行,还有一些病毒程序删除文件,加密磁盘中的数据,甚至摧毁整个系统和数据,使之无法恢复,造成无可挽回的损失。因此,病毒程序的副作用轻者降低系统工作效率,重者导致系统崩溃、数据丢失。病毒程序的表现性或破坏性体现了病毒设计者的真正意图。
3.6 可触发性 计算机病毒一般都有一个或者几个触发条件。满足其触发条件或者激活病毒的传染机制,使之进行传染;或者激活病毒的表现部分或破坏部分。触发的实质是一种条件的控制,病毒程序可以依据设计者的要求,在一定条件下实施攻击。这个条件可以是敲入特定字符,使用特定文件,某个特定日期或特定时刻,或者是病毒内置的计数器达到一定次数等。
四 计算机病毒的传播途径
计算机病毒之所以称之为病毒是因为其具有传染性的本质。传统渠道通常有以下几种:
4.1通过软盘: 通过使用外界被感染的软盘, 例如, 不同渠道来的系统盘、来历不明的软件、游戏盘等是最普遍的传染途径。由于使用带有病毒的软盘, 使机器感染病毒发病, 并传染给未被感染的“干净”的软盘。大量的软盘交换, 合法或非法的程序拷贝, 不加控制地随便在机器上使用各种软件造成了病毒感染、泛滥蔓延的温床。
4.2通过硬盘: 通过硬盘传染也是重要的渠道, 由于带有病毒机器移到其它地方使用、文修等, 将干净的软盘传染并再扩散。
4.3通过网络: 这种传染扩散极快, 能在很短时间内传遍网络上的机器。
在系统运行时, 病毒通过病毒载体即系统的外存储器进入系统的内存储器, 常驻内存。该病毒在系统内存中监视系统的运行, 当它发现有攻击的目标存在并满足条件时, 便从内存中将自身存入被攻击的目标, 从而将病毒进行传播。而病毒利用系统INT 13H读写磁盘的中断又将其写入系统的外存储器软盘或硬盘中, 再感染其他系统。
下面举几个例子来说明病毒传染的一般过程
5.1 可执行文件感染病毒后又怎样感染新的可执行文件?
可执行文件.COM或.EXE感染上了病毒, 例如黑色星期五病毒, 它驻入内存的条件是在执行被传染的文件时进入内存的。一旦进入内存, 便开始监视系统的运行。当它发现被传染的目标时, 进行如下操作:
(1)首先对运行的可执行文件特定地址的标识位信息进行判断是否已感染了病毒;
(2)当条件满足, 利用INT 13H将病毒链接到可执行文件的首部或尾部或中间, 并存大磁盘中;
(3)完成传染后, 继续监视系统的运行, 试图寻找新的攻击目标。
5.2 操作系统型病毒是怎样进行传染的?
5.2.1 正常的PC DOS启动过程是:
(1)加电开机后进入系统的检测程序并执行该程序对系统的基本设备进行检测;
(2)检测正常后从系统盘0面0道1扇区即逻辑0扇区读入Boot引导程序到内存的0000: 7C00处;
(3)转入Boot执行之;
(4)Boot判断是否为系统盘, 如果不是系统盘则提示;
non-system disk or disk error
Replace and strike any key when ready
否则, 读入IBM BIO.COM和IBM DOS.COM两个隐含文件;
(5)执行IBM BIO.COM和IBM DOS.COM两个隐含文件, 将COMMAND.COM装入内存;
(6)系统正常运行, DOS启动成功。
5.2.2 如果系统盘已感染了病毒, PC DOS的启动将是另一番景象, 其过程为:
(1)将Boot区中病毒代码首先读入内存的0000: 7C00处;
(2)病毒将自身全部代码读入内存的某一安全地区、常驻内存, 监视系统的运行;
(3)修改INT 13H中断服务处理程序的入口地址, 使之指向病毒控制模块并执行之。因为任何一种病毒要感染软盘或者硬盘, 都离不开对磁盘的读写操作, 修改INT 13H中断服务程序的入口地址是一项少不了的操作;
(4)病毒程序全部被读入内存后才读入正常的Boot内容到内存的0000: 7C00处, 进行正常的启动过程;
(5)病毒程序伺机等待随时准备感染新的系统盘或非系统盘。
5.3 如果发现有可攻击的对象, 病毒要进行下列的工作:
(1)将目标盘的引导扇区读入内存, 对该盘进行判别是否传染了病毒;
(2)当满足传染条件时, 则将病毒的全部或者一部分写入Boot区, 把正常的磁盘的引导区程序写入磁盘特写位置;
(3)返回正常的INT 13H中断服务处理程序, 完成了对目标盘的传染。
优 计算机病毒的分类
从第一个病毒出世以来,究竟世界上有多少种病毒,说法不一。无论多少种,病毒的数量仍在不断增加。据国外统计,计算机病毒以10种/周的速度递增,另据我国公安部统计,国内以4 -6种/月的速度递增。不过,孙悟空再厉害,也逃不过如来佛的手掌心,病毒再多,也逃不出下列种类。病毒分类是为了更好地了解它们。
6.1 木马
6.1.1 在计算机领域中,它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。
所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
6.1.2 从木马的发展来看,基本上可以分为两个阶段。
最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。
而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。所以木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。
6.2 蠕虫病毒
蠕虫病毒和一般的病毒有着很大的区别。对于蠕虫,现在还没有一个成套的理论体系。一般认为:蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性、隐蔽性、破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合,等等。在产生的破坏性上,蠕虫病毒也不是普通病毒所能比拟的,网络的发展使得蠕虫可以在短短的时间内蔓延整个网络,造成网络瘫痪!根据使用者情况将蠕虫病毒分为两类:一种是面向企业用户和局域网而言,这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网造成瘫痪性的后果。以“红色代码”、“尼姆达”以及最新的“SQL蠕虫王”为代表。另外一种是针对个人用户的,通过网络(主要是电子邮件、恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒、求职信病毒为代表。在这两类蠕虫中,第一类具有很大的主动攻击性,而且爆发也有一定的突然性,但相对来说,查杀这种病毒并不是很难。第二种病毒的传播方式比较复杂和多样,少数利用了微软的应用程序的漏洞,更多的是利用社会工程学对用户进行欺骗和诱使,这样的病毒造成的损失是非常大的,同时也是很难根除的,比如求职信病毒,在2001年就已经被各大杀毒厂商发现,但直到2002年底依然排在病毒危害排行榜的首位就是证明。
6.3 脚本病毒
脚本病毒通常是JavaScript代码编写的恶意代码, 一般带有广告性质,会修改您的IE首页、修改注册表等信息,造成用户使用计算机不方便。脚本病毒的前缀是:Script。脚本病毒的公有特性是使用脚本语言编写,通过网页进行的传播的病毒,如红色代码(Script.Redlof)脚本病毒还会有如下前缀:VBS、JS(表明是何种脚本编写的),如欢乐时光(VBS.Happytime)、十四日(Js.Fortnight.c.s)等。
6.4 宏病毒
宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会 “感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。
如果某个文档中包含了宏病毒,我们称此文档感染了宏病毒;如果 WORD系统中的模板包含了宏病毒,我们称WORD系统感染了宏病毒。
七 计算机病毒的防毒原则
1. 不使用盗版或来历不明的软件,特别不能使用盗版的杀毒软件。
2. 写保护所有系统盘,绝不把用户数据写到系统盘上。
3. 安装真正有效的防毒软件,并经常进行升级。
4. 新购买的电脑要在使用之前首先要进行病毒检查,以免机器带毒。
5. 准备一张干净的系统引导盘,并将常用的工具软件拷贝到该软盘上,然后加以保存。此后一旦系统受"病毒"侵犯,我们就可以使用该盘引导系统,然后进行检查、杀毒等操作。
6. 对外来程序要使用尽可能多的查毒软件进行检查(包括从硬盘、软盘、局域网、Internet、Email中获得的程序),未经检查的可执行文件不能拷入硬盘,更不能使用。
7. 尽量不要使用软盘启动计算机。
8. 一定要将硬盘引导区和主引导扇区备份下来,并经常对重要数据进行备份,防患于未然。
9. 随时注意计算机的各种异常现象(如速度变慢、出现奇怪的文件、文件尺寸发生变化、内存减少等),一旦发现,应立即用杀毒软件仔细检查。
八 计算机病毒的解决办法
1. 在解毒之前,要先备份重要的数据文件。
2. 启动反病毒软件,并对整个硬盘进行扫描。
3. 发现病毒后,我们一般应利用反病毒软件清除文件中的病毒,如果可执行文件中的病毒不能被清除,一般应将其删除,然后重新安装相应的应用程序。同时,我们还应将病毒样本送交反病毒软件厂商的研究中心,以供详细分析。
4. 某些病毒在Windows 98状态下无法完全清除(如CIH病毒就是如此),此时我们应采用事先准备的干净的系统引导盘引导系统,然后在DOS下运行相关杀毒软件进行清除。
小结:计算机病毒如今已是PC机用户的一大公害,它造成的损失和破坏难以估计。而一些恶作剧者、一些怀有报复心理的程序员、一些蓄意破坏者和一些为了政治目的、经济利益以及军事目的的病毒编制者,仍在制造着各种各样的计算机病毒。对付老病毒及其变种,人们已有成功的经验作为对策,而对于新的尚未接触过的病毒,在未做仔细研究与试验之前,是很难采取合适的对策的。如何准确地捕获用常用软件无法识别出的新病毒,以及分析和研究它的工作机理和特性,是需要专门知识的,不分析它的传染机制,就无法研制出防范和清除病毒的工具软件。
参考文献:清华大学出版社《计算机病毒与反病毒技术》