我在网上学习整理写的笔记,转载务必说明出处
传统计算机病毒的工作机制及发作表现
病毒思路天马行空,这篇文章只是参考资料上进行简单介绍,实际情况更加复杂。这里也只介绍传统病毒!
计算机病毒的工作步骤分析
从病毒程序的生命周期来看,一般分为四个阶段:
潜伏阶段
传染阶段
触发阶段
发作阶段
在潜伏阶段,计算机病毒程序处于休眠状态, 用户根本感觉不到计算机病毒的存在,但并非所有计算机病毒均会经历潜伏阶段。如果某些事件发生(如特定的日期、某个特定的程序被执行等),计算机病毒就会被激活,并从而进入传染阶段。处于传染阶段的计算机病毒,将感染其他程序—将自身程序复制到其他程序或者磁盘的某个区域上。 经过传染阶段, 计算机病毒程序已经具备运行的条件,一旦计算机病毒被激活,则进入触发阶段。在触发阶段,计算机病毒执行某种特定功能从而达到既定的目标。计算机病毒在触发条件成熟时即可发作。处于发作阶段的计算机病毒将为了既定目的而运行(如破坏文件、感染其他程序等)。
为了实现上述功能,病毒程序的典型组成包括引导模块、传染模块、表现模块。

引导模块
功能:将病毒程序引入计算机内存,并使得感染和表现模块处于活动状态。
特征:引导模块需要提供自保护功能,从而避免在内存中的自身代码被覆盖或清除;为感染模块和表现模块设置相应的启动条件,以便在适当的时候或者合适的条件下激活感染模块或者触发表现模块。
感染模块
功能:一是依据引导模块设置的感染条件,判断当前系统环境是否满足感染条件;二是如果感染条件满足,则启动感染功能,将计算机病毒程序附加到其他宿主程序上。
拆分:判断子模块、感染功能实现子模块
表现模块
功能:引导模块设置的触发条件,判断当前系统环境是否满足所需要的触发条件;一旦触发条件满足,则启动计算机病毒程序,按照预定的计划执行(如删除程序、盗取数据等)。
拆分:表现条件判断子模块、表现功能实现子模块。
传统病毒组成伪代码:
BootingModel()/*引导模块*/
{
将计算机病毒程序寄生于宿主程序中;
启动自保护功能;
设置感染条件;
设置激活条件;
加载计算机程序;
计算机病毒程序随宿主程序的运行进入系统;
}
InfectingModel()/*感染模块*/
{
按照计算机病毒目标实现感染功能;
}
BehavingModel()/*表现模块*/
{
按照计算机病毒目标实现表现功能;
}
main() /*计算机病毒主程序*/
{
BootingModel();
while(1)
{
寻找感染对象;
If (如果感染条件不满足)
continue;
InfectingModel();
If (激活条件不满足)
continue;
behavingModel();
运行宿主程序;
if (计算机病毒程序需要退出)
exit();
}
}
计算机病毒的引导机制
病毒寄生对象
作为一种特殊程序,计算机病毒必须进入内存才能实现其预定功能。因此,计算机病毒的寄生位置,一定是可以被激活的部分,这包括硬盘的引导扇区、可执行程序或文件的可执行区域。
Windows启动简述:
首先是计算机的只读存储器(ROM)中固化的基本输入/输出系统(BIOS)被执行。当 BIOS 运行结束后,根据系统设置的启动顺序分别从软盘、硬盘、光盘或 USB 启动系统。如果是从硬盘引导系统,BIOS 将读取硬盘上的主引导记录(MBR),并执行其中的主引导程序。主引导程序运行后,接着从硬盘分区表中找到第一个活动分区,读取并执行这个分区的分区引导记录(也叫做逻辑引导记录)。分区引导记录完成读取和执行操作系统中的基本系统文件 IO.sys。IO.sys 在初始化系统参数之后,Windows 操作系统继续执行 DOS 和图形用户界面(GUI)的引导和初始化工作,并最终完成操作系统的执行。
寄生对象分类
主引导扇区:硬盘的主引导扇区,该扇区与操作系统无关。
磁盘逻辑分析引导扇区:任何操作系统都有个自举过程,例如,DOS 在启动时,由系统读入引导扇区记录并执行它,以将 DOS 读入内存。计算机病毒程序就是利用了这一点,将计算机病毒代码覆盖引导扇区,而将引导扇区数据移动到磁盘的其他空间,并将这些扇区标志为坏簇。这样,一旦系统初始化,计算机病毒代码首先执行,从而使得计算机病毒被激活。计算机病毒开始运行时,它首先将自身复制到内存的高端并占据该范围,然后设置触发条件,最后再引导操作系统的正常启动。此后,一旦触发条件成熟(如一个磁盘读或写的请求到达),计算机病毒就被触发。
可执行程序:一旦程序执行计算机病毒就被激活,它将自身常驻内存,然后按照需要设置触发条件,也可能立即进行传染。
寄生方式
替代法
链接法:病毒程序将自身代码作为正常程序的一部分与原有正常程序链接在一起,计算机病毒链接的位置可能在正常程序的首部、尾部或中间。
寄生在磁盘引导扇区的计算机病毒一般采取替代法,而寄生在可执行文件中的计算机病毒一般采用链接法。

