cih病毒发作时是什么样的原理,有什么样的症状?

2024-11-03 02:32:42
推荐回答(1个)
回答1:

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变种病毒。
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病毒尸体”的事件么?)。所以,想彻底杀灭,推荐使用某些反病毒软件进行或是CIH专用杀毒工具(以上操作以及使用反病毒软件进行杀毒,必须使用干净的系统盘启动计算机)。