|
严防CIH病毒
杨华
7月26日,路透社传出消息,一种名叫Win95.CIH的恶性病毒袭击美国,该病毒发作时同时对BIOS和硬盘发起攻击,有可能引起计算机系统硬件的损坏。
时间仅隔了一个月,8月26日,Win95.CIH病毒侵入中国,多家计算机应用单位病毒发作,造成严重的损失。8月31日,公安部发出紧急通知,要求各地尽快落实对Win95.CIH病毒的防范措施。9月1日,中央电视台在晚间新闻中播出了CIH病毒传播情况和公安部通告。一时间,紧急戒备,病毒问题在时隔三年以后,重新成为社会各界和各大媒体关注的焦点。
所幸的是,目前CIH病毒的危害已经得到了有效的控制,国内反病毒软件厂商顺利地通过了这次“大考”。由此也引起人们更多的思考——严防CIH病毒
追剿CIH病毒
7月26日,路透社传出消息,一种名叫Win95.CIH的恶性病毒袭击美国,该病毒发作时同时对BIOS和硬盘发起攻击,有可能引起计算机系统硬件的损坏。美国一家专门从事数据恢复工作的Ontrack国际数据公司称,当天某家公司的500台计算机同时瘫痪,另外还有其他公司近200台计
算机出现不同情况的问题。
时间仅隔了一个月,8月26日,Win95.CIH病毒侵入国内,多家计算机应用单位病毒发作,造成严重的损失。8月31日,公安部发出紧急通知,要求各地尽快落实对Win95.CIH病毒的防范措施。9月1日,中央电视台在晚间新闻中播出了CIH病毒传播情况和公安部通告。一时间,风声鹤唳,病毒问题在时隔三年以后,重新成为社会各界和各大媒体关注的焦点。
所幸的是,目前CIH病毒的危害已经得到了有效的控制,国内反病毒软件厂商顺利地通过了这次“大考”。为了全面揭示CIH病毒发作的前前后后,本报记者深入到国内反病毒的前线,了解到对CIH病毒追剿的全过程。
8月4日10:12分
一个平平常常的工作日,瑞星总经理兼总工程师刘旭照例着迷于杀毒。
8月4日这一天,起初没有什么特别的,刘旭打开邮箱,浏览自己收到的电子邮件,就在此时,一封寄自某软件工程公司的病毒样本吸引了他的注意,他看了看其中的情况说明:“最近我单位流行专门感染Windows 95EXE执行文件的病毒,导致计算机经常出现死机现象,但目前还不知道它发作时的具体症状。随信附寄病毒样本Setup.exe和干净样本Setup1.exe,请尽快研制出对付它的办法。”
几个小时过去了,杀毒没有取得太大的进展,但刘旭心里感到一阵少有的激动。
8月4日14:30分
瑞星公司马斌接到刘旭电话,得知刘旭发现Windows 95病毒,同时刘旭交代,公司现有开发工作全部暂停,等“杀了毒再说”。
8月5日凌晨2:00
刘旭已经与这个未知病毒搏斗了十几个小时,但收获不大。原因是这个新病毒非同寻常。首先,过去编程水平不高的病毒不能有效地在寄生文件中隐藏起来,给人感觉就像是往沙子撒盐,杀毒者一眼就看得出来;但新病毒却居然实现了干净样本Setup1.exe和染毒样本Setup.exe的文件大小完全相同,都是34304字节,病毒传染就仿佛是往水里撒盐一样,二者彻底融合,大大增加了查毒和杀毒的难度。
其次,用Debug跟踪染毒样本Setup.exe的文件头时,刘旭发现DOS环境中跟踪结果指向了“Theprogram cannot berunat DOS mode”。这只能意味着一件事———新病毒是Windows 95病毒,感染的是95环境下执行的PE格式的EXE文件。我们知道,PC平台上EXE执行文件有DOS、Windows 3.1NE和Windows 95/98PE等三种格式,过去被病毒感染的基本都是DOS和NE格式,PE格式执行文件受病毒感染可能性一直存在,但即使是刘旭,这也是他第一次拿到此类病毒的样本。
以刘旭长期杀毒的经验,一种全新类型病毒的诞生往往说明,某个夙伏多时的高手在病毒技术的某个方面,取得了突破性的进展,由此而来的危害性,通常会在随后该病毒的几个变种中突出地表现出来。
8月18日下午3:40分
几乎用了半个月的时间,刘旭才搞清楚PE文件的格式和新病毒感染的机理。
编病毒的家伙是个高手,病毒全长只有1019字节,而且还分为九块,见缝插针,插到染毒样本Setup.exe的不同部分。对比Setup.exe和干净样本Setup1.exe,原来一些数值为0的连续字节被病毒体所占据。这个病毒理论上可以以一字节为单位,把自己拆散后放置到寄生文件中。
不过,这时刘旭已经松了一口气,既然狐狸尾巴已经露出来,逮住它就只是一个时间问题。杀毒的关键是对被感染文件结构和病毒传播机理的了解,了解得越透,杀毒的速度越快。像过去米开朗基罗病毒刚出来时杀毒需要2个星期,刘旭研究幽灵病毒花了九个月,研究宏病毒花了半年,但以后对同类型的病毒,杀毒可能就只需要几个小时。
8月21日上午11:00
刘旭把能够查杀新病毒的程序瑞星8.0(10),放在网站和BBS站上供用户升级,同时还通过OEM和软件专卖店等渠道向用户分发。
毒虽然杀了,可刘旭心里却还是有些不安:到现在为止,无论从用户报告中,还是从对染毒样本的Debug分析中,都无法得知病毒发作的症状到底如何。
事后刘旭承认,自己犯了一个大错,他一直把这个病毒当作普通概念性病毒看待,认为它只是造毒者技术上一种新的尝试,却没有想到这个不起眼的小病毒竟会在五天以后产生如此大的危害和影响。
8月25日晚10:30分
这些天来,刘旭总是觉得心里不踏实。
一般情况下,杀毒者对付病毒有两种基本方法:静态方法是通过反汇编,得到病毒体的源代码;而动态方法则是用Debug和WinDebug去跟踪染毒样本的执行过程。由于开始时无法确认病毒体在染毒样本中的位置,因而查毒、杀毒都是从Debug开始,在执行过程中对比染毒样本和相应干净样本状态变化,从中发现病毒体的位置,同时,也为编写将染毒样本还原为干净样本的杀毒算法提供依据。但要进一步了解病毒发作的机理,就必须对病毒体进行反汇编。
病毒体的反汇编并不容易,虽然有Source等反汇编工具,但如果不加处理直接使用Source,将会丢失病毒代码的入口地址。刘旭花了很大的力气,把Setup.exe中的九个病毒体合而为一,终于得到了新病毒的反汇编结果。
这种病毒居然通过端口操作攻击BIOS!
BIOS相当于PC机的中枢神经系统,如果这种新病毒得逞的话,用户BIOS将被垃圾信息填满,除非使用特殊设备重新写入原来的BIOS程序,否则用户机器会因被“洗脑”而不得不更换BIOS芯片或主板。
一种引起硬件“损坏”的病毒!
刘旭感到事件的严重性,于是带上病毒样本、病毒分析报告、用户病毒报告等资料连夜向公安部十一局汇报,与此同时,公安部十一局也在密切跟踪着这个新型病毒,并正在研究防范措施。
这种实际上称作CIH的病毒,将于每月26日定期发作,时间迫在眉睫!
8月27日
狼真的来了!就在这一天中,某研究所二十多台电脑瘫痪,某计算机公司连续出现多台计算机返修,维修人员看着这些从不同地方送来的电脑一时无从下手,因为他们的问题都一样:开机不显示,主板无损坏迹象,但却在更换主板后系统恢复正常。北京、上海、广州、黑龙江等地都传来了CIH病毒发作的反映。
CIH病毒终于显露狰狞。
8月31日至9月1日
8月31日,公安部向全国发出通报,要求全社会做好CIH病毒的预防工作。9月1日,瑞星公布了针对CIH病毒的解决方案——瑞星9.0,并在第二天向各大PC硬件厂商提供了防范CIH病毒的咨询意见。同一时期内,国内各大防病毒软件厂商也纷纷提出自己的方案或产品。
至此,尽管余波未平,但CIH病毒蔓延的势头已被遏制。
“狼来了”的背后
在短短两个月内,美、英、法、德、日本、挪威、韩国、南非、罗马尼亚、澳大利亚、中国以及中国台湾省,都先后受到CIH病毒的袭击,引起了不同程度的损失。近日,CIH病毒成为人们关注的一个焦点。
翻开病毒发展的简史,可以发现一个有趣的现象:从1986年PC机上发现大麻病毒开始至今,每隔三到四年,就会有一种全新概念的病毒出现。在国内这种规律性则更为明显,从1992年3月6日发作的米开朗基罗,3月13日爆发的黑色星期五,到1995年4月1日流行的Casper,再到今年8月26日出现的CIH,给人感觉似乎是病毒被上了发条,总要定时地闹上一闹。
每一种新型病毒的出现,都是对传统观念的挑战:Brain(大麻)病毒验证了在PC机上,病毒可以存在并且快速传播;1260病毒证明了病毒特征字符串的长度可以做到只有一个字节,也就是说,不对病毒加密算法进行还原,就无法根据特征字符串查毒、杀毒;CONCEPT病毒则利用数据中的宏,粉碎了人们认为数据文件不会染毒的看法;而CIH对人们观念上的冲击就更为猛烈。
“软”和“硬”
CIH对BIOS的攻击,以及由此引起的硬件故障,是CIH病毒最大的“卖点”,也最容易引起人们的恐慌。不过,这一点说穿了其实也没什么,CIH仍然是一段寄生性、传染性的程序,而且程序很短,它并不能启动一个锤子把主板BIOS砸烂,而只是通过端口往BIOS里面写上一堆乱七八糟的数据,使计算机表现得像个白痴。如果不是各个硬件厂商出于软件升级的需要,给BIOS留了后门,相信也不会出这个乱子。
计算机软硬件的分界线,并不像人们心目中那样沟壑分明,相互之间时常地发生转化。有时是软而优则硬,比如JAVA芯片;有时是太硬了要变软,比如说BIOS的可重写。硬件变“软”了就会给病毒留下可钻的空子,硬件厂商和用户若再把关不严,像BIOS写保护跳线设置不对,这事可就难说了。
这次CIH所造成的损害中,引起主板更换的情况,有,但并不如人们想象中那样多,原因之一(其重要性往往被忽略),就是硬件设备,像计算机主板类型的多样性。由于代码量的限制,这次CIH只能攻击少数几种类型的主板,而如果主板也像CPU那样整齐划一,使得BIOS端口及相关指令都实现标准化,那后果可想而知。就像是种庄稼,你要是套种,害虫来了,至少不会弄得满地里都是;可你要是整个地里种的都是麦子,那你可就得整天都在那里守着了。
DOS和Windows 95
可以说,至少对低版本的DOS,没有什么秘密可言了。那会儿,左一个剖析,右一个剖析,剖得DOS什么都瞧见了,造病毒的固然可以八仙过海,反病毒的也大可各显其能。我想,这时造与反之间的争斗,就仿佛是诺曼底登陆,虽然双方也要勾心斗角,但最终还是要在一个方圆几百平方公里的滩头上,真刀真枪地开练。
可Windows 95就有所不同,可能是竞争者少了的缘故,微软把Windows捂得很严实,想给你看的就给你看,不想给你看的,嘿嘿,一边琢磨去吧。这时造与反之间的争斗,明争少了,暗斗多了,竞争的关键已经演变成对Windows核心的了解程度。
笔者个人认为,这次CIH病毒对BIOS的攻击,只能算是个插曲,但CIH病毒所显示出的对Windows系统的攻击,将是未来几年内的主旋律。连宏病毒在内,Windows平台将会是造病毒和反病毒者竞争的主战场。
这次采访的反病毒专家刘旭就很担心,CIH病毒说复杂也复杂,造毒者和杀毒者都需要越过微软送上的ActiveX、C++甚至是C,操起汇编,直奔Windows核心而去;但CIH病毒说简单也简单,一条直肠子到底,既没有变形,也没具备欺骗性。过去病毒都是一代代地出,因而接下来,我们还是要密切注意,在CIH病毒爬上了Windows 95/98平台以后,其变种病毒的发展动向,国内各反病毒软件厂商在得胜还朝时,切不可忘记造毒者还在那里磨刀。
从磁盘到光盘到Internet
随着人们信息交换量的增大,信息交换媒介已经逐渐从磁盘发展到光盘,Internet更成为远距离信息传送的主力之一。另外,Internet上现在还盛行着拿来主义,许多站点也投其所好,什么DEMO版、共享版,发得不亦乐乎。
但这也带来了一个问题:正常文件传递速度是加快了,可一不留神,就容易让病毒也坐上了顺风快车。这次CIH病毒能在两个月之内扩散全球,Internet“功不可没”。
因此,当Internet成为病毒传播的主渠道之一时,该渠道上各个环节应切实负起责任。例如这次像世界第三大的游戏站点mplayer.com(CEO已承认)、ACTIVISION(含糊其词,虽然打了喷嚏,但坚决不承认自己得了感冒)以及国内某站点(WEB加速程序webturbo.exe染毒),都在无意中对CIH病毒的流行,起到了推波助澜的作用。
这次网站染毒的,好像都是免费什么的,弄得用户就很为难,本来就是免费Download,更何况又不是萝卜白菜,可以挑挑拣拣里面有没有病毒,只好拿了也就拿了,下次注意就是。这里笔者突然有了一个好主意,反病毒软件厂商不妨仿照四通利方的上网金典,做一个下载宝盾什么的,以便上网用户能够增强自我保护能力。
另外,据说这次台湾有四家盗版工厂的机器被CIH病毒侵染,其结果是本次CIH病毒的大发作。笔者对此说法表示怀疑,地下盗版者的“效率”和非法性当然是毋庸置疑,不过,这句说法用英文写出来,放在外国人的网站上,怎么都透出点儿西方人的“盗版情结”,盗版是盗版,但病毒的来龙去脉,却大有商榷的必要。
如何防范CIH病毒
针对目前流行的CIH病毒,防病毒专家们提供了如下的预防措施:
1.修改系统时间,跳过每个月的26日。
2.有些电脑系统主板具备BIOS写保护跳线,但一般设置均为开,可将其拨至关的位置,这样可以防止病毒改写BIOS信息。
3.用户采用双平台(Win95和NT)时,该病毒在Windows95下可能会感染Windows NT程序,使得Windows NT操作系统不能正常启动。
4.在第一次查、杀毒时,使用DOS版杀毒软件,清除病毒后再装入Windows版软件,这是由于,在Windows 95/98启动后,有几个文件被系统使用,处于禁写状态,如果这些文件染毒,将不会被彻底清除。因此在清除病毒时,应该避免首先使用Windows版软件杀毒。
5.检查CIH病毒的方法可采用压缩并解压缩文件的方式,如果解压缩出现问题,多半可以肯定有病毒(CIHv1.2)的存在,但用该方法不能判断CIHv1.4病毒。
6.用户不要轻易启动从电子邮件分离的,或从网站上下载的未知软件。
7.由于病毒将垃圾码写入硬盘(包括第二个硬盘),用恢复硬盘分区表方法是不可能恢复的,所以请务必将重要数据备份,以免造成损失。
病毒发展简史
1.1986年出现Brain(大麻)病毒,个人计算机开始有了病毒;
2.1988年我国发现第一例病毒PingPang(小球);
3.1990年在美国出现第一个多形性病毒1260病毒(在中国称幽灵病毒,在台湾省称千面人病毒);在保加利亚出现用于病毒交换的VXBBS;
4.1991年初欧洲出现病毒编写小组和俱乐部,例如米兰的意大利人病毒研究实验室,在英国、德国、美国、瑞典、澳大利亚、东欧等国家都先后成立了这样的组织;六月出现第一个病毒杂志40-HEX,随后又出现NUKE、Arcv、Yam等病毒杂志;
5.1992年出现第一个能把普通病毒改造成多形性病毒的变形引擎MtE;八月份出现第一个病毒开发软件包VCL;同年有人开始出售病毒软件包,每个病毒集售价在几十美元到几百美元之间;
黑色星期五、米开朗基罗等病毒在国内外广泛流行;
6.1993年美国财政部的一个BBS站AIS上存放有几百个病毒源代码,引起了国际舆论的广泛批评;
7.1993、1994年病毒的主要特点是多形性病毒越来越多、越来越容易编写,有许多病毒开发软件包能直接生成多形性病毒;
8.1995年幽灵病毒流行中国;六月份国际上出现第一个感染数据文件的宏病毒———CONCEPT病毒;
9.1998年四月,出现第一例破坏计算机硬件的CIH病毒;八月在我国也发现该病毒。
CIH病毒特点及工作机理
CIH病毒属于文件型病毒,当受感染的EXE文件执行后,该病毒便驻留内存中,并感染所接触到的其他PE格式执行程序。CIH是真正意义上的Windows 95/98病毒。
CIH采用一种独特的感染可执行程序的方法,被感染文件的大小没有任何改变。病毒的实际大小约在1K字节左右。已知CIH的主要变种有:
CIHv1.2:四月二十六日发作,长度为1003个字节,包含字符:CIHv1.2TTIT
CIHv1.3:六月二十六日发作,长度为1010个字节,包含字符:CIHv1.3TTIT
CIHv1.4:每月二十六日发作,长度为1019个字节,包含字符:CIHv1.4TATUNG
其中,v1.2版本的CIH含有bug,使得染毒的自解压压缩文件不能正常运行,该现象可以帮助用户查找CIHv1.2病毒,但据网上资料,CIHv1.4版本已经解决了这个问题。
1.攻击BIOS
CIH病毒最异乎寻常之处,是它对计算机BIOS的攻击。打开计算机时,BIOS(基本输入输出系统)首先取得系统的控制权,它从CMOS中读取系统设置参数,初始化并协调有关系统设备的数据流,在这之后,系统控制权移交给硬盘或软盘的引导区,最后转给操作系统。
为了保存BIOS中的系统基本程序,BIOS先后采用了两种不同的存储芯片:ROM和PROM。ROM(只读存储器)广泛应用于x86时代,它所存储的内容不可改变,因而在当时也不可能有能够攻击BIOS的病毒;然而,随着闪存(FlashMemory)价格的下跌,奔腾机器上BIOS普遍采用PROM(可编程只读存储器),它可以在12伏以下的电压下利用软件的方式,从BIOS端口中读出和写入数据。
在CIH发作时,会试图向BIOS中写入垃圾信息,BIOS中的内容会被彻底洗去。这时,补救办法只有更换BIOS,或是向固定在主板上的BIOS中重新写入原来版本的程序。现在市面上常见的BIOS多达30种以上,有时直接更换主板反而是更为简便、经济的选择。从这个角度上,CIH病毒被称为是首例直接攻击和破坏计算机硬件系统的病毒。
必须指出的是,从理论上CIH只能对少数类型的主板BIOS构成威胁。这是因为,BIOS的软件更新是通过直接写端口实现的,而不同主板的BIOS端口地址各不相同。现在出现的CIH只有1K,程序量太小,还不可能存储大量的主板和BIOS端口数据,以实现对不同主板的自动识别,因此病毒制造者设计CIH时,必然只会根据某类主板的参数编写。实际上,据网上有关资料看,目前已发作的CIH病毒,确实只对某一类主板生效。
2.覆盖硬盘
向硬盘写入垃圾内容也是CIH的破坏性之一,从实际的影响看,覆盖硬盘所带来的损失至少不逊于对BIOS的攻击。据Ontrack国际数据公司统计,7月26日遭病毒袭击的硬盘,平均修复费用为400到1000美元。
CIH发作时,调用IOSμSendCommand直接对硬盘进行存取,将垃圾代码以2048个扇区为单位,循环写入硬盘,直到所有硬盘(含逻辑盘)的数据均被破坏为止。
3.打入Windows内核
无论是要攻击BIOS,还是设法驻留内存来为病毒传播创造条件,对CIH这类Windows 95/98病毒而言,关键是要打入Windows内核,取得核心级控制权。例如,只有在Ring0(核心级)状态下运行,程序才有权调用PageAllocate,把病毒体驻留在内存中;也只有在此时,才能调用IFSMgrμInstallFileSystemApiHook,来截获系统的IFSAPI,从而当系统打开文件时,病毒能够通过调用IFSMgrμRing0μFileIO,感染其他Windows 95/98执行程序。
这说明,CIH病毒与Windows 95/98系统有紧密的相关性,正因如此,CIH病毒目前在Windows NT平台上无法传播。
(,2000-11-20)
|