计算机病毒相关知识分析和介绍将要介绍的几种病毒类型DOS病毒引导区病毒文件型病毒混合型病毒Windows病毒VBS脚本病毒宏病毒网页病毒Win32PE病毒引导区病毒什么是主引导记录?硬盘的主引导记录在硬盘的0磁头0柱面1扇区。主引导记录由三部分组成:主引导程序;四个分区表;主引导记录有效标志字。DOS引导区病毒引导区病毒所谓引导区病毒是指一类专门感染软盘引导扇区和硬盘主引导扇区的计算机病毒程序。如果被感染的磁盘被作为系统启动盘使用,则在启动系统时,病毒程序即被自动装入内存,从而使现行系统感染上病毒。在系统带毒的情况下,如果进行了磁盘I/O操作,则病毒程序就会主动地进行传染,从而使其它的磁盘感染上病毒。DOS的正常启动过程加电开机后进入系统的检测程序并执行该程序对系统的基本设备进行检测;检测正常后从系统盘0面0道1扇区即逻辑0扇区读入Boot引导程序到内存的0000:7C00处;转入Boot执行之;Boot判断是否为系统盘,如果不是系统盘则提示:non-systemdiskordiskerrorReplaceandstrikeanykeywhenready否则,读入IBMBIO.COM和IBMDOS.COM两个隐含文件;DOS的正常启动过程执行IBMBIO.COM和IBMDOS.COM两个隐含文件,将COMMAND.COM装入内存;系统正常运行,DOS启动成功。引导区病毒实际上就是先保存软盘的引导记录或者硬盘的主引导记录,然后用病毒程序替换原来的引导记录,这样,当系统引导时,便先执行病毒程序,然后将控制权转交给正常的引导程序。带毒盘引导的启动过程将Boot区中病毒代码首先读入内存的0000:7C00处;病毒将自身全部代码读入内存的某一安全地区、常驻内存,监视系统的运行;修改INT13H中断服务处理程序的入口地址,使之指向病毒控制模块并执行之。因为任何一种病毒要感染软盘或者硬盘,都离不开对磁盘的读写操作,修改INT13H中断服务程序的入口地址是一项少不了的操作;病毒程序全部被读入内存后才读入正常的Boot内容到内存的0000:7C00处,进行正常的启动过程;病毒程序伺机等待随时准备感染新的系统盘或非系统盘。感染过程是否在读写软盘?是,则将目标盘的引导扇区读入内存,对该盘进行判别是否传染了病毒;当满足传染条件时,则将病毒的全部或者一部分写入Boot区,把正常的磁盘的引导区程序写入磁盘特写位置;返回正常的INT13H中断服务处理程序,完成了对目标盘的传染。感染过程引导型病毒的主要特点引导型病毒是在安装操作系统之前进入内存,寄生对象又相对固定,因此该类型病毒基本上不得不采用减少操作系统所掌管的内存容量方法来驻留内存高端。而正常的系统引导过程一般是不减少系统内存的。引导型病毒需要把病毒传染给软盘,一般是通过修改INT13H的中断向量,而新INT13H中断向量段址必定指向内存高端的病毒程序。引导型病毒感染硬盘时,必定驻留硬盘的主引导扇区或引导扇区,并且只驻留一次,因此引导型病毒一般都是在软盘启动过程中把病毒传染给硬盘的。文件型病毒什么是文件型病毒?所有通过操作系统的文件系统进行感染的病毒都称作文件病毒。我们将会介绍的两种病毒COM文件型病毒EXE文件型病毒COM文件型病毒COM文件被载入内存后的格式COM文件型病毒病毒要感染COM文件一般采用两种方法:加在文件尾部COM文件型病毒加在文件头部EXE文件型病毒MZ文件头格式偏移大小描述002bytes.EXE文件类型标记:4d5ah022bytes文件的最后一个扇区的字节数042bytes文件的总扇区数文件大小=(总扇区数-1)*512+最后一页字节数062bytes重定位项的个数082bytesexe文件头的大小(16bytes*thisvalue)0a2bytes最小分配数(16bytes*thisvalue)0c2bytes最大分配数(16bytes*thisvalue)0e2bytes堆栈初始段址(SS)102bytes堆栈初始指针(SP)122bytes补码校验和142bytes初始代码段指针(IP)162bytes初始代码段段址(CS)182bytes定位表的偏移地址1a2bytes覆盖号TheoverlaynumbermakebylinkEXE文件型病毒的感染头寄生EXE文件型病毒的感染尾寄生EXE文件型病毒的感染插入寄生EXE文件型病毒的感染伴随型EXE文件型病毒的感染病毒感染的方式还有很多,譬如DIRII属于一种链接型的病毒,还有无入口点的病毒,没有任何美感的覆盖型病毒等。病毒如何感染,一直是病毒研究的话题,这并不存在非常固定的模式。病毒作者完全可以任意发挥自己的想象。混合型病毒什么是混合型病毒?所谓混合型病毒,就是指既可以感染引导区又可以感染文件的病毒。但是这种病毒绝对不是引导区病毒和文件型病毒的简单相加。文件型病毒大多采用INT21H,但是引导型病毒是在引导阶段进行感染驻留,这时DOS系统还没有启动,因此混合型病毒此时无法采用21号中断。如何解决这个问题?VBS脚本病毒如何感染VBS脚本病毒是直接通过自我复制来感染文件的病毒中的绝大部分代码都可以直接附加在其他同类程序的中间.新欢乐时光病毒可以将自己的代码附加在.htm文件的尾部,并在顶部加入一条调用病毒代码的语句.爱虫病毒则是直接生成一个文件的副本,将病毒代码拷入其中,并以原文件名作为病毒文件名的前缀,vbs作为后缀。VBS脚本病毒如何感染文件感染的部分关键代码setfso=createobject(“scripting.filesystemobject”)‘创建一个文件系统对象setself=fso.opentextfile(wscript.scriptfullname,1)‘读打开当前文件(即病毒本身)vbscopy=self.readall'读取病毒全部代码到字符串变量vbscopy……setap=fso.opentextfile(目标文件.path,2,true)'写打开目标文件,准备写入病毒代码ap.writevbscopy'将病毒代码覆盖目标文件ap.closesetcop=fso.getfile(目标文件.path)'得到目标文件路径cop.copy(目标文件.path&.vbs)'创建另外一个病毒文件(以.vbs为后缀)目标文件.delete(true)'删除目标文件VBS脚本病毒如何搜索文件‘该函数主要用来寻找满足条件的文件,并生成对应文件的一个病毒副本subscan(folder_)'scan函数定义,onerrorresumenext'如果出现错误,直接跳过,防止弹出错误窗口setfolder_=fso.getfolder(folder_)setfiles=folder_.files'当前目录的所有文件集合foreachfileinfilesext=fso.GetExtensionName(file)'获取文件后缀ext=lcase(ext)'后缀名转换成小写字母ifext=“mp5”then‘如果后缀名是mp5,则进行感染。Wscript.echo(file)endifnextsetsubfolders=folder_.subfoldersforeachsubfolderinsubfolders‘搜索其他目录;递归调用scan()scan(subfolder)nextendsubVBS脚本病毒如何获得控制权1)修改注册表项windows在启动的时候,会自动加载HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run项下的各键值所执向的程序。脚本病毒可以在此项下加入一个键值指向病毒程序,这样就可以保证每次机器启动的时候拿到控制权。vbs修改贮册表的方法比较简单,直接调用下面语句即可。wsh.RegWrite(strName,anyValue[,strType])2)通过映射文件执行方式譬如,新欢乐时光将dll的执行方式修改为wscript.exe。甚至可以将exe文件的映射指向病毒代码。VBS脚本病毒如何获得控制权3)欺骗用户,让用户自己执行这种方式其实和用户的心理有关。譬如,病毒在发送附件时,采用双后缀的文件名,由于默认情况下,后缀并不显示,举个例子,文件名为beauty.jpg.vbs的vbs程序显示为beauty.jpg,这时用户往往会把它当成一张图片去点击。同样,对于用户自己磁盘中的文件,病毒在感染它们的时候,将原有文件的文件名作为前缀,vbs作为后缀产生一个病毒文件,并删除原来文件,这样,用户就有可能将这个vbs文件看作自己原来的文件运行。4)desktop.ini和folder.htt互相配合这两个文件可以用来配置活动桌面,也可以用来自定义文件夹。如果用户的目录中含有这两个文件,当用户进入该目录时,就会触发folder.htt中的病毒代码。这是新欢乐时光病毒采用的一种比较有效的获取控制权的方法。VBS脚本病毒的网上传播1)通过Email附件传播设置Outlook对象=脚本引擎.创建对象(Outlook.Application)设置MAPI对象=Outlook对象.获取名字空间(MAPI)Fori=1toMAPI对象.地址表.地址表的条目数//两个for语句用来遍历整个地址簿设置地址对象=MAPI对象.地址表(i)Forj=1To地址对象.地址栏目.地址栏目数设置邮件对象=Outlook对象.创建项目(0)设置地址入口=地址对象.地址栏目(j)邮件对象.收件人=地址入口.邮件地址邮件对象.主题=“你好!”邮件对象.附件标题=“好看的东东,请打开”邮件对象.附件.增加(“test.jpg.vbs“)邮件对象.发送邮件对象.发送后删除=真NextNextVBS脚本病毒的网上传播2)通过局域网共享传播在局域网中,用户之间为了方便文件交流,通常会设置共享目录,并且通常具有可写权限。病毒可以利用共享目录,进行病毒传播扩散。3)通过感染htm、asp、jsp、php等网页文件传播如今,服务已经变得非常普遍,病毒通过感染htm等文件,势必会导致所有访问过该网页的用户机器感染病毒。VBS脚本病毒的网上传播4)通过IRC聊天通道传播随着即时聊天系统的普及和基于浏览的浏览逐渐成为交流的主要方式,这种方式病毒采用的机会相对比较小,譬如叛逃者病毒就采用了这种传播方式。5)通过P2P共享工具进行传播病毒也可以通过现在广泛流行的KaZaA等点对点共享软件进行传播。病毒将病毒文件拷贝到KaZaA的默认共享目录中,这样,当其他用户访问这台机器时,就有可能下载该病毒文件并执行。这种传播方法可能会随着KaZaA这种点对点共享工具的流行而发生作用。VBS脚本病毒的弱点1)绝大部分VBS脚本病毒运行的时候需要用到一个对象:FileSystemObject。2)VBScript代码是通过WindowsScriptHost来解释执行的。3)VBS脚本病毒的运行需要其关联程序Wscript.exe的支持。4)通过网页传播的病毒需要ActiveX的支持。5)通过Email传播的病毒需要OE的自动发送邮件功能支持,但是绝大部分病毒都是以Email为主要传播方式的。如何防范vbs脚本病毒1)禁用文件系统对象FileSystemObject方法:用regsvr32scrrun.dll/u这条命令就可以禁止文件系统对象。其中regsvr32是Windows\System下的可执行文件。或者直接查找scrrun.dll文件删除或者改名。还有一种方法就是在注册表中HKEY_CLASSES_ROOT\CLSID\下找到一个主键{0D43FE01-F093-11CF-8940-00A0C9054228}的项,咔嚓即可。2)卸载WindowsScriptingHost在Windows98中(NT4.0以上同