中国炸弹病毒可能是首例中国人制造的病毒,与国外传入的病毒相比其破坏力最强,且极其隐蔽。染毒系统一般无明显表现,但一旦满足触发条件,后果不堪设想,这就好像埋在被传染机器中的一颗定时炸弹随时可能“爆炸”。“中国炸弹”病毒的屏幕显示如下:中国炸弹——Chinese Bomb——(Made in China 1989)。中国炸弹破坏条件满足之后,对于磁盘数据的破坏是很严重的。1
简述中国炸弹病毒也称为1500病毒。它有一个变种称为中国炸弹-B( Chinese bomb-B,其检测软件为SCAN;消除软件为KILL)。该病毒的字节长度为1.5K字节。它传染COMMANI.COM文件,随系统的启动驻留于内存。中国炸弹病毒1989年首先发现我国陕西西安,是土生土长的计算机病毒之一。
中国炸弹病毒传染各种DOS版本中的COMMAND.COM文件,被传染上该病毒的COMMAND.COM文件比原来文件增加了1492(5D4H)个字节。如果使用被传染的DOS系统启动机器,计算机系统运行速度将减慢,尤其是执行DOS查看目录DR命令、打开文件或装入、执行文件时,系统运行速度明显减慢,并且此时磁盘如果有未被传染的COMMAND.COM文件,则该文件会立即被传染上中国炸弹病毒。该病毒属于常驻内存型计算机病毒,中国炸弹病毒驻留内存后,不改变0040:0013H、0040:0014H两处的内容,所以般用DEBUG不能发现系统内存容量的减少。病毒发作的条件是
(1)系统时间是15分或45分,并且秒数是15秒或45秒;
(2)打开磁盘上任一个文件(21H中断3DH号功能调用)。当同时满足以上两个条件时,该病毒便把内存中任意一块数据写入硬盘前80个扇区,将主引导记录(分区表)DOS引导记录、磁盘文件分配表(FAT表)等覆益,从而完全破坏磁盘。2
表现传染有中国炸弹病毒的系统启动时,病毒首先常驻内存并监视系统的运行情况,如破坏条件满足,中国炸弹病毒即破坏系统,否则病毒将监视系统中是否有COMMAND.COM文件,以进行传染。传染有中国炸弹的计算机程序在运行时可能出现如下症状
(1)COMMAND.COM加长1492字节,文件的建立时间将变为1980年1月1日;
(2)执行DOS的内部命令时,时间延长;
(3)系统在破坏是显示:——Chinese Bomb——(made in China 1989)。
中国炸弹病毒链接在COMMAND.COM文件的尾部,并将第一条指令改为JMP××××(××××是原 COMMAND.COM文件的长度),当系统启动流程进行到执行COMMAND.COM文件时,病毒程序将首先得到执行。2
组成病毒程序从逻辑结构上可分为初始化部分、传染部分和病毒的破坏及表现部分。
1.中国炸弹病毒的初始化部分
(1)初始化部分首先将内存中COMMAND.COM程序末尾的病毒程序前移至CS:0100H,将COMMAND.COM程序覆盖,并将指令指针(IP)移至此区继续执行。
(2)调用译码子程序将数据区中密码翻译成数据,该数据区存放文件路径名、原文件长度、病毒标识、原文件第一条指令和屏幕显示信息等。
(3)释放除程序本身所需以外的内存空间,并为COMMAND.COM文件申请全部内存自由空间,在申请到的内存段内建立新程序段,并将磁盘上COMMAND.COM文件读入内存中新程序段,将新程序段内程序的第一条指令恢复为正确指令,使其成为正确的COMMAND.COM程序。
(4)用INT 18H中断替代INT 21H中断,修改INT 21H中断的入口地址,将控制权交给病毒程序。
(5)调用病毒传染部分传染硬盘中COMMAND.COM文件。
(6)转至内存新程序段处执行正确的COMMAND.COM程序。
2.中国炸弹病毒的传染部分
病毒的传染部分由被修改的INT 21H完成,即如果本次中断是INT 2lH中断中的获得磁盘自由空间(36H)功能调用(DOS中的DIR命令执行此调用)、打开文件(3DH)调用或者装入执行文件(4BH)调用等调用之一,病毒根据本次中断所涉及的驱动器,调用传染部分传染该盘中的COMMAND.COM文件。
(1)打开盘上的COMMAND.COM文件,将其属性改为普通文件属性(20H),以便进行读写操作。
(2)比较文件中偏移量03H字节开始处的一个字是否等于偏移量150H字节开始处的一个字,如果两处的字值相同,病毒程序即认为该文件已被传染,不再次传染之;若文件中偏移量03H及150H两处的标识字不同,则病毒传染该文件,传染时病毒将正常文件的长度和第一条指令保存于数据区中,调用译码子程序,将数据区恢复成密码;将病毒程序(长度为5D4H)写入文件末尾,并将COMMAND.COM文件第一条指令修改为JMP××(×××为原文件长度),而后将文件150H处标识写到03H处,作为病毒传染的标识。
3.病毒的破坏及表现部分
病毒的破坏及表现部分是被修改的INT 21H中断服务程序,当执行INT21H中断时,便进入病毒的INT 21H中断程序。被病毒修改的INT 21H程序完成如下几个功能:
(1)首先保存INT2H中断的原入口地址,并且保护中断现场。
(2)如果本次中断是INT 21H中断的打开文件(3DH号)功能调用,同时,当前系统时是15分或45分且秒数是15秒或45秒时,则破坏硬盘,并且在屏幕上显示上述病毒信息。2
检测从上面的分析中可以看出,中国炸弹病毒主要利用了COMMAND.COM文件常驻内存的特点,并且接管了DOS功能调用INT21H中断,每当执行INT21H中断时,中国炸弹病毒便得到了一次活动机会。
中国炸弹病毒的实际字节长度为1492字节,一般而言,在DOS状态下使用DIR命令查看磁盘中的COMMAND.COM文件字节数是否增加了1492个字节及文件建立时间是否发生变化,可以发现COMMAND.COM文件是否被传染。如果COMMAND.COM增加了1492个字节,同时COMMAND.COM文件的建立时间变为1980年1月1日,便可认定已传染上了中国炸弹病毒。DOS2.0、3.0、3.2、3.3版本中COMMAND.COM文件字节数分别为17654(十进制)、22042(十进制)、23791(十进制)、25307(十进制)。传染后长度应分别为19146(十进制)、23534(十进制)、25283(十进制)、26799(十进制)。
中国炸弹病毒的另外一个特点,是病毒在COMMAND.COM文件中设置标识,即将相对于文件头的文件偏移量为150H的两个字节放入相对于文件头偏移量为03H开始处的一个字中,这样,被病毒传染的COMMAND.COM文件相对于文件头偏移量为03H、04H中的内容与相对于文件头偏移量为150H、15IH处的内容是相同的,因此,可以用DEBUG调出 COMMAND.COM后用D命令显示103H、104H与250H、251H( DEBUG加载文件是从偏移量为100处开始的)四单元中的内容,查看其是否相等。如果103H、104H和250H、251H所组成的两个字是相等的而且文件长度增加了1492字节,我们就可以断定COMMAND.COM文件中传染有中国炸弹病毒。用DEBUG检测系统的具体方法如下
A>DEBUG COMMAND.COM-D 250 25136CD:0250 00 4C-D 103 10436CD:10000 4C这样通过上面讲到的COMMAND.COM文件的三种变化,即可断定系统的命令解释程序COMMAND.COM文件中传染有中国炸弹病毒。2
消除因为病毒修改了COMMAND.COM文件的前6个字节的内容,这就能够在正常的COMMAND.COM文件执行之前首先执行病毒程序,同时病毒又是链接于文件的尾部,所以我们可以用恢复被传染的COMMAND.COM文件的前6个字节并去除文件尾部5D4H字节病毒程序的方法消除中国炸弹病毒,但是由于病毒对原来 COMMAND.cOM文件的前6个字节采用加密的方法保存在自己的数据区中,因比我们必须首先执行病毒代码部分的病毒解密程序部分以解密这6个字节使用系统调试程序 DEBUG消除中国炸弹病毒的具体过程如下:
C>DEBUG COMMAND.COM-RCX:68AF-U100xxxx:0100 E9D862 JMP 63DB-D 688BHxxxx:688BH 68AC 8Cxxxx:0100 JMP 0E30xxxx:0103-H 688B 5D46E5F 62B7-RCXCX 688B:62B7-W-QC>注意:用DEBUG.COM对COMMAND.COM文件手工解毒后应该立即重新启动系统,以避免其他盘中的 COMMAND.COM文件被中国炸弹病毒传染。2
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学