电脑病毒是怎样工作(2)
电脑病毒是怎样工作
2、程序型电脑病毒是怎么传播的。
电脑病毒传播最主要的途径是网络,还有软盘和光盘。比如,我正在工作时,朋友拿来一个带电脑病毒的软盘,比如,该电脑病毒感染了磁盘里的A文件,我运行了一下这个A文件,电脑病毒就被读如内存,如果你不运行染毒文件,程序型电脑病毒是不会感染你的机器的(不要骂,我这里说的是程序型电脑病毒,后面我会说引导型电脑病毒,他只要打开软盘就会感染)当染毒文件被运行,电脑病毒就进入内存,并获取了内存控制权,开始感染所有之后运行的文件。比如我运行了WORD。EXE ,则该文件被感染,电脑病毒把自己复制一份,加在WORD.EXE文件的后面,会使该文件长度增加1到几个K。(不是所有电脑病毒都这样,我举这个离子只是想介绍电脑病毒感染过程)
好,接下来,比如说我关机了,则内存中的电脑病毒被清除,我机子中所有的染毒文件只有WORD.exe。第二天,我又开机时,内存是干净的。比如我需要用WORD,于是,该染毒文件中的电脑病毒被读如内存,继续感染下面运行的程序,周而复始,时间越长,染毒文件越多。
到了一定时间,电脑病毒开始发作(根据电脑病毒作者定义的条件,有的是时间,比如CIH,有的是感染规模等等)执行电脑病毒作者定义的操作,比如无限复制,占用系统资源、删除文件、将自己向网络传播甚至格式化磁盘等等。
但是,无论如何,电脑病毒只不过是一段代码,他不可能破坏硬件(欢迎和我讨论),就算是CIH也不是破坏硬件,他只是改写了BIOS中的数据,实际上还是软破坏。什么叫破坏硬件?就是电脑病毒发作时,你的硬盘啪的一下裂成两半,可能吗?
所以,完全不必惧怕电脑病毒,他不会让我门受到太大的经济损失,如果我们养成良好的工作习惯的话(比如自己的文档不要保存在C盘等,后面我会细说)
3、引导型电脑病毒的工作原理
看了前面的电脑病毒传染过程,大家很容易想到,只要我启动计算机后不运行染毒程序,直接删除不就可以了。实际上,现在的电脑病毒没有那么弱智的,下面我门来看看其他的几种传染机制,首先看看引导型电脑病毒。刚才说了,电脑病毒必须进入内存才可以继续感染,只有被运行他才可以进入内存,那么与等用户来运行,如果用户长期不用这个染度文件,岂不是等的花而也谢了。引导型电脑病毒感染的不是文件,而是磁盘引导区,他把自己写入引导区,这样,只要磁盘被读写,电脑病毒就首先被读取入内存。这就是为什么杀毒要用干净的启动盘启动,为的就是防止引导型电脑病毒。下面我详细的谈一下磁盘引导区,看不懂的可以跳过去。
4、引导型电脑病毒是如何传播的
在计算机启动时,必须读取硬盘主引导区获得分区信息,再读取C:盘引导区获取操作系统信息,这时候任何杀毒软件都无法控制,这样我先介绍一下计算机的启动顺序,大家只要记住一点就是:任何程序都要被读入内存才会起作用。
计算机加电后,内存是空的,首先从BIOS中读取一些启动参数到内存中,这些命令控制计算机去做下一步工作就是自检。(BIOS就是在ROM中的基本输入输出系统的意思,ROM是只读存储器,因为计算机是一个机电设备,他不会自己干什么事情,必须由软件,也就是人事先写好的程序来控制他工作,而这些程序必须被读入内存才可以控制计算机,哈哈越扯越远了,不说了,在将就变成计算机基础讲座了,哈哈)
接下来,计算机自检,发现硬盘,读取硬盘主引导程序到内存中,再读取C盘的引导程序到内存中,再读取操作系统文件到内存中,然后开始由操作系统文件控制计算机开始启动。启动完毕后,读入各种自动运行的文件,比如天网放火墙、QQ、电脑病毒监测软件、等等,
前面说过,谁先进入内存,谁先占据系统控制权,从上面的启动顺序可以发现,如果电脑病毒在引导区,那么,他被读入内存的时候,杀毒软件还不知道在那里呢。
举个离子:比如我拿了一张染有引导型电脑病毒的软盘用,当我双击A盘图标后,计算机开始读软盘,首先读入软盘引导区,电脑病毒随之进入内存,并立即把自己写入硬盘引导区(如果开了电脑病毒检测,则时可以检测到并杀之)。如果没有装杀毒软件,检测布道,则下次开机时,计算机自检之后,读硬盘引导区时就会同时读入电脑病毒,接下来,电脑病毒获得系统控制权,改写操作系统文件,隐藏自己,然后计算机继续启动进入WIN200桌面,然后电脑病毒检测才开始运行,电脑病毒完全可能已经把自己伪装起来,让杀毒软件找不到。
所以这中电脑病毒一定要用启动盘启动后,再杀,就是为了跳过读硬盘引导区那一段。在后面我会纤细介绍。
5、电脑病毒如何自动把自身装入内存。
刚才介绍了现在的电脑病毒不会等待用户去运行染毒文件才进驻内存,他们都有自己的办法运行自己,进驻内存,但是有一个共同的特征就是,他必须把自己放在合适的位置,让系统在启动的某个阶段自动去调用他。因为计算机刚刚加电的时候,系统控制权是在BIOS手里的(因为他最早装入内存),而BIOS是保存在只读的ROM中的,所以这时,系统是无毒的,所以引导型电脑病毒要做的就是在BIOS向操作系统交权之前也就是读取启动盘时截取之。
那么程序型电脑病毒怎么把自身装如内存呢?他没有截取控制权的这个能力,BIOS会顺利的把控制权交给操作系统,这时,用户看到的就是开始启动WIN200,由于操作系统在启动时会读取大量的动态联结库文件,电脑病毒就可以把自己放在一个合适的位置上,然后告诉WIN2000启动时把自己读如内存,这一步很好实现,比如大家都知道,QQ启动时会被自动运行,实际上,程序型电脑病毒自动运行自己的办法和QQ从本质上是相同的。就是让系统在启动的某个阶段自动去调用而已。