免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PE病毒的入侵途径和防治措施摘 要由于windows操作系统的广泛使用,pe病毒已经成为当前危害计算机安全的主要病毒之一。针对传播最广泛、危害最大、使用了多态变化技术的windows pe文件病毒的pe病毒,本论文详细的分析了windows pe文件结构及pe病毒的入侵原理,针对windows pe病毒的特点,提出了windows pe文件病毒的防御思想,即在病毒传播时期就把其拒之于系统之外,使其失去寄宿生存的空间,再配合一般的杀毒技术,可以有效的防杀windows pe病毒,使系统的安全性和稳定性大大提高,最后有针对性地提出对pe病毒预防的多种有效策略,从而为防毒、杀毒提供必要的理论依据。关键词pe病毒 入侵途径 防治措施计算机病毒一直是计算机用户和安全专家的心腹大患,虽然计算机反病毒技术不断更新和发展,但是仍然不能改变被动滞后的局面。计算机病毒一般都具有潜伏传染激发破坏等多种机制,但其传染机制反映了病毒程序最本质的特征,离开传染机制,就不能称其为病毒。因此,监控和及时发现计算机病毒的传染行为,是病毒制造者和安全专家的争夺焦点。目前主流的操作系统是windows操作系统,利用windows操作系统中存在的漏洞和系统程序接口,病毒可轻易获取控制权,感染硬盘上的文件,并进行破坏。因此计算机病毒入侵途径和防治研究显得尤为重要。病毒要在windows操作系统上实现其感染目的是要获得系统的控制权,而感染可执行文件时取得控制权的最好途径。在windows nt/xp/2000/98/95等系统下,可执行文件和动态链接库均采用的是pe文件格式。只有透彻研究了pe的文件格式,才能了解病毒如何寄生在文件中,才能有的放矢的采取对策以检测和制止病毒的入侵。在各种病毒中,又以pe病毒数目最大,传播最广,破坏力最强,分析pe病毒有非常重要的意义。因此本文将重点介绍pe病毒的入侵途径和防治措施。一、pe病毒1.pe病毒的定义一个正常的程序感染后,当你启动这个程序的时候,它通常会先执行一段病毒代码,然后自身运行,这样病毒就悄无声息的运行起来,然后再去感染其他pe文件,这就是pe病毒的行为。2.pe病毒的特征(1)具有感染性。该类病毒通过感染普通pe.exe文件并把自己的代码加到exe文件的尾部,修改原程序的入口点以指向病毒体,病毒本身没有什么危害,但是被感染的文件可能被破坏而不能正常运行。(2)潜伏性。指病毒依附于其他文件而存在,即通过修改其他程序而把自身的复制品嵌入到其他程序中。(3)可触发性。即在一定的条件下激活这类病毒的感染机制使之进行感染。(4)破坏性。病毒一旦感染其他文件,病毒本身没什么危害,但是会导致被感染的文件丢失数据或被破坏而不能正常运行。3.pe文件格式在pe文件格式中有一个重要的概念相对偏移量(rav),rav是虚拟空间中某句代码到参考点的一段距离。例如,如果pe文件装入虚拟地址(va)空间的400000h处,且进程从虚拟401000h开始执行,就可以说进程执行起始地址在rva1000h。pe文件格式用到rva的原因是为了减少pe装载器的负担,因为每个模块都有可能被重载到任何虚拟地址空间。pe文件格式被组织为一个线性的数据流,他由一个ms-dos头部开始,接着是实模拟程序残余以及一个pe文件标识,之后紧接着pe文件头和可选头部。这些之后是所有的段头部,断头不之后跟随者所有的段实体。文件的结束处事一些其它的区域,其中是一些混杂的信息,包括重分配信息、符号表信息、行号表信息以及字符串数据。如图:(1)ms-dos头部、实模式头部如上所述,pe文件格式的第一个组成部分是ms-dos头部。保留这个相同的结构的最主要原因是:当在windows3.1一下或ms-dos2.0以上的系统下装在一个文件的时候,操作系统能够读取这个文件并明白是和当前系统不相兼容的。它的第一域e_magic,被称为魔术数字,它被用于表示一个ms-dos兼容的文件类型。所有ms-dos兼容的可执行文件都将这个值设为0x5a4d,表示ascii字符mz。ms-dos头部之所以有的时候被称为mz头部,就是这个缘故。还有许多其它的域对于ms-dos操作系统来说都有用,但是对于windows nt来说,pe结构中只有一个有用的域最后一个域e_lfnew,一个4字节的文件偏移量,pe文件头部就是由它定位的。对于windows nt的pe文件来说,pe文件头部是紧跟在ms-dos头部和实模式程序残余之后的。(2)实模式残余程序实模式残余程序是一个转载时能够被ms-dos运行的实际程序。对于一个ms-dos的可执行映像文件,应用程序就是从这里执行的。对于windows、os/2、windows nt这些操作系统来说,ms-dos残余程序就代替了主程序的位置被放在这里。这种残余程序通常什么也不做,而只是输出一行文本,例如:“this program requires microsoft windows v3.1 or greater.”当为windows 3.1构建一个应用程序的时候,链接器将向你的可执行文件中链接一个名为winstub.exe的默认残余程序。你可以用于一个基于ms-dos的有效程序取代winstub,并且用stub模块定义语句指示器,这样就能够取代链接器的默认行为。为windows nt开发的应用程序可以通过使用-stub:连接器选项来实现。(3)pe头部该头部的结构如下:dworo signature;image_file_header fileheader;image_optional_header optionalheader;image_nt_headers,*pimage_nt_headers;它包括三个域:第一个域是固定的格式“pe00”,用来标示pe文件;第二个域包括:pe文件头部、结构体image_file_header,该结构体有20个字节,它具体的定义如下:typedef struct_image_dos_headerushort machine;/指定运行平台ushort numberofsections;/文件的节表(section)数目ulong timedatestamp;/文件创建日期和时间ulong pointertosymboltable;/用于调试ulong numberofsymbols;/用于调试ushort sizeofoptionalheader;/指示紧随本结构之后的otionalheader 结构大小,必须有效值ushort characteristics;/关于文件信息的标记,比如文件时exe还是dllimage_file_header,*pimage_file_header;第三个域:pe可选头部,结构体image_file_header。虽说是可选,但还是必不可少的,它包含了很多信息,如可执行映像的重要信息,例如初始的堆栈大小、程序入口点的位置、首选地址、操作系统版本、段对的信息等等。这个结构体分为两块:第一块是标准域,适合unix可执行文件的coff格式共有的部分。达尔快为windows nt特定的进程行为提供了装载器的支持。二、pe病毒入侵1.pe病毒入侵的原理分析windows pe病毒同时也是所有病毒中数量极多,破坏性极大,技巧性最强的一类病毒。它们一般采用嵌入宿主程序的方式来进行传染,利用pe文件中的空隙或增加一节方法栖身于pe文件中,并将程序入口点指向病毒代码,当文件执行时首先执行该病毒,然后执行宿主程序,其原理与dos下病毒大同小异,但具体实现方法有许多创新。pe病毒入侵文件时用到的基本技术主要有以下几方面:(1)病毒的重定位在正常程序中,变量在编译时它在内存的位置就都被计算好了,装入内存后,不用程序员重定位,直接引用就可以了。但病毒程序中,因感染宿主程序的位置不同,各个变量在内存中的位置自然也不同。为了引用这些变量,病毒必须自己重定位。call是一条函数调用指令也可以当成是跳转指令。它可以调到目的地址继续执行,执行完毕后会返回到主程序继续执行。当call执行时cpu首先把要返回的地址(即吓一条指令的地址)压入堆栈然后跳到目的地址执行。可以看出在跳转之后只要执行一条pop指令或mov esp,esp就可以得到吓一跳指令在内存中的实际位置。(2)获取api函数地址windows pe病毒就无法象普通pe程序那样直接调用相关api函数,而应该先找出这些api函数在相应动态链接库中的地址。对于这类病毒来说,通常是通过已知api函数序列号或仅知api函数名称来查找api函数地址。已知api函数序列号查找入口地址a.定位到pe文件头。b.从pe文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址。c.从导出表的base字段取得起始序号。d.将需要查找的导出序号减去起始序号,得到函数在入口地址表中的索引。e.检查索引值是否大于等于导出表中的函数个数。如果大于的话,说明输入的序号无效。f.用该索引值在addressoffunctions字段指向的导出函数入口地址表中取出相应的项目,这就是函数的入口地址rva值,当函数被装入内存后,这个rva值加上模块实际装入的基址(imagebase),就得到了函数真正的入口地址。从函数名称查找入口地址a.定位到pe文件头。b.从pe文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址。c.从导出表的numberofnames字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环。d.从addressofnames字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名比较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数。e.如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值(如x),然后在addressofnameordinals指向的数组中以同样的索引值x去找数组项中的值,假如该值为m。f.以m值作为索引值,在addressoffunctions字段指向的函数入口地址表中获取的rva就是函数的入口地址,当函数被装入内存后,这个rva值加上模块实际装入的基址(imagebase),就得到了函数真正的入口地址。(3)文件搜索文件搜索算法(文件搜索一般采用递归算法进行搜索):findfile proc指定找到的目录为当前工作目录开始搜索文件(*.*)该目录搜索完毕?是则返回,否则继续找到文件还是目录?是目录则调用自身函数findfile,否则继续是文件,如符合感染条件,则调用感染模块,否则继续搜索下一个文件(findnextfile),转到继续findfile endp(4)内存映射文件在计算机病毒中,使用内存映射文件读写文件, 通常采用如下几个步骤:调用createfile函数打开想要映射的host程序,返回文件句柄hfile。调用createfilemapping函数生成一个建立基于host文件句柄hfile的内存映射对象,返回内存映射对象句柄hmap。调用mapviewoffile函数将整个文件(一般还要加上病毒体的大小)映射到内存中。得到指向映射到内存的第一个字节的指针(pmem)。用刚才得到的指针pmem对整个host文件进行操作,对host程序进行病毒感染。调用unmapviewfile函数解除文件映射,传入参数是pmem调用closehandle来关闭内存映射文件,传入参数是hmap。调用closehandle来关闭host文件,传入参数是hfile。2.pe病毒入侵的路径分析(1)pe病毒入侵过程pe病毒常见的感染其他文件的方法是在文件中添加一个新节,然后往该新节中添加病毒代码和病毒执行后的返回host程序的代码,并修改文件头中代码开始执行位置(addressofentrypoint)指向新添加的病毒节的代码入口,以便程序运行后先执行病毒代码。下面我们具体感染过程如图所示:(2)下面以cih病毒为例具体分析病毒感染过程:cih病毒属于文件型病毒,主要感染windows pe可执行文件。由于cih病毒使用了vxd技术使得这种病毒在windows环境下传播,其实施性和隐蔽性都特别强,使用一般反病毒软件很难发现这种病毒在系统中传播。感染了cih病毒的程序被执行时,cih首先使用了sidt取得中断描述符表基地址,然后将int3的入口地址改为指向cih病毒自身的int3程序入口。接着cih自己产生一条int3指令,这样cih病毒就可以获得最高级别的cpu使用权限。接下来,cih将判断dr0寄存器的值是否为0,如果不是则表明计算机已被cih病毒感染,自己则正常退出;如果dr0寄存器的值为0,就表明没有cih病毒驻留内存,这时cih病毒首先会将当前ebx寄存器的值赋给dr0寄存器,作上驻留标记,然后调用int20,使用vxd call page allocate系统调用,向系统申请内存空间来驻留,当申请成功后,cih病毒就从被感染的文件中将其病毒代码组合起来,放到申
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童认知发展理论迭代对动物玩具产品定义权的资本争夺
- 人工智能辅助设计在模具研发投资中的边际效益实证研究
- ESG评价体系中文图铜艺电梯门项目的文化资本量化路径
- 2026年湘潭医卫职业技术学院高职单招笔试职业适应性测验试题库含答案解析2套试卷
- 2026年湖南生物机电职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2026年湖北科技职业学院高职单招笔试综合素质试题库含答案解析3套试卷
- 2026年渤海船舶职业学院高职单招笔试物理试题库含答案解析2套试卷
- 2026年浙江交通职业技术学院高职单招笔试职业适应性测验试题库含答案解析3套试卷
- 2026年法律知识法治建设知识竞赛-残疾人保障法知识竞赛历年参考题库含答案解析
- 2026年河南工学院高职单招笔试数学试题库含答案解析3套试卷
- 2026年射频消融术试题及答案
- 2026年浙江(中考)英语考试题库(含答案)
- 2026年普通高等学校招生全国统一考试(全国II卷)含答案
- 2026年秋人教PEP版(新教材)小学英语六年级上册《Unit 3 Healthy life》单元达标自测卷及答案
- 中幼林抚育作业设计
- 2026安徽滁州市凤阳县中小学(公益一类)招募就业见习人员20人考试模拟试题及答案详解
- HL1ST601-2023 钢结构焊接连接节点通 用图B册 (Q355钢)
- 2026年测绘地理信息安全考试题库及答案
- APQC跨行业流程分类框架 (8.0 版)( 中文版-2026年4月)
- 贸易业务仓储管理制度
- 危重患者营养风险筛查与评估
评论
0/150
提交评论