计算机病毒结构及分析

上传人:cel****303 文档编号:243684596 上传时间:2024-09-28 格式:PPTX 页数:43 大小:423.08KB
返回 下载 相关 举报
计算机病毒结构及分析_第1页
第1页 / 共43页
计算机病毒结构及分析_第2页
第2页 / 共43页
计算机病毒结构及分析_第3页
第3页 / 共43页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,1,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第二章 计算机病毒结构分析,本章学习目标,掌握计算机病毒的结构,掌握计算机病毒的工作机制,了解各种计算机病毒技术,一、,计算机病毒的结构和工作机制,四大模块:,感染模块,触发模块,破坏模块(表现模块),引导模块(主控模块),两个状态:,静态,动态,图,2-1,: 病毒程序的生命周期,图,2-2,: 病毒程序的典型组成示意图,工作机制,图,2-3,: 病毒的工作机制,引导模块,引导前,寄生,寄生位置:,引导区,可执行文件,寄生手段:,替代法(寄生在引导区中的病毒常用该法),链接法(寄生在文件中的病毒常用该法),图,2-4,替代法,图,2-5,链接法,引导过程,驻留内存,窃取系统控制权,恢复系统功能,引导区病毒引导过程,搬迁系统引导程序,-,替代为病毒引导程序,启动时,-,病毒引导模块,-,加载传染、破坏和触发模块到内存,-,使用常驻技术,最后,转向系统引导程序,-,引导系统,文件型病毒引导过程,修改入口指令,-,替代为跳转到病毒模块的指令,执行时,-,跳转到病毒引导模块,-,病毒引导模块,-,加载传染、破坏和触发模块到内存,-,使用常驻技术,最后,转向程序的正常执行指令,-,执行程序,感染模块,病毒传染的条件,被动传染(静态时),用户在进行拷贝磁盘或文件时,把一个病毒由一个载体复制到另一个载体上。或者是通过网络上的信息传递,把一个病毒程序从一方传递到另一方。这种传染方式叫做计算机病毒的被动传染。,主动传染(动态时),以计算机系统的运行以及病毒程序处于激活状态为先决条件。在病毒处于激活的状态下,只要传染条件满足,病毒程序能主动地把病毒自身传染给另一个载体或另一个系统。这种传染方式叫做计算机病毒的主动传染。,传染过程,系统(程序)运行,-,各种模块进入内存,-,按多种传染方式传染,传染方式,立即传染,即病毒在被执行的瞬间,抢在宿主程序开始执行前,立即感染磁盘上的其他程序,然后再执行宿主程序。,驻留内存并伺机传染,内存中的病毒检查当前系统环境,在执行一个程序、浏览一个网页时传染磁盘上的程序,驻留在系统内存中的病毒程序在宿主程序运行结束后,仍可活动,直至关闭计算机。,文件型病毒传染机理,首先根据病毒自己的特定标识来判断该文件是否已感染了该病毒;,当条件满足时,利用,INT 13H,将病毒链接到文件的特定部位,并存入磁盘中;,完成传染后,继续监视系统的运行,试图寻找新的攻击目标。,文件型病毒传染途径,加载执行文件,文件型计算机病毒驻内存后,通过其所截获的,INT 21,中断检查每一个加载运行可执行文件进行传染。传染不到那些用户没有使用的文件。,浏览目录过程,创建文件过程,破坏模块,破坏模块的功能,破坏、破坏、还是破坏,破坏对象,系统数据区、文件、内存、系统运行速度、磁盘、,CMOS,、主板和网络等。,破坏的程度,触发模块,触发条件,计算机病毒在传染和发作之前,往往要判断某些特定条件是否满足,满足则传染或发作,否则不传染或不发作或只传染不发作,这个条件就是计算机病毒的触发条件。,触发模块的目的是调节病毒的攻击性和潜伏性之间的平衡,大范围的感染行为、频繁的破坏行为可能给用户以重创,但是,它们总是使系统或多或少地出现异常,容易使病毒暴露。,而不破坏、不感染又会使病毒失去其特性。,可触发性是病毒的攻击性和潜伏性之间的调整杠杆,可以控制病毒感染和破坏的频度,兼顾杀伤力和潜伏性。,病毒常用的触发条件,日期触发,时间触发,键盘触发,感染触发,例如,运行感染文件个数触发、感染序数触发、感染磁盘数触发、感染失败触发等。,启动触发,访问磁盘次数触发,CPU,型号,/,主板型号触发,二、常见计算机病毒的技术特征,驻留内存,病毒变种,EPO,(,Entry Point Obscuring-,隐藏)技术,抗分析技术(加密、反跟踪),隐蔽性病毒技术,多态性病毒技术,插入型病毒技术,超级病毒技术,破坏性感染技术,网络病毒技术,1,驻留内存,:,DOS TSR(Terminate and Stay Resident,DOS,实现多任务的编程方法,),DOS,系统区,内存控制块(,MCB,),内存块,1,为病毒分配的内存块,内存块,2,为病毒分配一块内存,高端内存区域,视频内存块,中断向量表,空闲区域,病毒代码,空闲区域,空闲区域,空闲区域,图,2-6 DOS,病毒驻留内存位置示意图,已感染了计算机病毒系统的启动过程如下。,(,1,)将,Boot,区中的计算机病毒代码首先读入内存的,0000,:,7C00,处。,(,2,)计算机病毒将自身全部代码读入内存的某一安全地区、常驻内存,监视系统的运行。,(,3,)修改,INT 13H,中断服务处理程序的入口地址,使之指向计算机病毒控制模块并执行之。因为任何一种计算机病毒要感染软盘或者硬盘,都离不开对磁盘的读写操作,修改,INT 13H,中断服务程序的入口地址是一项少不了的操作。,(,4,)计算机病毒程序全部被读入内存后才读入正常的,Boot,内容到内存的,0000,:,7C00,处,进行正常的启动过程。,(,5,)计算机病毒程序伺机等待随时准备感染新的系统盘或非系统盘。,如果发现有可攻击的对象,计算机病毒还要进行下列的工作。,(,1,)将目标盘的引导扇区读入内存,对该盘进行判别是否传染了计算机病毒。,(,2,)当满足传染条件时,则将计算机病毒的全部或者一部分写入,Boot,区,把正常的磁盘的引导区程序写入磁盘特写位置。,(,3,)返回正常的,INT 13H,中断服务处理程序,完成对目标盘的传染。,1,驻留内存:引导区病毒的内存驻留,大小在,1K,或者几,K,为了避免用户可以很容易的觉察到系统可用内存的减少,一些病毒会等待,DOS,完全启动成功,然后使用,DOS,自己的功能分配内存。,不用考虑重载。,1,驻留内存:,Windows,环境下病毒的内存驻留,三种驻留内存的方法,由于,Windows,操作系统本身就是多任务的,所以最简单的内存驻留方法是将病毒作为一个应用程序,病毒拥有自己的窗口(可能是隐藏的)、拥有自己的消息处理函数;,另外一种方法是使用,DPMI,申请一块系统内存,然后将病毒代码放到这块内存中;,第三种方法是将病毒作为一个,VXD,(或者,Win9x,环境下的设备驱动程序)或者在,Win NT,Win2000,下的设备驱动程序,WDM,加载到内存中运行。,防止重载的方法,传统的防止重入方法,禁止启动两个实例,对于,VXD,病毒,静态加载时,病毒会在“,SYSTEM.INI”,文件中包含加载设备驱动程序的一行信息;,动态加载时,可能使用某些英特尔,CPU,的一些特殊状态位来表示病毒是否存在于内存中(,CIH,病毒就采用了这种方法)。,1,驻留内存:宏病毒的内存驻留方法,病毒随着宿主程序而被加载并且一直存在于系统中,所以从某种意义上,宏病毒都是内存驻留病毒。,宏病毒通过检测自己的特征防止重入。,2,病毒变种,变形,变种,新品种,两种方式:,手工变种,自动变种(,Mutation Engine,:变形机),保加利亚,Dark Avenger,的变形机,VCS,(病毒构造工具箱,,Virus Construction Set,),GenVir,VCL,(病毒制造实验室,,Virus Creation Laboratory,),PS-MPC,(,Phalcon-Skism Mass-Produced Code Generator,),NGVCK,(下一代病毒机,,Next Generation Virus Creation Kit,),VBS,蠕虫孵化器,变种分类,第一类,具备普通病毒所具有的基本特性,然而,病毒每感染一个目标后,其自身代码与前一被感染目标中的病毒代码几乎没有三个连续的字节是相同的,但这些代码及其相对空间的排列位置是不变动的。这里称其为一维变形病毒。,第二类,除了具备一维变形病毒的特性外,并且那些变化的代码相互间的排列距离(相对空间位置)也是变化的,有的感染文件的字节数不定。这里称其为二维变形病毒。,第三类,具备二维变形病毒的特性,并且能分裂后分别潜藏在几处,随便某一处的子病毒被激发后都能自我恢复成一个完整的病毒。病毒在附着体上的空间位置是变化的,即潜藏的位置不定。例如,在某台机器中,病毒的一部分可能藏在机器硬盘的主引导区中,另外几部分也可能潜藏在可执行文件中,也可能潜藏在覆盖文件中,也可能潜藏在系统引导区,也可能另开垦一块区域潜藏等等。在另一台被感染的机器内,病毒可能又改变了其潜藏的位置。这里称其为三维变形病毒。,第四类,具备三维变形病毒的特性,并且,这些特性随时间动态变化。例如,在染毒的机器中,刚开机时病毒在内存里变化为一个样子,一段时间后又变成了另一个样子,再次开机后病毒在内存里又是一个不同的样子。这里称其为四维变形病毒。,3 EPO,(,Entry Point Obscuring,)技术,为什么要采用,EPO,技术呢?,杀毒技术提高,-,防止被发现,- EPO,实现方法:,最早的,EPO,通过改变程序入口处的代码实现的。简单但无用,把宿主程序的任意位置的指令替换为跳转语句。难点在于定位一个完整的指令(类似于一个反编译器),如果在一段代码中有一条指令:,228738fd ff15eb0f107d call 7d100febh,把它替换成新的指令,Call Address of virus,在病毒体内还要再次调用,Call 7d100febh,来完成宿主程序的功能。代码如下:,dw ff15h ;ff15eb0f107d,的前缀,backaddr dd 0 ;,存放,ff15eb0f107d,的后缀,这个后缀是变化的,在病毒代码中,把,backaddr,的值动态的改为,Call 7d100febh,指令编译后的后缀。,4,抗分析技术,加密技术:这是一种防止静态分析的技术,使得分析者无法在不执行病毒的情况下,阅读加密过的病毒程序。,反跟踪技术:使得分析者无法动态跟踪病毒程序的运行。,4,抗分析技术:自加密技术,数据加密(信息加密),例如:文件型病毒就是这样处理的,计算机病毒发作时将在屏幕上显示的字符串被用异或操作的方式加密存储。,1575,病毒加密数据文件。加密文件名,病毒代码加密,Chinese Bomb,把宿主程序前,6,个字节加密并转移位置。,1701/1704,用宿主程序的长度作为密钥加密代码。,4,抗分析技术:反跟踪技术,DOS,下,修改,int 0-3,中断,Int 0:,除零中断,Int 1:,单步中断,用于程序调试,Int 2:,不可屏蔽中断,NMI,Int 3:,断点中断,用于程序调试,Windows,下:,封锁键盘输入,关闭屏幕显示,修改堆栈指令,程序运行计时,动态地生成指令代码,5,隐蔽性病毒技术,引导型隐藏方法一,感染时,修改中断服务程序,使用时,截获,INT 13,调用,DOS,应用程序,原来的,INT13H,服务程序,DOS,下的杀毒软件,病毒感染后的,INT13H,服务程序,普通扇区,普通扇区,被病毒感染的扇区,被病毒感染的扇区的原始扇区,读扇区调用,读请求,读请求,返回数据,返回数据,返回数据,引导型隐藏方法二,针对杀毒软件对磁盘直接读写的特点。,截获,INT 21H,,然后恢复感染区,最后,再进行感染,DOS,命令解释程序(,COMMAND.COM,),感染后的,INT 21H,功能,40H,(加载一个程序执行),用户敲入,AV.EXE,执行反病毒程序,恢复被病毒感染的扇区为原来的内容,原来的,INT21H,功能,重新感染扇区,返回,DOS,命令解释程序(,COMMAND.COM,),文件型病毒的隐藏技术,拦截(,API, INT,调用)访问,恢复,再感染。例如,改变文件大小病毒,,dir,病毒等,DOS INT21H,调用,INT13H,(直接磁盘访问),列目录功能(,FindFirst,、,FindNext,),读写功能(,Read,、,Write,),执行功能(,EXEC,),其他功能(,rename,等),视窗操作系统下,支持长文件名的扩展,DOS,调用,隐藏病毒扇区,列目录时显示感染前的文件大小,读写文件看到正常的文件内容,执行或者搜索时隐藏病毒,在支持长文件名的系统隐藏自身,宏病毒的隐藏技术,删除相关的菜单项:“文件,模板”或者“工具,宏”,使用宏病毒自己的和,ToolsMacro,宏替代系统缺省的宏,6,多态性病毒技术,多态病毒就是没有特殊特征码的病毒,这种病毒无法(或极难)用特征码扫描法检测到。,方法:,使用不固定的密钥或者随机数加密病毒代码,运行的过程中改变病毒代码,通过一些奇怪的指令序列实现多态性,BASIC,,,Shell,等解释性语言可以在一行包括很多语句。,使用加密技术的多态性,MOV reg_1, count,MOV reg_2, key,MOV reg_3, offset,LOOP,:,xxx byte ptr reg_3,,,reg_2,DEC reg_1,Jxx LOOP,其中,,reg_1,、,reg_2,和,reg_3,是从,AX,、,BX,、,CX,、,DX,、,SI,、,DI,、,BP,中随机挑选的寄存器,感染不同的文件,解密代码使用随机的寄存器,count,是加密数据的长度,,key,是加密的密钥,,offset,是加密代码的偏移量,感染的时候,这些数值都是随机生成的,不同的感染都不一样,xxx,是,XOR,、,ADD,、,SUB,等不同运算指令的通称,使用什么运算指令是感染的时候随机选择的,Jxx,是,ja,、,jnc,等不同条件跳转指令的通称,使用什么跳转指令也是感染的时候随机选择的,加密后的病毒代码,改变可执行代码技术的多态病毒,基本上都使用在宏病毒中,其他病毒少见。,宏语言都是以,BASIC,为基础的。,引导型病毒,在引导区或者分区表中,包含了一小段代码来加载实际的病毒代码,这段代码在运行的过程中是可以改变的。,文件型病毒,“厚度”(,Ply,)病毒,“,TMC”,病毒,多态病毒的级别,半多态:,病毒拥有一组解密算法,感染的时候从中间随机的选择一种算法进行加密和感染。,具有不动点的多态:,病毒有一条或者几条语句是不变的(我们把这些不变的语句叫做不动点),其他病毒指令都是可变的。,带有填充物的多态:,解密代码中包含一些没有实际用途的代码来干扰分析者的视线。,算法固定的多态:,解密代码所使用的算法是固定的,但是实现这个算法的指令和指令的次序是可变的。,算法可变的多态:,使用了上述所有的技术,同时解密算法也是可以部分或者全部改变的。,完全多态:,算法多态,同时病毒体可以随机的分布在感染文件的各个位置,但是在运行的时候能够进行拼装,并且可以正常工作。,查杀技术,对于前面,3,种多态病毒,可以使用病毒特征码或者改进后的病毒特征码,对于第,4,种多态病毒,可以增加多种情况的改进后的特征码,至于第,5,和第,6,种多态病毒,依靠传统的特征码技术是完全无能为力的。,最好的办法是虚拟执行技术。,7,超级病毒技术,超级病毒技术就是在计算机病毒进行感染、破坏时,使得病毒预防工具无法获得运行机会的病毒技术。,技术较难实现。,和杀毒技术相比,具有时效性。,8,破坏性感染技术,破坏性感染病毒是针对计算机病毒消除技术的一项病毒技术。,实例:,Burge,病毒是这类病毒的典型代表,该病毒会使宿主文件头部丢失,560,字节;,Hahaha,病毒会使宿主程序丢失,13592,字节。,传播性差,-,破坏面小,在潜伏期长的情况下,其传播性可以有所改观。,9,网络病毒技术,网络病毒是指以网络为平台,对计算机产生安全威胁的所有程序的总和,.,常见的几种:,木马(,Trojan,),蠕虫(,Worm,),邮件病毒,恶意网页,Any Questions?,Thank You!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!