APP下载

计算机病毒的研究与防治

2020-06-13杨建伟

电子技术与软件工程 2020年2期
关键词:主程序计算机病毒传染

文/杨建伟

(天津商业大学信息工程学院 天津市 300134)

所谓计算机病毒,指的是在计算机程序中,制造者蓄意插入计算机硬件和数据的代码,而这些硬件和代码具有破坏性,同时,这些计算机病毒具有极强的自我复制能力。它具有很多特性,如传播性、可激发性、隐蔽性和破坏性。本文就计算机病毒的传染方式、寄生方式、触发条件、破坏的表现形式以及如何预防展开论述,同时,也针对计算机病毒的运行机制,如病毒的传染模型和破坏模型展开研究。

1 关于对计算机病毒之特征的研究

计算机病毒的工作过程,如图1。

1.1 关于对计算机病毒之传染方式的研究

1.1.1 文件型病毒

它还有一个学名叫“寄生病毒”,它通常是文件感染者,感染的文件类型,通常扩展名是COM、EXE、SYS等,它的运行场所在计算机存储器中。

1.1.2 引导区型病毒

引导区型病毒的感染方式如下,它主要通过软盘在操作系统中传播,继而感染到引导区,进而再蔓延到硬盘中,这种病毒破坏性较大,同时还能感染到硬盘中的“主引导记录”。

1.1.3 宏病毒

宏病毒是一种宏代码,这种代码存在于Office文档中用BASIC语言编写的病毒程序,这种病毒对文档的各种操作都是有影响的。

1.2 关于对计算机病毒之寄生方式的研究

1.2.1 源码型病毒

此类病毒主要攻击由高级语言编写的程序,即在这段程序被编译之前就在源程序中找到一个恰当的位置,既可以隐蔽自己在编译时成为合法程序的一部分,又可以寻找恰当的时机开始进攻

1.2.2 操作系统型病毒

这种病毒一般将自己的程序写入操作系统区中,众所周知,计算机的启动必然驱使操作系统区中病毒的运行,然后才是对启动程序进行运行,这类病毒会导致系统瘫痪,甚至是无法启动系统。

1.2.3 外壳型病毒

这种病毒程序主要隐藏在目标宿主程序的开头和结尾部分,对原来的主程序的修改范围不是很大。在宿主程序执行之前,病毒程序首先被激活并且进行执行,这样病毒就会进行发作,进而进行感染和繁衍。此种病毒的编写是很容易的,也是最常见的,数量也是最多的。

1.2.4 入侵型病毒

入侵型病毒也叫“嵌入型病毒”,此病毒的寄生方式如下:它会对宿主程序进行一定程度上的修改,一般是找空隙将自己嵌入到宿主程序里,进而将自己变为合法程序的一部分,从而达到与目标程序成为一体的效果。这种病毒的编写和查杀十分困难:第一,需要在目标程序中找到一个恰当的位置;第二,在该恰当位置插入病毒程序时不仅不能影响正常程序的运行,还需要在恰当的时机完成传染或攻击;第三这类病毒一般都存在目标程序中的主程序,所以查杀此类病毒无异于彻底删除主程序,丧失目标程序应有能力。

图1

图2

1.3 关于对计算机病毒之触发条件及机制的研究

(1)以时间为为触发条件的病毒,它基本上是在某一特定日期或某一时间触发,一旦日期与病毒预设日期符合,病毒就开始发作。比较具有代表性的例子就是“黑色星期五”计算机病毒,它的触发条件是13 and星期五。换句话说,当病毒进入系统后,他会不断地检测系统的时钟,一旦检测到是13号,然后再检测看是否是星期五,当这些条件同时满足时,病毒就开始发作。还有一个典型例子就是“小球病毒”,它也是通过时间来判断的,当这种病毒进入系统RAM中,就会读取系统的时钟,如果发现系统的时间是整点或者半点的时候,他就会发作。

(2)通过击键和鼠标触发,有些病毒他是可以检测到用户的击键动作的,当某一时刻,某个特定键被检测到时,这时候,这种病毒就会被激活。键盘的触发形式多种多样,常见的例子比如发热启动触发,击键的次数触发,组合键触等。另外还有一些是监控用户的鼠标动作来发作,比如一些木马病毒,他就是通过操作系统的漏洞来监测,一旦检测到鼠标有拖放的操作时,病毒就会发作。

(3)利用系统的漏洞来触发一些病毒,这种情况,我们常见的就是求职信病毒,在这种情况下,只要用户电脑存在IFRAME漏洞,用户不需要打开附件,只要在预览附件的时候,这种病毒就会被激活发作。

(4)通过调用中断功能触发,这种情况很容易理解,他的触发条件就是对中断调用的次数进行计数。相信大家在在操作系统中都学习过I/O中断,在虚拟内存中每当缺少一个段或页,就需要CPU中断从磁盘调出段或页,但是病毒恰恰利用这一特点,每当调用到特殊段页或者中断调用的次数达到特定值,病毒就要开始对你的电脑“大开杀戒”。