引导过程
驻留内存:多数病毒需要驻留内存,就必须开辟所用内存空间或覆盖系统占用的部分内存空间。有的计算机病毒不驻留内存(如网络计算机病毒)。
获取系统控制权:驻留内存后,必须使有关部分取代或扩充系统的原有功能,并窃取系统的控制权。
恢复系统功能:驻留内存后还要恢复系统,使系统不会死机或出现异常表现。于寄生在磁盘引导扇区来说,处理完传染模块和发作模块装入内存并内存驻留后,病毒引导模块将系统引导模块装入内存,使系统完成其他正常的引导过程;对于寄生可执行文件的来说,引导模块也完成把计算机病毒程序的其他两个模块驻留到内存及初始化的工作,然后把执行权交给执行文件。
计算机病毒的传染机制
传染方式
被动传染:被动复制或者通过网络下载。
主动传染:病毒激活状态下主动传染。
传染过程
系统运行时,计算机病毒通过病毒载体即系统的外存储器进入系统的内存储器,常驻内存,并在系统内存中监视系统的运行。
病毒发现被传染的目标时,会进行如下操作:1、首先对运行的可执行文件特定地址的标识位信息进行判断是否已感染了计算机病毒;2、当条件满足,利用 INT 13H 将计算机病毒链接到可执行文件的首部、尾部或中间,并存入空间大的磁盘中;3、完成传染后,继续监视系统的运行,试图寻找新的攻击目标。
操作系统型病毒的传染过程
正常的计算机 DOS 启动过程:
加电开机后进入系统的检测程序并执行该程序,对系统的基本设备进行检测。
检测正常后从系统盘 0 面 0 道 1 扇区(即逻辑 0 扇区)读入 Boot 引导程序到内存的 0000:7C00 处。
转入 Boot 执行之。
Boot 判断是否为系统盘,如果不是系统盘则提示:
non-system disk or disk error
Replace and strike any key when ready
否则,读入 IBM BIO.COM 和 IBM DOS.COM 两个隐含文件。
执行 IBM BIO.COM 和 IBM DOS.COM 两个隐含文件,将 COMMAND.COM 装入内存。
系统正常运行, DOS 启动成功。
已感染系统的启动过程:
将 Boot 区中的计算机病毒代码首先读入内存的 0000:7C00 处。
计算机病毒将自身全部代码读入内存的某一安全地区、常驻内存,监视系统的运行。
修改 INT 13H 中断服务处理程序的入口地址,使之指向计算机病毒控制模块并执行之。因为任何一种计算机病毒要感染软盘或者硬盘,都离不开对磁盘的读写操作,因此修改 INT 13H 中断服务程序的入口地址是一项少不了的操作。
计算机病毒程序全部被读入内存后才读入正常的 Boot 内容到内存的 0000:7C00 处,进行正常的启动过程。
计算机病毒程序伺机等待,随时准备感染新的系统盘或非系统盘。
如果发现有可攻击的对象,计算机病毒还要进行下列的工作:1、将目标盘的引导扇区读入内存,对该盘进行判别是否传染了计算机病毒;2、当满足传染条件时,则将计算机病毒的全部或者一部分写入 Boot 区,把正常的磁盘的引导区程序写入磁盘特写位置;3、返回正常的 INT 13H 中断服务处理程序,完成对目标盘的传染。
系统型病毒传染机理
系统型病毒对硬盘的传染往往是通过在计算机上第一次使用带毒移动设备进行的,在读出引导区后进行判断,之后写入计算机病毒。
文件型病毒传染机理
病毒驻入内存,便开始监视系统运行。当发现被传染的目标时,操作如下:
通过标识位查看是否已经感染。
当条件满足,利用 INT 13H 将计算机病毒链接到可执行文件的首部、尾部或中间,并存入磁盘中。
完成传染,继续监视;寻找新目标。
文件型计算机病毒通过与磁盘文件有关的操作进行传染
加载执行文件:文件型计算机病毒驻内存后,通过其所截获的 INT 21 中断检查每一个加载运行可执行文件进行传染。加载传染方式每次传染一个文件,即用户准备运行的那个文件,传染不到那些用户没有使用的文件。
列目录过程:前面过程比较慢。这种办法遍历扫描后缀名进行传染。对于移动设备而言,一般采用列一次目录只传染一个文件的方式。
直接修改源文件容易因为长度原因被发现;而在创建可执行文件的时候会被嵌入病毒(编译链接过程中)(个人持怀疑态度。。。)
计算机病毒的触发机制
日期触发:每个月最后一天,每周五等等。
时间触发:累计使用时长,倒计时等等。
键盘触发
感染触发:比如第二次被感染等等。
启动触发
访问磁盘次数触发
调用中断功能触发
CPU 型号/主板型号触发
系统漏洞触发
用户点击触发
用户浏览网页触发:网页木马
计算机病毒的破坏机制
破坏机制也是通过修改某一中断向量入口地址(一般为时钟中断 INT 8H,或与时钟中断有关的其他中断,如 INT 1CH),使该中断向量指向计算机病毒程序的破坏模块。这样,当系统或被加载的程序访问该中断向量时,计算机病毒破坏模块被激活,在判断设定条件满足的情况下,对系统或磁盘上的文件进行破坏活动。
计算机病毒的传播机制
计算机网络的基本构成包括网络服务器和网络节点站(包括有盘工作站、无盘工作站和远程工作站)。计算机病毒一般首先通过有盘工作站借助软盘和硬盘进入网络,然后开始在网上传播。具体方式如下:
计算机病毒直接从有盘站复制到服务器中。
计算机病毒先传染工作站,等运行网络盘内程序时再传染给服务器。
计算机病毒先传染工作站,在计算机病毒运行时直接通过映像路径传染到服务器中。
如果远程工作站被计算机病毒侵入,计算机病毒也可以通过通信中数据交换进入网络服务器中。
在网络环境下,计算机病毒也可以通过邮件等方式传播。
在移动通信环境下, 手机作为智能设备继承了计算机的各种病毒转播的方式, 通过邮件、短信、彩信、应用程序等方式来传播计算机病毒。
计算机病毒发作前的表现
经常性死机
操作系统无法正常启动
运行速度异常
内存不足的错误
打印、通信及主机接口发生异常:在硬件没有更改或者是损坏的情况下,以前工作正常的打印机,近期发现无法进行打印操作,或打印出来的是乱码;或是串口设备无法正常工作,例如调制解调器不拨号,这些都很可能是计算机病毒驻留内存后占用了打印端口或串行通信端口的中断服务程序,使之不能正常工作的表现。计算机病毒引起的打印与通信异常实际上都是计算机病毒对主机接口进行了破坏造成的。计算机病毒对接口的危害,归根结底在于干扰和破坏人机交流,破坏系统安全。外设与主机的接口很多,例如: COM, LPT, USB 和 PS2 等。计算机病毒对接口中断服务程序的破坏,影响了系统外设正常的工作。
无意中要求对软盘进行写操作(现在好像没有软盘了吧)
以前能正常运行的应用程序经常发生死机或者非法错误
系统文件的时间、日期和大小发生变化,举例:
1、根目录下文件异常
“Pentagon” 属于引导型计算机病毒,其驻留内存,传染软盘和硬盘的主引导扇区,篡改引导扇区内容,同时在根目录下会多出一个名为 PENTAGON.TXT 的文件。
“Machosoft” 属于文件型计算机病毒,其具有自身加密功能,不驻留内存,.com 文件和.exe 文件被计算机病毒感染后,根目录下会多出一个名为 IBMNETIO.SYS 的隐含文件。
2、文件扩展名异常
“Burger” 计算机病毒,文件被该病毒感染后长度不变。其一次只传染一个 .COM 文件,若盘上的 .COM 文件全都被感染后,其就开始对 .EXE 文件发难,并将.EXE 文件改为 .COM 文件。
3、可执行文件执行时出现错误
“OW” 计算机病毒,感染当前目录下扩展名的第一个字母为 c 的任何文件。其一次只感染一个文件,不驻留内存。如果找不到符合条件的感染文件,就在屏幕上显示错误信息。文件受其感染后均遭破坏。
4、文件大小异常
“Telecom” 计算机病毒,传染 .COM 文件,使其长度增加 3700 字节,增加的字节被计算机病毒隐藏起来,用 DIR 命令检查时,文件大小无异常变化。
“DIR2” 计算机病毒,驻留内存,感染所有 .EXE 文件和 .COM 文件。计算机病毒采用加密技术,把文件的大小、日期和时间等原始资料进行复制,以应付 DIR 命令的检查,使其看起来一切完好如初。当用干净盘启动机器后,再用 DIR 命令检查,会发现文件大小仅剩 1024 字节。
5、文件日期、时间异常
“Dust” 计算机病毒,被其感染的文件长度不变,该计算机病毒将当前目录下 .COM 文件的开头部分用计算机病毒程序覆盖。调用执行程序时,计算机病毒首先跳出来发难,屏幕上出现乱七八糟的文字。被感染文件的日期和时间全部改变。
“Macgyver” 计算机病毒,驻留内存并使内存减少 3KB,感染硬盘分区表及 .EXE 文件,但不感染 Boot 区。文件被感染后长度增加几 KB,日期增加 100 年,同时,插入一支莫名其妙的乐曲。
宏病毒的表现现象
打开 Word 文档后,该文件另存时只能以模板方式保存而无法另存为一个 doc 文档,这往往是打开的 Word 文档中感染了 Word 宏病毒的缘故。虽然宏病毒会感染 doc 文档文件和 dot 模板文件,但被它感染的 doc 文档属性必然会被改为模板而不是文档,而且,用户在另存文档时,也无法将该文档转换为任何其他方式,而只能用模板方式存盘。
磁盘空间迅速减少
网络驱动器卷或共享目录无法调用
陌生人发来的电子邮件:恶意附件或钓鱼链接。
自动链接到一些陌生的网站:网速变慢
计算机病毒发作时的表现
显示器屏幕异常
屏幕显示突然消失
个别字符空缺
篡改字符或画面颜色,使其面目全非
屏幕上出现异常图案
屏幕出现异常信息
屏幕出现强迫接受的游戏
声音异常
硬盘灯不断闪烁
进行游戏
Windows 桌面图标发生变化
计算机突然死机或重启
自动发送电子邮件、QQ消息等
鼠标、键盘失控
被感染系统被打开服务端口
反计算机病毒软件无法正常工作
计算机病毒发作后的表现
硬盘无法启动,数据丢失
文件、文件目录丢失或被破坏:一种就是确实将目录结构破坏,将目录扇区作为普通扇区,填写一些无意义的数据后,再也无法恢复;另一种情况是将真正的目录区转移到硬盘的其他扇区中,只要内存中存在有该计算机病毒,就能够将正确的目录扇区读出,并在应用程序需要访问该目录的时候提供正确的目录项,使得从表面上看来与正常情况没有两样。
通常容易受攻击的系统文件有 Command.com, Emm386.exe, Win.com, Kernel.exe 和 User.exe 等。
数据加密
文件目录发生混乱,部分文档丢失或被破坏:破坏文件目录使之发生混乱,从而导致部分文档丢失或被破坏。有些病毒会导致系统主板上的 BIOS 被计算机病毒改写、破坏,使得系统主板无法正常工作,从而使计算机系
统报废。
网络瘫痪
其他异常现象:以色列的“什么也不做”计算机病毒,感染当前目录的.COM 文件,使其增加 6000 字节