CIH病毒

历史

1998年9月，山叶公司为感染了该病毒的CD-R400驱动提供一个固件更新。1998年10月，用户传播的Activision公司游戏SiN的一个演示版本因为在某一用户的主机上接触被感染档而受到感染。这个公司的传染源来自IBM1999年3月间发售的已感染CIH病毒的一组Aptiva品牌个人计算机。1999年4月26日，公众开始关注CIH首次发作时，这些计算机已经运行一个月了。这是一宗大灾难，全球不计其数的计算机硬盘被垃圾数据覆盖，甚至破坏BIOS，无法引导。至2000年4月26日，亚洲报称发生多宗损坏，但病毒没有传播开来。2001年3月发现Anjulie蠕虫病毒，它将CIH v1.2植入感染的系统。
针对CIH病毒可能篡改主版BIOS的特性，2000年以后生产的很多主板配备了所谓的‘反CIH系统’，其原理就是通过一个硬件跳线使得BIOS芯片（EEPROM或Flash）不能获得写入数据所需的电压，功能类似于磁带的‘消磁防止挡舌’和软盘的‘写保护’系统。该系统置于‘打开’则有效的从硬件上阻止CIH对BIOS的篡改，反之需要升级主板固件时，则必须将该跳线置于‘关闭’。
这个病毒的死灰复燃是在2001年。一个用珍妮佛罗培兹的裸照伪装的VBScript文件里的蠕虫病毒的一个变种包含CIH病毒的挂钩例程，从而使该病毒在互联网上传播开来。
一个修改版本是CIH.1106，发现于2002年12月，但是没有严重的破坏性。
只有CIH感染大量发信的计算机蠕虫（如求职信病毒）所使用的程序，或有Anjulie蠕虫病毒参与时，CIH才会被看成是一个威胁。但是CIH病毒只在Windows 95，98和Windows Me系统上发作，影响有限。现在由于人们对它的威胁有了认知，且它只能运行于旧的Windows 9X操作系统，CIH不再像他刚出现时分布那么广泛传播。

病毒特征

CIH以可移植可执行文件格式在Windows 95、Windows 98和Windows ME上传播。CIH不会在Windows NT内核的操作系统上运行或传播。如Windows 2000、Windows XP、Windows 7等。
由于CIH会感染可执行文件，它会占据一般的可执行文件剩余的位置。因此，CIH又有一个绰号叫“空间填充者（Spacefiller）”。这个病毒大小不到1KB，但是文件不会增大。它使用从处理器Ring3到Ring0跳转的方法触发系统调用。
CIH会感染Windows的PE（Portable Executable）执行文件，并且把它不到1KB（1024 bytes）的程序代码分割成几个部分，分别写入PE执行文件中各个段所尚未填满的地方。因此被感染的执行文件大小并不会增加。因为Windows 95、Windows 98、Windows ME等等这些非Windows NT的核心，存在有处理结构化异常处理（SEH, Structured Exception Handling）的问题，以及Windows 95/98/ME没有保护中断描述表（IDT, Interrupt Description Table）的机制（正确保护模式下的应用程序无权改动。Windows NT系列则有保护，因此病毒无法顺利运行），CPU会用最高的权限Ring 0直接去运行这个SEH所指向的程序代码。因此一开始病毒被运行后，他会置换掉原本程序或Windows默认的SEH地址，透过触发代码异常中断而让CPU切换回Ring 0模式去运行这部分CIH所设计的程序顺利获取Ring 0权限。由于CPU处在Ring 0模式下，CIH可以任意地访问Windows内核部分和系统API的挂钩，进而继续感染其他文件，或是发作时候对硬件做些直接I/O动作。
当它发作时，是非常危险的。首先病毒会在硬件和软件中从第0扇区开始写入零数据。这样经常删除了分区表的内容，将有可能死机。
第二个，它也会尝试将垃圾信息写入Flash BIOS。如果保护跳线是关闭的，这一过程会在基于Intel 430TX芯片组的机器上起作用，上述芯片组将允许计算机程序刷写Flash BIOS。
对于第一个，如果数据很重要，可以将硬盘交给一些专业恢复数据的公司，这将有可能使数据恢复；或者在某些情况下，可以使用Fix CIH，一个由史蒂夫·吉布森编写的免费软件。否则，必须运行FDISK重新划分分区。不过，当第二种情况发生时，计算机将无法启动。需要请技术人员重写或更换Flash BIOS芯片。

CIH v1.2（CIH.1103）

这是最常见的版本，他的发作时间为4月26日。
它包含这个字符串：CIH v1.2 TTIT。

CIH v1.3（CIH.1010A和CIH1010.B）

这个版本的CIH也是在4月26日发作。
它包含这个字符串：CIH v1.3 TTIT。

CIH v1.4（CIH.1019）

它在每月26日发作。它仍然存在，虽然它并不常见。
它包含这个字符串：CIH v1.4 TATUNG。

CIH.1106

它还是个变化很小的一个变种，出现在2002年12月。