(5)通过诱使用户点击运行,这种病毒是随机发作的,他们已经不以时间为触发条件了而是通过发送一些邮件,这些邮件通常具有诱惑性,用户很容易被欺骗打开,但是病毒往往潜藏在被打开的图片或者文件中,用户一旦点击运行,病毒就会立即发作。

(6)主板型号触发,这种情况不太常见,他的触发条件是通过识别运行主板型号,当主板型号对应的某个函数值和病毒的条件期许值相一致,病毒即可触发。

(7)通过启动系统来触发,这种病毒是随操作系统一起运行的,他不是在被下载到电脑本地时立刻就发作,而是当用户再次启动计算机时才发作,因为重新启动系统,CPU才会重新执行启动程序,这样程序里的病毒也就随之激活。

计算机病毒的触发条件复杂多样。以上阐述的只是冰山一角,而且很多病毒是融合了好几种的触发机制,远比我们想象的要复杂。

2 关于对计算机病毒程序结构的研究

计算机病毒程序结构如图2所示。

2.1 传染模型

2.1.1 条件判断子模块

(1)感染控制。病毒程序的传染一般有他形成的特定条件,一旦满足这个条件才进行判断标记。例如CIH病毒只有在32位的Windows 95/98的环境下,才有CIH病毒传染的可能。

(2)感染判断。每一个病毒独有自己的专属记号,当符合病毒的传染条件时,病毒会判断传染对象是否存在这个记号。如果存在,则放弃传染,否则会被传染对象发现;如果不存在,则对其进行感染。例如CIH病毒的标记是做在内存的 DR0寄存器中,CIH的作者在网上免费发放该病毒的免疫程序,在每次开机时系统就会立刻自动执行疫苗程序,在寄存器中做一个记号,这样CIH病毒侦测到此盘或文件已被感染标记,就不会再去感染。

随便编写一段病毒传染判断机制代码:

2.1.2 实施子模块

它一旦满足前两个条件,就开始感染,感染的操作基本都是通过窃取INT 13H(或INT26H,或INT21H中的磁盘操作功能调用)来进行的,换句话说,就是在用进行磁盘操作的同时,也进行感染操作的方法。

随便编写一段病毒传染实施机制代码:

病毒最大的特点就是自我复制,病毒的分类有很多种,但是在条件判断阶段做的事情主要有两件:

(1)在不影响其他程序正常工作的情况下,让病毒程序能复制给其他程序,同时使他具备继续复制的能力。

(2)在一定条件下,使它产生某种发作效果。

2.2 破坏模型

计算机病毒他的最终目标就是进行破坏,他的破坏手段有很多,比如对文件进行删除,对数据进行修改,对系统资源进行占用,对系统正常的运行进行干扰等等。破坏机理也不同,破坏的机理是随病毒程序而改变的。例如CIH病毒的发作是用垃圾码覆盖硬盘的引导区、分区表、直至整个硬盘数据,而且还用垃圾码写入 FlashBIOS芯片中,从而能导致主板损坏,进而使系统无法重新启动。

2.2.1 条件判断子模块

当病毒满足某个激发条件时,它就开始破坏。例如CIH病毒的1.2和1.3版当时间满足是4月26日时,就会开始破坏用户计算机。

2.2.2 实施子模块

一些病毒破坏计算机的简单程序函数:

(1)隐藏窗口

ShowWindow(false);

(#include 主程序)

(2)程序暂停一秒后继续执行

Sleep(1000);

(#include 主程序)

(3)删除文件

System(del"文件路径");

(4)运行文件

System("文件路径")

(5)复制文件

System(remove"文件路径")

3 关于对计算机病毒之预防的研究

3.1 建立必要的规章制度

如:对外来软盘的使用要进行严格控制,尽量避免软盘的外借。

3.2 尽量减少计算机的交叉使用

当某台计算机存在病毒,一旦被发现,就要进行及时的处理,这样计算机病毒就不容易扩散。

3.3 软盘备份

我们应该有一个良好的习惯,就是对重要的文件和磁盘的引导区进行备份,以免再病毒感染后,因为无力杀毒,而丢失重要数据。所以,提前备份好重要数据,将计算机病毒感染的文件粉碎或者全盘格式化,最后再把备份好的数据拷入磁盘。

3.4 安装杀毒软件

杀毒软件有很多种,比如大家熟知的360安全卫士等等。但是病毒的制造者也在随着社会的进步和科技的发展对自己设计的病毒“更新换代”,所以他们或多或少的存在一些弊端,因此给大家推荐几种杀毒软件:瑞星和小红伞;在这里主要说一下小红伞,因为这种软件不仅有定时查杀功能,而且相较于360安全卫士,它会针对不断出现的新病毒进行每周一次的升级,扩充病毒识别库里的病毒种类,然后对其进行分析研究,寻找破解的方法,当再有计算机因相同类型的病毒而被感染时,会立即查杀。

猜你喜欢

主程序计算机病毒传染
Our Mood Can Affect Others
电控冰箱软件模块化设计
计算机病毒防范技术及应用实践微探
一类具有非线性传染率的SVEIR模型的定性分析
集成免疫小波神经网络模型在计算机病毒检测中的应用
对于计算机病毒防护措施的探索
未经授权的第三方软件侵权问题研究
——以“腾讯与360之争”为视角*