版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机病毒防治技术计算机病毒防治技术内容提纲内容提纲u 1. 计算机病毒概述计算机病毒概述u 2. 脚本病毒及防御技术脚本病毒及防御技术u 3. 网页病毒及防御技术网页病毒及防御技术u 4. 宏病毒及防御技术宏病毒及防御技术u 5. Windows PE文件病毒及防御技术文件病毒及防御技术u 6. 批处理文件病毒技术批处理文件病毒技术u 7. U盘病毒及防御技术盘病毒及防御技术u 8. 计算机病毒演化策略计算机病毒演化策略主要内容主要内容u 1. PE病毒的定义病毒的定义u 2. PE病毒的特征病毒的特征u 3. PE病毒基本原理病毒基本原理u 4. PE病毒的防治病毒的防治u 5. PE病毒
2、演示实验病毒演示实验5.1.1 获取获取API函数地址函数地址u 为什么要获取为什么要获取API函数地址函数地址8 Win32程序一般运行在程序一般运行在Ring 3级,处于保护模式级,处于保护模式8 Win32下的系统功能调用,不是通过中断实现,下的系统功能调用,不是通过中断实现,而是通过调用动态连接库中的而是通过调用动态连接库中的API函数实现函数实现8 Win32 PE病毒和普通病毒和普通Win32 PE程序一样需要调程序一样需要调用用API函数实现某些功能,但是对于函数实现某些功能,但是对于Win32 PE病病毒来说,它只有代码节,并不存在引入函数节毒来说,它只有代码节,并不存在引入函
3、数节8 病毒就无法象普通病毒就无法象普通PE程序那样直接调用相关程序那样直接调用相关API函数,而应该先找出这些函数,而应该先找出这些API函数在相应函数在相应DLL中中的地址的地址5.1.1 获取获取API函数地址函数地址u 如何获取如何获取API函数地址函数地址8 要获取要获取API函数地址,首先需要获取函数地址,首先需要获取KERNEL32的基地址的基地址8 获取获取KERNEL32基地址的方法基地址的方法 利用程序的返回地址,在其附近搜索利用程序的返回地址,在其附近搜索Kernel32模块基地址模块基地址mov ecx,espmov ecx,esp ; ;将堆栈顶端的数据将堆栈顶端的数
4、据( (即程序返回即程序返回Kernel32Kernel32的地址的地址) )赋给赋给ecxecxxor edx,edxxor edx,edxgetK32Base:getK32Base: dec ecx dec ecx ; ;逐字节比较验证,也可以一页一页地搜逐字节比较验证,也可以一页一页地搜 mov dx,word ptr ecx+IMAGE_DOS_HEADER.e_lfanewmov dx,word ptr ecx+IMAGE_DOS_HEADER.e_lfanew ; ;即即ecx+3checx+3ch test dx,0f000h ;Dos Header+stub test dx,0
5、f000h ;Dos Header+stub不可能太大不可能太大, ,超过超过4096byte4096byte jnz jnz getK32Base ; getK32Base ;加速检验加速检验 cmp ecx,dword ptr ecx+edx+IMAGE_NT_HEADERS.OptionalHeader.ImageBasecmp ecx,dword ptr ecx+edx+IMAGE_NT_HEADERS.OptionalHeader.ImageBase jnz jnz getK32Base ; getK32Base ;看看Image_BaseImage_Base值是否等于值是否等于ec
6、xecx即模块起始值即模块起始值 mov ebp+offsetmov ebp+offset k32Base,ecx ; k32Base,ecx ;如果是如果是, ,就认为找到就认为找到kernel32kernel32的的BaseBase值值 5.1.1 获取获取API函数地址函数地址GetKBaseGetKBase: : mov edi mov edi ,esp+04h ,esp+04h ; ;这里的这里的esp+04hesp+04h是不定的,主要看从程序第一条指令执行到这里有多少是不定的,主要看从程序第一条指令执行到这里有多少pushpush操作,操作, ; ;如果设为如果设为N N个个pu
7、shpush,则这里的指令就是,则这里的指令就是Mov edi,esp+NMov edi,esp+N* *4h4h and edi,0FFFF0000h and edi,0FFFF0000h .while TRUE .while TRUE .if WORD ptr edi .if WORD ptr edi = IMAGE_DOS_SIGNATURE ; = IMAGE_DOS_SIGNATURE ;判断是否是判断是否是MZMZ mov esi,edi mov esi,edi add esi,DWORD ptr esi+03Ch ;esi add esi,DWORD ptr esi+03Ch ;
8、esi指向指向PEPE标志标志 .if DWORD ptr esi.if DWORD ptr esi =IMAGE_NT_SIGNATURE; =IMAGE_NT_SIGNATURE;是否有是否有PEPE标志标志 .break ; .break ;若有,则跳出循环若有,则跳出循环 .endif.endif .endif .endif sub edi sub edi, 010000h ;, 010000h ;分配粒度是分配粒度是10000h10000h,dlldll必然加载在必然加载在xxxx0000hxxxx0000h处处 .if edi.if edi MIN_KERNEL_SEARCH_BA
9、SE ;MIN_KERNEL_SEARCH_BASE=70000000H MIN_KERNEL_SEARCH_BASE ;MIN_KERNEL_SEARCH_BASE=70000000H mov edi mov edi, 0bff70000h, 0bff70000h ; ;如果上面没有找到,则使用如果上面没有找到,则使用Win 9xWin 9x的内核的内核(Kernel)(Kernel)地址地址 .break.break .endif .endif .endw .endw mov mov hKernel32,edi ; hKernel32,edi ;把找到的把找到的KERNEL32.DLLKE
10、RNEL32.DLL的基地址保存起来的基地址保存起来另另外外也也可可以以采采用用以以下下方方法法:5.1.1 获取获取API函数地址函数地址 对相应操作系统分别给出固定的对相应操作系统分别给出固定的Kernel32模块模块的基地址的基地址 对于同一版本的对于同一版本的Windows操作系统,操作系统,Kernel32模块的地址是固定的,甚至一些模块的地址是固定的,甚至一些API函数的大概位置都是固定的函数的大概位置都是固定的8 获取获取API函数地址函数地址 在得到了在得到了Kernel32的模块地址以后,就可以在该的模块地址以后,就可以在该模块中搜索所需要的模块中搜索所需要的API地址地址
11、对于给定的对于给定的API,搜索其地址可以直接通过,搜索其地址可以直接通过Kernel32.dll的引出表信息搜索,同样我们也可的引出表信息搜索,同样我们也可以先搜索出以先搜索出GetProcAddress和和LoadLibrary两两个个API函数的地址,然后利用这两个函数的地址,然后利用这两个API函数得到函数得到所需要的所需要的API函数地址函数地址5.1.2 搜索感染目标文件搜索感染目标文件u 搜索文件是病毒寻找目标文件的非常重要的功能搜索文件是病毒寻找目标文件的非常重要的功能u 在在Win32汇编中,通常采用如下几个汇编中,通常采用如下几个API函数进行函数进行文件搜索文件搜索8 F
12、indFirstFile 根据文件名查找文件根据文件名查找文件8 FindNextFile 根据调用根据调用FindFirstFile函数时指定的一个文件名函数时指定的一个文件名查找下一个文件查找下一个文件8 FindClose 用来关闭由用来关闭由FindFirstFile函数创建的一个搜索句函数创建的一个搜索句柄柄5.1.2 搜索感染目标文件搜索感染目标文件u 文件搜索算法文件搜索算法8 文件搜索一般采用递归算法进行搜索,也可以采文件搜索一般采用递归算法进行搜索,也可以采用非递归搜索方法用非递归搜索方法FindFileFindFile Proc Proc指定找到的目录为当前工作目录指定找到
13、的目录为当前工作目录开始搜索文件开始搜索文件( (* *. .* *) )该目录搜索完毕?是则返回,否则继续该目录搜索完毕?是则返回,否则继续找到文件还是目录?是目录则调用自身函数找到文件还是目录?是目录则调用自身函数FindFileFindFile,否则继续,否则继续是文件,如符合感染条件,则调用感染模块,否则继续是文件,如符合感染条件,则调用感染模块,否则继续搜索下一个文件搜索下一个文件(FindNextFile(FindNextFile) ),转到,转到继续继续FindFile EndpFindFile Endp5.1.3 内存映射文件内存映射文件u 内存映射文件提供了一组独立的函数,是
14、应用程序内存映射文件提供了一组独立的函数,是应用程序能够通过内存指针像访问内存一样对磁盘上的文件能够通过内存指针像访问内存一样对磁盘上的文件进行访问进行访问u 这组内存映射文件函数将磁盘上的文件的全部或者这组内存映射文件函数将磁盘上的文件的全部或者部分映射到进程虚拟地址空间的某个位置,以后对部分映射到进程虚拟地址空间的某个位置,以后对文件内容的访问就如同在该地址区域内直接对内存文件内容的访问就如同在该地址区域内直接对内存访问一样简单访问一样简单u 对文件中数据的操作便是直接对内存进行操作,大对文件中数据的操作便是直接对内存进行操作,大大地提高了访问的速度,这对于计算机病毒来说,大地提高了访问的
15、速度,这对于计算机病毒来说,对减少资源占用是非常重要的对减少资源占用是非常重要的5.1.3 内存映射文件内存映射文件u使用内存映射文件读写文件使用内存映射文件读写文件8在计算机病毒中,通常采用如下几个步骤:在计算机病毒中,通常采用如下几个步骤:调用调用CreateFile函数打开想要映射的函数打开想要映射的HOST程序,返回文程序,返回文件句柄件句柄hFile调用调用CreateFileMapping函数生成一个建立基于函数生成一个建立基于HOST文文件句柄件句柄hFile的内存映射对象,返回内存映射对象句柄的内存映射对象,返回内存映射对象句柄hMap调用调用MapViewOfFile函数将整
16、个文件函数将整个文件(一般还要加上病毒一般还要加上病毒体的大小体的大小)映射到内存中。得到指向映射到内存的第一个字映射到内存中。得到指向映射到内存的第一个字节的指针节的指针(pMem)用刚才得到的指针用刚才得到的指针pMem对整个对整个HOST文件进行操作,对文件进行操作,对HOST程序进行病毒感染程序进行病毒感染调用调用UnMapViewFile函数解除文件映射,传入参数是函数解除文件映射,传入参数是pMem调用调用CloseHandle来关闭内存映射文件,传入参数是来关闭内存映射文件,传入参数是hMap调用调用CloseHandle来关闭来关闭HOST文件,传入参数是文件,传入参数是hFi
17、le5.1.4 病毒感染病毒感染PE文件的基本方法文件的基本方法u 感染文件的基本步骤感染文件的基本步骤8 (1)判断目标文件开始的两个字节是否为判断目标文件开始的两个字节是否为“MZ”;8 (2)判断判断PE文件标记文件标记“PE”;8 (3)判断感染标记,如果已被感染过则跳出继续执判断感染标记,如果已被感染过则跳出继续执行行HOST程序,否则继续;程序,否则继续;8 (4)获得获得Directory(数据目录数据目录)的个数,每个数据目的个数,每个数据目录信息占录信息占8个字节;个字节;8 (5)得到节表起始位置:得到节表起始位置:Directory的偏移地址的偏移地址+数数据目录占用的字
18、节数据目录占用的字节数=节表起始位置;节表起始位置;8 (6)得到目前最后节表的末尾偏移得到目前最后节表的末尾偏移(紧接其后用于写紧接其后用于写入一个新的病毒节入一个新的病毒节): 节表起始位置节表起始位置+节的个数节的个数(每个节表占用的字节每个节表占用的字节数数28H)=目前最后节表的末尾偏移目前最后节表的末尾偏移5.1.4 病毒感染病毒感染PE文件的基本方法文件的基本方法8 (7)开始写入节表开始写入节表 写入节名写入节名(8字节字节); 写入节的实际字节数写入节的实际字节数(4字节字节); 写入新节在内存中的开始偏移地址写入新节在内存中的开始偏移地址(4字节字节),同,同时可以计算出病
19、毒入口位置:时可以计算出病毒入口位置: 上节在内存中的开始偏移地址上节在内存中的开始偏移地址+(上节大小上节大小/节节对齐对齐+1)节对齐节对齐=本节在内存中的开始偏移本节在内存中的开始偏移地址;地址; 写入本节写入本节(即病毒节即病毒节)在文件中对齐后的大小;在文件中对齐后的大小; 写入本节在文件中的开始位置:写入本节在文件中的开始位置: 上节在文件中的开始位置上节在文件中的开始位置+上节对齐后的大小上节对齐后的大小=本节本节(即病毒即病毒)在文件中的开始位置;在文件中的开始位置; 修改映像文件头中的节表数目修改映像文件头中的节表数目5.1.4 病毒感染病毒感染PE文件的基本方法文件的基本方
20、法修改修改AddressOfEntryPoint(即程序入口点指向病毒入口即程序入口点指向病毒入口位置位置),同时保存旧的,同时保存旧的AddressOfEntryPoint,以便返回,以便返回HOST继续执行。继续执行。更新更新SizeOfImage(内存中整个内存中整个PE映像尺寸映像尺寸=原原SizeOfImage+病毒节经过内存节对齐后的大小病毒节经过内存节对齐后的大小);写入感染标记写入感染标记(后面例子中是放在后面例子中是放在PE头中头中);写入病毒代码到新添加的节中:写入病毒代码到新添加的节中: ECX=病毒长度病毒长度 ESI=病毒代码位置病毒代码位置(并不一定等于病毒执行代码
21、开始位并不一定等于病毒执行代码开始位置置) EDI=病毒节写入位置病毒节写入位置(后面例子是在内存映射文件中的后面例子是在内存映射文件中的相应位置相应位置)11将当前文件位置设为文件末尾。将当前文件位置设为文件末尾。8PE病毒感染其他文件的方法还有很多,譬如将自己分散插病毒感染其他文件的方法还有很多,譬如将自己分散插入到每个节的空隙中入到每个节的空隙中5.1.4 病毒感染病毒感染PE文件的基本方法文件的基本方法u文件操作相关文件操作相关API函数函数8CreateFile打开和创建文件等打开和创建文件等8CloseHandle8SetFilePointer在一个文件中设置当前的读写位置在一个文
22、件中设置当前的读写位置8ReadFile/ WriteFile从文件中读取数据从文件中读取数据/将数据写入文件将数据写入文件8SetEndOfFile针对一个打开的文件,将当前文件位置设为文件末尾针对一个打开的文件,将当前文件位置设为文件末尾8GetFileSize获取指定文件的大小获取指定文件的大小8FlushFileBuffers针对指定的文件句柄,刷新内部文件缓冲区针对指定的文件句柄,刷新内部文件缓冲区5.1.5 病毒返回到病毒返回到HOST程序的方法程序的方法u 为了提高自己的生存能力,病毒不应该破坏为了提高自己的生存能力,病毒不应该破坏HOST程序,病毒应该在病毒执行完毕后,立刻将控
23、制权程序,病毒应该在病毒执行完毕后,立刻将控制权交给交给HOST程序程序u 返回返回HOST程序相对来说比较简单,病毒在修改被程序相对来说比较简单,病毒在修改被感染文件代码开始执行位置感染文件代码开始执行位置(AddressOfEntryPoint)时,会保存原来的值。这时,会保存原来的值。这样,病毒在执行完病毒代码之后用一个跳转语句跳样,病毒在执行完病毒代码之后用一个跳转语句跳到这段代码处继续执行即可到这段代码处继续执行即可5.1.6 PE概念病毒感染分析概念病毒感染分析u感染感染PE文件的概念性病毒文件的概念性病毒Immunity.exe不驻留内存,也没不驻留内存,也没有采用加密、压缩、变
24、形等有采用加密、压缩、变形等“高深高深”技术技术8启动时首先获取所需启动时首先获取所需API函数的地址函数的地址8然后在当前目录查找然后在当前目录查找host_pe.exe文件,若没有找到,则文件,若没有找到,则在在Windows目录、目录、System/System32目录下继续查找,目录下继续查找,为了便于测试,示例代码只在当前目下查找为了便于测试,示例代码只在当前目下查找8找到找到host_pe.exe后,判断是否是后,判断是否是PE文件、是否已感染等文件、是否已感染等,若条件满足,则在,若条件满足,则在host_pe.exe中添加名为中添加名为.BFish的节的节,并将病毒代码写入其中
25、,然后修改文件头,使入口地址,并将病毒代码写入其中,然后修改文件头,使入口地址指向刚添加的节,最后,将全部节未对齐大小设置为对齐指向刚添加的节,最后,将全部节未对齐大小设置为对齐后的大小,制造不存在空洞的假象,从而达到避免被后的大小,制造不存在空洞的假象,从而达到避免被CIH病毒寄生感染的免疫目的病毒寄生感染的免疫目的5.1.6 PE概念病毒感染分析概念病毒感染分析u Immunity的主流程图的主流程图执行病毒代码获取KERNEL32地址及所需的API函数地址在当前目录查找目标文件找到?保存当前目录信息NowPathNo=2?将Windows目录设置为当前目录NowPathNo=3?将Sys
26、tem目录设置为当前目录置目录标志为当前目录NowPathNo = 1获取并保存文件属性设置文件属性,确保文件可以以读写方式打开打开文件是PE文件且满足感染条件?添加节.BFish,并在其中写入病毒代码;修改PE头使入口点指向.BFish;写入病毒标签改变全部节未对齐大小为对齐后的大小,制造无空洞的假象关闭文件恢复文件属性继续查找下一个目标文件NowPathNo增1恢复原当前目录信息满足发作表现条件?显示提示信息返回到主程序否是否否否否5.1.7 示例病毒感染测试与手工修复示例病毒感染测试与手工修复u 将将host_pe.exe与与Immunity.exe拷贝到同一个目录拷贝到同一个目录,并运
27、行,并运行Immunity.exeu Immunity感染感染host_pe.exe,使其文件大小增加,使其文件大小增加4096字节,除此之外,文件修改日期等字节,除此之外,文件修改日期等“外在外在”属性不变属性不变u 为了便于比较分析,将被感染后的为了便于比较分析,将被感染后的host_pe.exe重重命名为命名为host_pe2.exe5.1.7 示例病毒感染测试与手工修复示例病毒感染测试与手工修复u 感染前后,节表发生的变化感染前后,节表发生的变化5.1.7 示例病毒感染测试与手工修复示例病毒感染测试与手工修复u 感染前后,映像文件头发生的变化感染前后,映像文件头发生的变化5.1.7 示
28、例病毒感染测试与手工修复示例病毒感染测试与手工修复u 感染前后,可选映像头发生的变化感染前后,可选映像头发生的变化5.1.7 示例病毒感染测试与手工修复示例病毒感染测试与手工修复u 手工清除手工清除Immunity病毒病毒8 首先,利用工具软件删除病毒添加的节,或节中首先,利用工具软件删除病毒添加的节,或节中的部分内容的部分内容(分布在正常内容中的病毒代码分布在正常内容中的病毒代码)5.1.7 示例病毒感染测试与手工修复示例病毒感染测试与手工修复8 修改入口地址,使其指向修改入口地址,使其指向.text代码节代码节 (病毒代码病毒代码仍然在仍然在host_pe.exe文件中文件中)。感染标志、
29、可选映。感染标志、可选映像头中像头中MajorLinkerVersion等,需另行修改等,需另行修改5.1.7 示例病毒感染测试与手工修复示例病毒感染测试与手工修复8 彻底彻底“摘除摘除”host_pe2.exe中的中的“垃圾垃圾”代码代码5.1.8 CIH病毒分析病毒分析u病毒简介病毒简介8CIH病毒是一种文件型病毒,又称病毒是一种文件型病毒,又称Win95.CIH、Win32.CIH、PE_CIH,是感染,是感染Windows 95/98环境下环境下PE格式文件的格式文件的病毒病毒8CIH病毒一共有五个版本,目前最流行的是病毒一共有五个版本,目前最流行的是V1.2版版8CIH病毒没有改变宿
30、主文件的大小,而是利用病毒没有改变宿主文件的大小,而是利用“空洞空洞”,将病毒化整为零,拆分成若干块,插入到宿主文件中将病毒化整为零,拆分成若干块,插入到宿主文件中8查找查找CIH病毒的最简单方法就是用资源管理器中病毒的最简单方法就是用资源管理器中“工具工具查找查找文件或文件夹文件或文件夹”的的“高级高级包含文字包含文字”,以特征字,以特征字符串符串“CIHv”查找所有查找所有.EXE8CIH病毒发作时直接往计算机主板病毒发作时直接往计算机主板BIOS芯片和硬盘写乱码芯片和硬盘写乱码,造成主机无法启动,造成主机无法启动8CIH病毒首开攻击计算机硬件之先河,也开启了病毒首开攻击计算机硬件之先河,
31、也开启了Windows病毒的新纪元病毒的新纪元5.1.8 CIH病毒分析病毒分析uVxD技术简介技术简介8VxD(Virtual Device Drivers,虚拟设备驱动,虚拟设备驱动),是微软专,是微软专门为门为Windows制定的设备驱动程序接口规范制定的设备驱动程序接口规范8有很多应用软件都需要使用有很多应用软件都需要使用VxD机制来实现某些比较特殊机制来实现某些比较特殊的功能的功能8因为因为VxD程序具有比其他类型应用程序更高的优先级,而程序具有比其他类型应用程序更高的优先级,而且更靠近系统底层资源且更靠近系统底层资源只有这样,反病毒软件才有可只有这样,反病毒软件才有可能全面、彻底地
32、控制系统资源能全面、彻底地控制系统资源8CIH病毒利用病毒利用VxD技术、通过技术、通过Windows 9x的异常处理机制的异常处理机制(Exception)进入系统进入系统Ring0级。在应用程序下故意产生一级。在应用程序下故意产生一个异常,并修改个异常,并修改IDT表表(中断地址表中断地址表)中的处理程序地址,使中的处理程序地址,使其指向病毒代码,再显式进入此异常其指向病毒代码,再显式进入此异常(主要为直接调用主要为直接调用INT 3H中断中断),就可以申请系统共享内存将病毒驻留,就可以申请系统共享内存将病毒驻留5.1.8 CIH病毒分析病毒分析uCIH病毒的驻留病毒的驻留(初始化初始化)
33、8当运行感染了当运行感染了CIH病毒的病毒的PE文件时,由于该病毒修改了该文件时,由于该病毒修改了该程序的入口地址,从而首先调入内存执行,其驻留主要过程序的入口地址,从而首先调入内存执行,其驻留主要过程:程:用用SIDT指令取得指令取得IDT base address(中断描述符表基地址中断描述符表基地址),然后把,然后把IDT的的INT 3H 的入口地址改为指向的入口地址改为指向CIH自己的自己的INT 3H程序入口部分;程序入口部分;执行执行INT 3H指令,进入指令,进入CIH自身的自身的INT 3H入口程序,这入口程序,这样,样,CIH病毒就可以获得病毒就可以获得Windows最高级别
34、的权限最高级别的权限Ring 0。病毒在这段程序中首先检查调试寄存器。病毒在这段程序中首先检查调试寄存器DR0的值是否为的值是否为0,用以判断先前是否有,用以判断先前是否有CIH病毒已经驻留;病毒已经驻留;如果如果DR0的值不为的值不为0,则表示,则表示CIH病毒程式已驻留,病毒病毒程式已驻留,病毒程序恢复原先的程序恢复原先的INT 3H入口,然后正常退出入口,然后正常退出INT 3H,跳到,跳到过程过程;如果如果DR0值为值为0,则,则CIH病毒将尝试进行驻留;病毒将尝试进行驻留;5.1.8 CIH病毒分析病毒分析如果内存申请成功,则从被感染文件中将原先分成多块如果内存申请成功,则从被感染文
35、件中将原先分成多块的病毒代码收集起来,并进行组合后放到申请到的内存空的病毒代码收集起来,并进行组合后放到申请到的内存空间中间中再次调用再次调用INT 3H中断进入中断进入CIH病毒体的病毒体的INT 3H入口程序入口程序,调用,调用INT 20H来完成调用一个来完成调用一个IFSMgr_InstallFileSystemApiHook的子程序,在的子程序,在Windows内核中文件系统处理函数中挂接钩子,以截取文内核中文件系统处理函数中挂接钩子,以截取文件调用的操作,这样一旦系统出现要求开启文件的调用,件调用的操作,这样一旦系统出现要求开启文件的调用,则则CIH病毒的传染部分程序就会在第一时间
36、截获此文件;病毒的传染部分程序就会在第一时间截获此文件;将同时获取的将同时获取的Windows操作系统默认的操作系统默认的IFSMgr_Ring0_FileIO(核心文件输入核心文件输入/输出输出)服务程序的入服务程序的入口地址保留在口地址保留在DR0寄存器中,以便于寄存器中,以便于CIH病毒调用;病毒调用;恢复原先的恢复原先的IDT中断表中的中断表中的INT 3H入口,退出入口,退出INT 3H;根据病毒程序内隐藏的原文件的正常入口地址,跳到原根据病毒程序内隐藏的原文件的正常入口地址,跳到原文件正常入口,执行正常程序文件正常入口,执行正常程序5.1.8 CIH病毒分析病毒分析u CIH病毒的
37、感染病毒的感染8 CIH病毒的传染部分实际上是病毒在驻留内存过病毒的传染部分实际上是病毒在驻留内存过程中调用程中调用Windows 内核底层函数内核底层函数IFSMgr_InstallFileSystemApiHook函数挂接钩函数挂接钩子时指针指示的那段程序,其感染过程如下:子时指针指示的那段程序,其感染过程如下: 文件的截获。每当系统出现要求开启文件的调文件的截获。每当系统出现要求开启文件的调用时,驻留内存的用时,驻留内存的CIH病毒就截获该文件。病毒病毒就截获该文件。病毒调用调用INT20的的VxD call UniToBCSPath系统功能系统功能调用取回该文件的名称与路径;调用取回该文件的名称与路径; EXE文件的判断。对该文件名进行分析,若文文件的判断。对该文件名进行分析,若文件扩展名不为件扩展名不为“.EXE”或不满足或不满足PE格式、尚未感格式、尚未感染等条件,不传染,离开病毒程序,跳回到染等条件,不传染,离开病毒程序,跳回到Windows内核的正常文件处理程序上内核的正常文件处理程序上5.1.8 CIH病毒分析病毒分析u 病毒的寄生方法病毒的寄生方法感染感染CIH病毒之前的病毒之前的PE文件文件感染感染CIH病毒之后的病毒之后的PE文件文件MZ文件头DOS插桩程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广东省深圳市高职单招职业适应性测试考试题库有答案详细解析
- 2026浙江事业单位统考台州市临海市招聘67人笔试模拟试题及答案解析
- 2026年应急管理部所属单位第二批次招聘笔试模拟试题及答案解析
- 2026陕西太白黄金矿业有限公司招聘(46人)笔试参考题库及答案解析
- 2026甘肃定西岷县十里镇卫生院招聘乡村医生2人笔试备考试题及答案解析
- 2026广东揭阳市榕城区登岗镇卫生院临时人员招聘1人笔试备考题库及答案解析
- 2026四川凉山州绿色家园安康医院招聘中医医师1人笔试模拟试题及答案解析
- 2026北京大学艺术学院招聘劳动合同制人员1人笔试备考题库及答案解析
- 2026浙江宁波市会展博览集团有限公司招聘1人笔试参考题库及答案解析
- 2026年四川省乐山市第七中学重点名校初三下学期第四次模拟考试卷英语试题理试卷含解析
- 2026中交集团纪委第一办案中心社会招聘笔试历年常考点试题专练附带答案详解
- 2026年春季新教材教科版(2024)三年级下册科学全册教案
- 2026年安全生产事故隐患排查治理制度
- 2026年安徽工业经济职业技术学院单招职业适应性测试题库及答案详解(新)
- 方大集团达钢笔试考试题库
- 三废环保管理培训
- 项目管理培训PPT
- 固体废物的收集原则、方法、贮存及清运
- 农产品产地集配中心建设规范标准
- (完整版)matlab教程ppt课件
- 鲁迅小说的“道具”艺术
评论
0/150
提交评论