首页 电脑 电脑学堂 查看内容

Windows下CIH病毒分析

2004-9-29 20:05 854 0

摘要: Windows下CIH病毒分析      CIH 病毒病毒实现了干净样本和染毒样本 Setup.exe的文件大小完全相同, 用Debug跟踪染毒样本Setup....
关键词: 病毒 nbsp BIOS CIH 样本 主板 Windows 文件 系统 硬盘

Windows下CIH病毒分析      CIH 病毒病毒实现了干净样本和染毒样本 Setup.exe的文件大小完全相同, 用Debug跟踪染毒样本Setup.exe的文件头时, 发现DOS环境中跟踪结果指向了 “The program cannot be run at DOS mode”。这只能意味着一件事 ——新病毒 是Windows 95病毒,感染的是95环境下执行的PE格式的 EXE文件。       病毒全长只有 1019字节,而且还分为九块,见缝插针,插到染毒样本的不 同部分。对比Setup.exe和干净样本Setup1.exe, 原来一些数值为0的连续字 节被病毒体所占据。     一般情况下,杀毒者对付病毒有两种基本方法: 静态方法是通过反汇编, 得到病毒体的源代码;而动态方法则是用Debug和WinDebug去跟踪染毒样本的执 行过程。由于开始时无法确认病毒体在染毒样本中的位置, 因而查毒、杀毒都 是从Debug开始,在执行过程中对比染毒样本和相应干净样本状态变化,从中发 现病毒体的位置, 同时,也为编写将染毒样本还原为干净样本的杀毒算法提供 依据。但要进一步了解病毒发作的机理,就必须对病毒体进行反汇编。     这种病毒居然通过端口操作攻击BIOS!用户BIOS将被垃圾信息填满, 除非 使用特殊设备重新写入原来的BIOS程序, 否则用户机器会因被“洗脑”而不得 不更换BIOS芯片或主板。     可以发现从 1986年PC机上发现大麻病毒开始至今,每隔三到四年,就会有 一种全新概念的病毒出现。 在国内这种规律性则更为明显,从1992年3月6日发 作的米开朗基罗,3月13日爆发的黑色星期五,到1995年4月1日流行的Casper, 再到今年8月26 日出现的CIH。每一种新型病毒的出现,都是对传统观念的挑战: Brain(大麻)病毒验证了在PC机上,病毒可以存在并且快速传播;1260病毒证 明了病毒特征字符串的长度可以做到只有一个字节, 也就是说,不对病毒加密 算法进行还原,就无法根据特征字符串查毒、杀毒;CONCEPT病毒则利用数据中 的宏,粉碎了人们认为数据文件不会染毒的看法;而CIH对人们观念上的冲击就 更为猛烈。     CIH对BIOS的攻击,以及由此引起的“硬件”故障,是CIH病毒最大的“卖点”,也最容易引起人们的恐慌。不过,这一点说穿了其实也没什么,CIH仍然是一段寄生性、传染性的程序。     这次CIH所造成的损害中,有引起主板更换的情况,但并不如人们想象中那 样多,原因之一(其重要性往往被忽略),就是硬件设备, 像计算机主板类型 的多样性。由于代码量的限制,这次CIH只能攻击少数几种类型的主板,而如果 主板也像CPU那样整齐划一,使得BIOS端口及相关指令都实现标准化,那后果可 想而知。     对于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.由于病毒将垃圾写入硬盘(包括第二个硬盘),用恢复硬盘分区表方法 是不可能恢复的,所以请务必将重要数据备份,以免造成损失。     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,把病毒体驻留在内存中;也只 有在此时,才能调用IFSM?grμInstallFileSystemApiHook,来截获系统的IFSAPI,从 而当系统打开文件时,病毒能够通过调用IFSM?grμRing0μFileIO,感染其他Windows  95/98执行程序。     这说明,CIH病毒与Windows 95/98系统有紧密的相关性,正因如此,CIH病毒目前 在Windows NT平台上无法传播。 有兴趣的网友可以给我留言。我可以将,CIH病毒的源代码发给您!
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部