CIH病毒
是迄今为止发现的最阴险的病毒之一。 它发作时不仅破坏硬盘的引导区和分区表,而且破坏计算机系统flashBIOS芯片中的系统程序,导致主板损坏。CIH病毒是发现的首例直接破坏计算机系统硬件的病毒。
该病毒每月25日发作,发作时破坏计算机硬盘存储器中的数据和计算机中的BIOS程序,造成开机一片黑暗。
一、CIH到底是什么病毒
CIH病毒属于文件型病毒,其别名有Win95.CIH、Spacefiller、Win32.CIH、PE_CIH,它主要感染Windows95/98下的可执行文件(PE格式,Portable Executable Format),目前的版本不感染DOS以及WIN 3.X(NE格式,Windows and OS/2 Windows 3.1 execution File Format)下的可执行文件,并且在Win NT中无效。其发展过程经历了v1.0,v1.1、v1.2、v1.3、v1.4总共5个版本,目前最流行的是v1.2版本,在此期间,据某些报导,同时产生了不下十个的变种,不过好象没有流行起来的迹象,本人并未实际接触到这些所谓的CIH变种病毒。 在v1.0、v1.1、v1.2、v1.3、v1.4五个版本,只有v1.2、v1.3、v1.4这三个版本的CIH病毒有实际的破坏性。其中v1.2版本只在每年的4月26日发作,又称为切尔诺贝利病毒(前苏联核事故纪念日);v1.3的发作日期是每年的6月26日;v1.4版本的发作日期是每月的26。CIH病毒只在Windows 95/98环境下感染发作,当运行了带毒的程序后,CIH病毒驻留内存,再运行其它.exe文件时,首先在文件中搜索“caves”字符,如果没有发现就立即传染。CIH病毒发作时硬盘数据、硬盘主引导记录、系统引导扇区、文件分配表被覆盖,造成硬盘数据特别是C盘数据丢失,并破坏部分类型的主板上的Flash BIOS导致计算机无法使用,是一种既破坏软件又破坏硬件的恶性病毒。
CIH病毒的各种不同版本的随时间的发展不断完善,其基本发展历程为:
CIH病毒v1.0版本:
最初的V1.0版本仅仅只有656字节,其雏形显得比较简单,与普通类型的病毒在结构上并无多大的改善,其最大的“卖点”是在于其是当时为数不多的、可感染Microsoft Windows PE类可执行文件的病毒之一,被其感染的程序文件长度增加,此版本的CIH不具有破坏性。
CIH病毒v1.1版本:
当其发展到v1.1版本时,病毒长度为796字节,此版本的CIH病毒具有可判断Win NT软件的功能,一旦判断用户运行的是Win NT,则不发生作用,进行自我隐藏,以避免产生错误提示信息,同时使用了更加优化的代码,以缩减其长度。此版本的CIH另外一个优秀点在于其可以利用WIN PE类可执行文件中的“空隙”,将自身根据需要分裂成几个部分后,分别插入到PE类可执行文件中,这样做的优点是在感染大部分WINPE类文件时,不会导致文件长度增加。
CIH病毒v1.2版本:
当其发展到v1.2版本时,除了改正了一些v1.1版本的缺陷之外,同时增加了破坏用户硬盘以及用户主机BIOS程序的代码,这一改进,使其步入恶性病毒的行列,此版本的CIH病毒体长度为1003字节。
CIH病毒v1.3版本:
原先v1.2版本的CIH病毒最大的缺陷在于当其感染ZIP自解压包文件(ZIP self-extractors file)时,将导致此ZIP压缩包在自解压时出现:
WinZip Self-Extractor header corrupt.
Possible cause: disk or file transfer error.
的错误警告信息。v1.3版本的CIH病毒显得比较仓促,其改进点便是针对以上缺陷的,它的改进方法是: 一旦判断开启的文件是WinZip类的自解压程序,则不进行感染。同时,此版本的CIH病毒修改了发作时间。v1.3版本的CIH病毒长度为1010字节。
CIH病毒v1.4版本:
此版本的CIH病毒改进上上几个版本中的缺陷,不感染ZIP自解压包文件,同时修改了发作日期及病毒中的版权信息(版本信息被更改为:“CIH v1.4 TATUNG”,在以前版本中的相关信息为“CIH v1.x TTIT”),此版本的长度为1019字节。
从上面的说明中,我们可以看出,实际上,在CIH的相关版本中,只有v1.2、v1.3、v1.4这3个版本的病毒具有实际的破坏性,其中v1.2版本的CIH病毒发作日期为每年的4月26日,这也就是当前最流行的病毒版本,v1.3版本的发作日期为每年的6月26日,而CIH v1.4版本的发作日期则被修改为每月的26日,这一改变大大缩短了发作期限,增加了其的破坏性。
二、CIH病毒发作时所产生的破坏性:
CIH属恶性病毒,当其发作条件成熟时,其将破坏硬盘数据,同时有可能破坏BIOS程序,其发作特征是:
1、以2048个扇区为单位,从硬盘主引导区开始依次往硬盘中写入垃圾数据,直到硬盘数据被全部破坏为止。最坏的情况下硬盘所有数据(含全部逻辑盘数据)均被破坏,如果重要信息没有备份,那就只有哭了!
2、某些主板上的Flash ROM中的BIOS信息将被清除。
三、感染CIH病毒的特征:
由于流行的CIH病毒版本中,其标识版本号的信息使用的是明文,所以可以通过搜索可执行文件中的字符串来识别是否感染了CIH病毒,搜索的特征串为“CIH v”或者是“CIH v1.”如果你想搜索更完全的特征字符串,可尝试“CIH v1.2 TTIT”、“CIH v1.3 TTIT”以及“CIH v1.4 TATUNG”,不要直接搜索“CIH”特征串,因为此特征串在很多的正常程序中也存在,例如程序中存在如下代码行:
inc bx
dec cx
dec ax
则它们的特征码正好是“CIH(0x43;0x49;0x48)”,容易产生误判。
具体的搜索方法为:首先开启“资源管理器”,选择其中的菜单功能“工具→查找→文件或文件夹”,在弹出的“查找文件”设置窗口的“名称和位置”输入中输入查找路径及文件名(如:*.EXE),然后在“高级→包含文字”栏中输入要查找的特征字符串——“CIH v”,最后点取“查找键”即可开始查找工作。如果在查找过程中,显示出一大堆符合查找特征的可执行文件,则表明您老的计算机上已经感染了CIH病毒。
实际上,在以上的方法中存在着一个致命的缺点,那就是:如果用户刚刚感染CIH病毒,那么这样一个大面积的搜索过程实际上也是在扩大病毒的感染面。一般情况下,推荐的方法是先运行一下“写字板”软件,然后使用上面的方法在“写字板”软件的可执行程序Notepade.exe中搜索特征串,以判断是否感染了CIH病毒。
另外一个判断方法是在Windows PE文件中搜索IMAGE_NT_SIGNATURE字段,也就是0x00004550,其代表的识别字符为“PE00”,然后查看其前一个字节是否为0x00,如果是,则表示程序未受感染,如果为其他数值,则表示很可能已经感染了CIH病毒。
最后一个判断方法是先搜索IMAGE_NT_SIGNATURE字段——“PE00”,接着搜索其偏移0x28位置处的值是否为55 8D 44 24 F8 33 DB 64,如果是,则表示此程序已被感染。
还听说凡是感染了CIH病毒的机器,如果玩NEED FOR SPEED II游戏时,会在读取游戏光盘时出现死机现象,本人没有尝试过,不知道实际上是不是有这一情况存在。
适合高级用户使用的一个方法是直接搜索特征代码,并将其修改掉,方法是:先处理掉两个转跳点,即搜索:5E CC 56 8B F0 特征串以及5E CC FB 33 DB特征串,将这两个特征串中的CC改为90(nop),接着搜索 CD 20 53 00 01 00 83 C4 20 与 CD 20 67 00 40 00 特征字串,将其全部修改为90,即可(以上数值全部为16进制)。
另外一种方法是将原先的PE程序的正确入口点找回来,填入当前入口点即可(此处以一个被感染的CALC.EXE程序为例),具体方法为:先搜索IMAGE_NT_SIGNATURE字段——“PE00”,接着将距此点偏移0x28处的4个字节值,例如“A0 02 00 00”(0x000002A0),再由此偏移所指的位置(即0x02A0)找到数据“55 8D 44 24 F8 33 DB 64”,并由0X02A0加上0X005E得到0x02FE偏移,此偏移处的数据例如为“CB 21 40 00”(OXOO4021CB),将此值减去OX40000,将得数——“CB 21 00 00”(OXOO0021CB)值放回到距“PE00”点偏移0x28的位置即可(此处为Windows PE格式程序的入口点,术语称为Program Entry Point)。最后将“55 8D 44 24 F8 33 DB 64”全部填成“00”,使得我们容易判断病毒是否已经被杀除过。
按照上面手工杀毒的方法一般适合于某些单独的软件(例如某些软件包含在软盘中,却被感染了CIH不读,可现在就要用,呵呵!)。使用上述方法的缺点在于病毒体还将保留在可执行文件中,虽然不会起作用,但是想起来可能会有点不舒服(记得“WPS2000测试版残留CIH病毒尸体”的事件么?)。所以,想彻底杀灭,推荐使用某些反病毒软件进行(以上操作以及使用反病毒软件进行杀毒,必须使用干净的系统盘启动计算机)。
四、病毒已经发作了,该怎么办?
如果病毒已经发作,那就得看您老的运气了,一种情况是硬盘数据被破坏,在这种情况下,可能出现计算机能够使用软盘启动,但是一旦试图访问硬盘,就出现无法访问或者是访问出错或者是可以访问硬盘,但是列出一大堆无意义的信息。
修复硬盘
就目前掌握的情况来看,除C:以外的其他逻辑分区可以被完全修复(这得看它破坏到哪里了,一般发作的症状是硬盘转个不停,总不会有人白痴到让它写完了主分区再写完逻辑分区后才关机吧,另外备注一下:根据本人手头的程序显示,CIH标准版本在破坏上的确是进行顺序写入垃圾数据,完全破坏硬盘信息的,可听说某些只写5M或者是类似的数据,是否是CIH的派生版本不得而知),而是否能修复C:则得看实际破坏程度了,总之一句话,看你的运气啦!
CIH病毒破坏了主引导扇区和硬盘分区表,使得硬盘上的数据无法访问。只要重建主引导扇区、重新恢复分区表,就用恢复数据的可能。但是CIH病毒对C盘的破坏要比以往的引导型病毒严重,C盘的文件分配表基本不可能恢复。对于其它逻辑盘,可以用一些工具进行恢复。一些反病毒软件公司推出了修复工具,但也不是百分之百的有效。如果你的硬盘上有重要数据,最好不要轻易动手,请专业人员修复。
修复主板
另外一种情况是除了硬盘数据损坏之外,其主板上的Flash ROM中的BIOS程序也被破坏,这一情况又得分成两大类,得视你的损坏情况以及主板的构造而定:
一是全部损坏,那就惨了,机器变成了黑脸的哑巴,连叫都不会叫了,这一故障只有重新写一遍BIOS,写入的方法一般是使用兼容Flash ROM的“烧录器”,这玩意实际上也不复杂,一个电子爱好者随便弄块8255之类的便宜芯片就能捣起来(一般配合PC等计算机使用)。如果您机器主板上的Flash ROM是安装在插座上的,则推荐将其锹下来,然后找人帮忙给再写一块(一般情况下你很有可能需要一块包含有相同或者近似版本BIOS的其他ROM芯片,可尝试找朋友借)。
如果你那边实在是找不到有“烧录器”的地方,则如果你手头有一些类似用于主板BIOS升级的文件盘,同时你能借的到相同的BIOS芯片,也可以先将借来的BIOS ROM芯片插在你的BIOS ROM插座上(记得先把带病毒的硬盘拔了),然后尝试使用干净DOS盘启动(只需要启动基本DOS系统即可,不要挂其他的驱动程序),启动完成后,就要开始尝试危险的热插拔工作,即:将借来的BIOS ROM拔掉,换上数据损坏的Flash Rom,然后启动主板BIOS升级的软件进行写入工作。(备注:此方法中所使用的热插拔乃电子界的大忌,如果造成任何损失,本人概不负责)。
二是基本启动部分未出现损坏,这一情况的特征为可能机器不能正常启动,但是还有一些启动的感觉,例如它居然还能够出现检测软盘的动作(要保证能够由软盘启动计算机),这一情况比较幸福,在这种情况下,基本BIOS还能运行,但是由于其一般只支持IDE接口的显示卡,则可能你的屏幕上不会有任何的显示信息。在这一情况下,则必须使用“黑灯瞎火”法,它的原理也就是类似BIOS升级等的操作,它要求我们手头必须有能用的一些BIOS升级程序软件,然后我们在他人的机器上先制作一张DOS启动盘,并将升级操作所需要运行的命令行放在autoexec.bat文件中,然后拿这张软盘到被CIH病毒破坏的机器上启动,接着的一些如“回车”、按上下方向键等的操作就要“摸黑”进行了。如果幸运的话,按以上步骤操作,您的机器就被救活了。
三是惨得一塌糊涂,以上方法都不适用,则推荐你们去问问销售商能不能帮你们解决,这也没办法!
五、CIH病毒疫苗
去年秋天,CIH病毒的制造者在SSCAN防病毒软件作者的帮助下编写了一个CIH病毒的免疫程序,该程序安装后可确保不受CIH病毒的侵袭。
因为该程序没有查毒或杀毒功能,在安装前必须先用杀毒工具检查一下硬盘,在确认没有CIH病毒的前提下,在Windows 95/98环境下安装(CIH病毒只在此环境下才发作),安装完后系统会自动重新启动,这时电脑已经有免疫能力,即使是运行含有CIH病毒的软件,也不会感染,直到你重新安装Windows 95/98系统。
它的原理是这样的:每次开机时,系统就会立即自动执行cih.exe程序,运行的结果只是在系统的一个暂存器DR0中做一个记号,程序并不驻留内存,也不会与其它杀毒软件冲突,自身也不会被感染。这之后如果运行了带CIH病毒的程序,CIH病毒也不会驻进内存(CIH病毒在驻留内存前先判断DR0暂存器,免疫程序已经做了记号),也不会感染和发作了。
安装了免疫程序后虽然可以免遭CIH病毒的侵袭,但是从安装了免疫程序的电脑上拷贝带有CIH病毒的文件到其它未安装免疫程序的电脑上时,只要一运行这个文件就会感染上CIH病毒,因此安装免疫程序并不是最好的方法。
六、CIH病毒大事记(摘自《中国计算机的》)
1998年6月2日:首例CIH病毒在中国台湾被发现。
1998年6月6日:首例CIH病毒样品抵达DF反病毒实验室。
1998年6月6日:CIH病毒1.2版本出笼并为FSAV反病毒机构跟踪。
1998年6月12日:CIH病毒1.3版本出笼并为FSAV反病毒机构跟踪。
1998年6月26日:CIH病毒1.3版本首次发作,但危害较小。
1998年6月30日:CIH病毒1.4版本出笼并为FSAV反病毒机构跟踪。
1998年7月:CIH病毒通过受感染的盗版软件在网上传播。
1998年8月:“飞行大队长”游戏软件演示版受CIH病毒感染。
1998年8月:欧洲两种游戏杂志发送受CIH病毒感染的CD-ROM。
1998年8月26日:CIH病毒1.4版发作,媒体予以广泛关注。
1998年9月:YAMAHA公司发送第一批受CIH病毒感染的CD-ROM软件。
1998年10月:广为流传的SiN游戏软件演示版受CIH感染。
1999年3月:CIH病毒1.2版侵入IBM公司Aptiva型计算机。
1999年4月26日,CIH病毒1.2版首次发作,计算机业损失巨大。
BIOS是ROM CIH是通过类似刷新BIOS的方式向BIOS里写入冗余数据的,致使BIOS读取错误。
和刷BIOS是同样的原理,cih获取CPU控制权后就会进行一个模拟刷bios的过程,删除CMOS芯片中的Bios设置,最终导致计算机崩溃