chp4DOS病毒的基本原理与分析_第1页
chp4DOS病毒的基本原理与分析_第2页
chp4DOS病毒的基本原理与分析_第3页
chp4DOS病毒的基本原理与分析_第4页
chp4DOS病毒的基本原理与分析_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机病毒原理第四章计算机病毒原理第四章2012-2013-01nDOS病毒是一种病毒是一种只能在只能在DOS环境环境下运行、传染的计算机下运行、传染的计算机病毒病毒n是最早出现的计算机病毒是最早出现的计算机病毒nDOS病毒数量多、技巧强病毒数量多、技巧强n早期病毒:纯粹的引导型、文件型病毒早期病毒:纯粹的引导型、文件型病毒n更多的是集引导型、文件型病毒特性于一身的更多的是集引导型、文件型病毒特性于一身的混合型病毒混合型病毒n.EXE文件和文件和.COM文件是主要的可执行文件文件是主要的可执行文件n正常程序正常程序不需要关心变量(常量)的位置不需要关心变量(常量)的位置源程序在编译的时候,变量

2、(常量)在内存中的源程序在编译的时候,变量(常量)在内存中的位置位置都被计算好了都被计算好了程序装入内存时,程序装入内存时,系统不会为它重定位系统不会为它重定位需要用到变量(常量)的时候直接需要用到变量(常量)的时候直接用变量名访问用变量名访问编译后通过偏移地址访问编译后通过偏移地址访问n病毒程序病毒程序依附到不同的依附到不同的HOST程序中的位置不尽相同程序中的位置不尽相同病毒随着病毒随着HOST载入内存后,载入内存后,各个变量(常量)在内存中的位各个变量(常量)在内存中的位置也随之变化置也随之变化病毒病毒对变量的引用对变量的引用不正确势必导致病毒无法正常运行不正确势必导致病毒无法正常运行n

3、Call指令指令调用一个子程序或用来进行跳转调用一个子程序或用来进行跳转先将先将返回地址压入堆栈返回地址压入堆栈然后然后将将IP置为置为call语句所指向的地址语句所指向的地址当子程序碰到当子程序碰到ret命令后,将命令后,将堆栈顶端的地址弹出来堆栈顶端的地址弹出来,并将该地址存放在并将该地址存放在IP中中主程序得以继续执行主程序得以继续执行pop执行后,执行后,ebp存放病毒程序中标号存放病毒程序中标号delta在内存中的真在内存中的真正地址正地址获取参考量获取参考量delta的地址偏移差的地址偏移差用该偏移差获得病毒程序中变量用该偏移差获得病毒程序中变量var2在内存中的实际地址在内存中的

4、实际地址n又称开机型病毒又称开机型病毒n软盘引导区软盘引导区DOS BootSector(OS引导扇区)引导扇区)只要软盘已格式化,则引导扇区存在只要软盘已格式化,则引导扇区存在用软盘用软盘启动系统时查找盘上有无启动系统时查找盘上有无OS.SYS和和DOS.SYS若有则引导若有则引导若无则显示若无则显示”no system disk ”等信息等信息n硬盘引导区硬盘引导区主引导区主引导区0柱面柱面0磁头磁头1扇区扇区内有主引导程序和主分区表内有主引导程序和主分区表主引导程序查找激活分区主引导程序查找激活分区该分区的第一个扇区即为该分区的第一个扇区即为OS引导扇区引导扇区n引导型病毒引导型病毒专门

5、感染主引导扇区和引导扇区专门感染主引导扇区和引导扇区的计算机病毒的计算机病毒MBR病毒:感染主引导区病毒:感染主引导区BR病毒:感染引导区病毒:感染引导区n用带毒软盘引导用带毒软盘引导判断硬盘是否中毒判断硬盘是否中毒未中毒则感染之未中毒则感染之n系统系统BIOS完成相关检测、初始化完成相关检测、初始化n读主引导区读主引导区/引导区至内存固定位引导区至内存固定位置置0:7C00处,转交系统控制权处,转交系统控制权转交条件:扇区有效性标志转交条件:扇区有效性标志55 AA以物理位置为依据以物理位置为依据,而不是以扇区,而不是以扇区内容为依据内容为依据n只有在启动系统时才读取只有在启动系统时才读取引

6、导型病毒的病毒体引导型病毒的病毒体n繁殖需要繁殖需要驻留内存驻留内存,营造一个,营造一个“窝窝”n病毒将病毒将0:413单元的值减少单元的值减少1KB或或nKB系统系统BIOS上电自检时将上电自检时将常规内存大小存入常规内存大小存入0:413减少减少nKB后,系统将不再访问最高端的后,系统将不再访问最高端的nKB内存内存n一般稍大于病毒体大小一般稍大于病毒体大小n系统正常引导系统正常引导目的在于目的在于隐藏自己隐藏自己,并繁殖更多个体,并繁殖更多个体引导型病毒在感染时,将被感染扇区的引导型病毒在感染时,将被感染扇区的“内容内容”写入其他扇区写入其他扇区扇区中如果存在数据,扇区中如果存在数据,将

7、被覆盖将被覆盖,无法恢复无法恢复并在并在FAT中中标识该扇区所在簇为坏簇标识该扇区所在簇为坏簇,以防被正常的文件存储覆盖,以防被正常的文件存储覆盖感染引导型病毒后磁盘中存在坏簇的原因之一感染引导型病毒后磁盘中存在坏簇的原因之一备份可能已经被病毒进行了备份可能已经被病毒进行了加密处理加密处理nBrain, DiskKiller, Stone1-3, Air COP, CopyLock, AZUSA, JOSHI, OHOH, MusicBugn引导型病毒的触发引导型病毒的触发用染毒盘启动计算机用染毒盘启动计算机引导型病毒先于操作系统获取系统控制权引导型病毒先于操作系统获取系统控制权首次激活,处于

8、首次激活,处于动态动态激活时修改激活时修改INT 13H入口地址使其指向病毒中断入口地址使其指向病毒中断服务程序服务程序处于处于可激活态可激活态当系统当系统/用户进行磁盘读写时调用用户进行磁盘读写时调用INT 13H实际上调用的是病毒的中断服务程序实际上调用的是病毒的中断服务程序激活病毒,病毒处于激活病毒,病毒处于激活态激活态根据感染条件实施暗地感染根据感染条件实施暗地感染根据爆发破坏条件表现自己根据爆发破坏条件表现自己n调用调用BIOSBIOS磁盘服务功能读写扇区磁盘服务功能读写扇区n调用调用INT 13H子功能子功能02H读扇区读扇区入口入口:AH=02HAL=读入的扇区数读入的扇区数CH

9、=柱面号的低柱面号的低8位位CL=低低6位为起始扇区号(位为起始扇区号( 163 ) ,高,高2位为硬盘柱面号高位为硬盘柱面号高2位位DH=磁头号磁头号DL=物理驱动器号(硬盘第物理驱动器号(硬盘第7位置位置1)ES:BX 数据缓冲区数据缓冲区返回:返回:当当CF值位时表示调用失败值位时表示调用失败AH=状态状态AL=实际读入的扇区数实际读入的扇区数n调用调用INT 13H子功能子功能03H写扇区写扇区入口:入口:AH=03HAL=写入的扇区数写入的扇区数CH=柱面号的低柱面号的低8位位CL=低低6位为起始扇区号位为起始扇区号(163),高,高2位为硬盘柱面号的高位为硬盘柱面号的高2位位DH=

10、磁头号磁头号DL=物理驱动器(硬盘第物理驱动器(硬盘第7位置位置1)ES:BX数据缓冲区数据缓冲区返回:返回:当当CF置位时表示调用失败置位时表示调用失败AH=状态状态AL=实际写入的扇区数实际写入的扇区数n驻留内存驻留内存一般采取一般采取修改修改0:413地址内的值地址内的值的方法的方法因为引导时,因为引导时,DOS还未加载还未加载唯一的方法唯一的方法缺点缺点启动后用启动后用MEM查看,查看,常规内存总数少于常规内存总数少于640KB,不够隐蔽,不够隐蔽解决解决修改修改INT 8H,检测,检测INT 21H是否建立是否建立若建立,则可采用若建立,则可采用DOS功能驻留内存功能驻留内存类似文件

11、型病毒驻留内存类似文件型病毒驻留内存n隐形技术隐形技术病毒驻留时,读写引导区均对原引导区操作,就好像病毒驻留时,读写引导区均对原引导区操作,就好像没有病毒一样没有病毒一样n加密技术加密技术加密分区表加密分区表,使无毒盘启动时无法读取硬盘,使无毒盘启动时无法读取硬盘优点优点隐蔽性强、兼容性强,通用于隐蔽性强、兼容性强,通用于DOS、Win操作系统操作系统缺点缺点传染速度慢,一定要用带毒软盘启动才能传到硬盘传染速度慢,一定要用带毒软盘启动才能传到硬盘杀毒容易,只需改写引导区即可杀毒容易,只需改写引导区即可n判断引导程序的合法性判断引导程序的合法性主引导记录中包含硬盘的一系列参数和一段引导程序主引导

12、记录中包含硬盘的一系列参数和一段引导程序引导程序主要用来在系统硬件自检完成后引导程序主要用来在系统硬件自检完成后引导具有激活标志引导具有激活标志(0 x80)的分区上的操作系统)的分区上的操作系统它执行到它执行到最后的是一条最后的是一条JMP指令指令跳到操作系统的引导程序中去跳到操作系统的引导程序中去正是正是引导型病毒的注入点引导型病毒的注入点由于引导程序本身完成的功能比较简单由于引导程序本身完成的功能比较简单判断该判断该JMP指令的合法性指令的合法性n似乎一个很小的程序也会读很久似乎一个很小的程序也会读很久引导型病毒在启动系统时先将引导型病毒在启动系统时先将病毒读入内存病毒读入内存,并,并改

13、变中断向量改变中断向量,再将控制权交由正常的引导程序执行再将控制权交由正常的引导程序执行正确的引导正确的引导动作动作驻留在内存中的病毒时刻驻留在内存中的病毒时刻监视系统监视系统的运行,伺机感染的运行,伺机感染在在DOS程序尚未载入时,病毒已经读入内存,并将系统程序尚未载入时,病毒已经读入内存,并将系统内存大小内存大小自行缩小自行缩小,隐藏其中,隐藏其中此时需要检查一下引导扇区和内存容量此时需要检查一下引导扇区和内存容量n格式化程序格式化程序FormatMBR感染病毒不能用感染病毒不能用Format清除清除BR病毒可以用病毒可以用Format清除清除nFDisk/MBR命令修复命令修复MBR杀毒

14、软件生成可以查杀任意类型引导型病毒的原因杀毒软件生成可以查杀任意类型引导型病毒的原因直接覆盖直接覆盖MBR可能导致硬盘主分区信息丢失而造成用户数据丢失可能导致硬盘主分区信息丢失而造成用户数据丢失如:如:Monkey或或One Half采用采用FDisk/MBR会丢失数据或使会丢失数据或使C盘无法找到,因为这类病毒将原引盘无法找到,因为这类病毒将原引导扇区内容加密存储导扇区内容加密存储分析病毒的加密机制,将加密内容解密之后写回引导扇区,才能清除分析病毒的加密机制,将加密内容解密之后写回引导扇区,才能清除n制作制作“应急盘应急盘”,备份主引导扇区,备份主引导扇区/引导扇区引导扇区清除引导型病毒时,

15、只需将备份内容写回相应扇区即可清除引导型病毒时,只需将备份内容写回相应扇区即可n启动启动已感染文件型病毒的程序(已感染文件型病毒的程序(HOST程序)程序)n暂时暂时中断中断该程序,病毒完成激活条件的布置和感染工作该程序,病毒完成激活条件的布置和感染工作n继续执行继续执行HOST程序程序n时机成熟时,时机成熟时,病毒发作病毒发作n文件型病毒与引导型病毒的差别文件型病毒与引导型病毒的差别寄生在文件中寄生在文件中普通性质普通性质的文件型病毒的文件型病毒依托文件的执行动作而修改依托文件的执行动作而修改DOS中断向量,并常驻内存中断向量,并常驻内存潜伏期内感染文件,使之成为被感染的对象,直至发作潜伏期

16、内感染文件,使之成为被感染的对象,直至发作黑色星期五、黑色星期五、Happy Sunday、Two Tiger等等爆炸性爆炸性的文件型病毒的文件型病毒运行一个已感染的程序时,首先立即去感染别的文件运行一个已感染的程序时,首先立即去感染别的文件若判断若判断“时机未到时机未到”,则执行传染命令,之后再运行,则执行传染命令,之后再运行HOST程程序序不需要常驻内存,不需要修改任何一种中断向量不需要常驻内存,不需要修改任何一种中断向量Vienna、Bom Sunday、13224等等n.COM文件文件结构比较简单结构比较简单一种一种单段执行结构单段执行结构,起源于,起源于CPM-86操作系统操作系统包

17、含程序的一个绝对映像,其包含程序的一个绝对映像,其文件代码和运行时内存中的映像完文件代码和运行时内存中的映像完全相同全相同起始执行偏移地址为起始执行偏移地址为100H,对应于文件的偏移,对应于文件的偏移0.COM文件文件大小不能超过大小不能超过65024B64KB减去减去PSP的的256B减去用于一个起始堆栈的至少减去用于一个起始堆栈的至少256B如果如果MS-DOS不能分配足够内存,则尝试分配失败不能分配足够内存,则尝试分配失败在试图运行另一个程序或分配另外的内存之前,大部分在试图运行另一个程序或分配另外的内存之前,大部分.COM程序程序都释放任何不需要的内存都释放任何不需要的内存n分配内存

18、后,在该内存的起始分配内存后,在该内存的起始256B建立一个建立一个PSP(程序段前缀)(程序段前缀)置置AL为为00H/0FFH取决于取决于PSP中的第一个中的第一个FCB是否含有一个有效驱动器标志符是否含有一个有效驱动器标志符置置AH为为00H或或0FFH取决于取决于PSP的第二个的第二个FCB是否含有一个有效的驱动器标志符是否含有一个有效的驱动器标志符n立即开始立即开始加载加载.COM文件文件置置CS、DS、SS和和ES为为PSP的段地址的段地址n创建一个堆栈创建一个堆栈nMS-DOS通过把通过把控制传递给偏移控制传递给偏移100H处的指令处的指令而启动程序而启动程序n程序设计者必须保证

19、程序设计者必须保证.COM文件的文件的第一条指令是程序的入口点第一条指令是程序的入口点程序是在偏移程序是在偏移100处加载,故所有代码和数据偏移也必须相对于处加载,故所有代码和数据偏移也必须相对于100Hn环境段环境段包括包括环境变量的设置环境变量的设置可以用可以用SET命令显示和设置命令显示和设置格式为格式为NAME=string,以,以”00H”字节结束字节结束n.EXE文件采用多段结构文件采用多段结构文件头文件头(Header)格式化区格式化区28B重定位表,长度不定重定位表,长度不定项数等于程序段数项数等于程序段数载入模块载入模块(Load Module)程序代码部分程序代码部分从偏移

20、量从偏移量512B开始开始n.EXE文件文件申请内存申请内存后,把载入模块读入后,把载入模块读入内存指定区域(尽量装入内存高端)内存指定区域(尽量装入内存高端)DS、ES指向程序段前缀指向程序段前缀PSP而不是指向用户程序的数据段和附加段而不是指向用户程序的数据段和附加段CS、IP、SS、SP由文件头的格式化区由文件头的格式化区域确定并通过重定位表进行调整域确定并通过重定位表进行调整n.EXE文件加载文件加载后,从后,从CS:IP开始执行开始执行n病毒一般将自己病毒一般将自己加在文件的末端加在文件的末端,并,并修修改改CS:IP的值指向病毒起始地址的值指向病毒起始地址,修改修改文件长度信息和文

21、件长度信息和SS:SPn可执行文件被感染的可执行文件被感染的表现症状表现症状文件长度增加或文件头部信息被修改文件长度增加或文件头部信息被修改文件目录表中信息被修改文件目录表中信息被修改文件长度不变而内部信息被修改文件长度不变而内部信息被修改n预防预防文件型病毒的方法文件型病毒的方法常驻内存监视常驻内存监视INT 21H中断中断给可执行文件加上给可执行文件加上“自检外壳自检外壳”n问题和不足问题和不足常驻内存监视常驻内存监视INT 21H中断中断对对非常驻内存型非常驻内存型病毒几乎没有作用病毒几乎没有作用逃避检测逃避检测:“新世纪新世纪”传播时采用单步中断法,通过传播时采用单步中断法,通过INT

22、 21H中断和检测系统调中断和检测系统调用内存低端的方法逃避常驻内存的检测用内存低端的方法逃避常驻内存的检测常驻内存的检测程序和系统软件、应用软件常驻内存的检测程序和系统软件、应用软件冲突冲突n问题和不足问题和不足使用专门程序给可执行文件加上使用专门程序给可执行文件加上“自检外壳自检外壳”对现有的可执行文件对现有的可执行文件是否干净是否干净很难保证很难保证附加的附加的“自检外壳自检外壳”不能和可执行文件的代码很好地融合,常不能和可执行文件的代码很好地融合,常常和原文件常和原文件冲突冲突使之不能正常执行使之不能正常执行有时候,附加的有时候,附加的“自检外壳自检外壳”会被认为是一种新的计算机病毒会

23、被认为是一种新的计算机病毒“自检外壳自检外壳”只能发现病毒而无法清除只能发现病毒而无法清除会使计算机病毒制造者造出具有针对性的计算机病毒会使计算机病毒制造者造出具有针对性的计算机病毒n在源程序中在源程序中增加自检及清除计算机病毒的功能增加自检及清除计算机病毒的功能优点优点可执行文件从生成起,就有抗计算机病毒的能力,从而可执行文件从生成起,就有抗计算机病毒的能力,从而保证可保证可执行文件的干净执行文件的干净自检清除功能部分和可执行文件其他部分融为一体,自检清除功能部分和可执行文件其他部分融为一体,不会和程不会和程序其他功能冲突序其他功能冲突使计算机病毒制造者无法造出具有针对性的病毒使计算机病毒制

24、造者无法造出具有针对性的病毒可执行文件染不上病毒,文件型病毒就无法传播可执行文件染不上病毒,文件型病毒就无法传播n预防核心预防核心使可执行文件具有自检功能使可执行文件具有自检功能在被加载时检测本身的几项指标在被加载时检测本身的几项指标文件长度文件长度文件头部信息文件头部信息文件内部抽样信息文件内部抽样信息文件目录表中有关信息文件目录表中有关信息n实现过程实现过程使用汇编语言或其他高级语言时,先把上述有关信息定义为若干使用汇编语言或其他高级语言时,先把上述有关信息定义为若干大小固定的几个变量,给每个变量先赋一个值大小固定的几个变量,给每个变量先赋一个值根据可执行文件中的有关信息,把源程序中的有关

25、变量进行修改,根据可执行文件中的有关信息,把源程序中的有关变量进行修改,再重新汇编或编译再重新汇编或编译得到了所需的可执行文件得到了所需的可执行文件n是否已染有某种病毒的基本思想是否已染有某种病毒的基本思想“检查标识法检查标识法”在一个文件的特定位置上,寻找该种病毒的特定标识在一个文件的特定位置上,寻找该种病毒的特定标识局限很大:变种病毒,改动标识局限很大:变种病毒,改动标识病毒本身也是一段可执行代码,依附在文件中,很难病毒本身也是一段可执行代码,依附在文件中,很难找到找到彻底分离的方法彻底分离的方法代码一级不可判定代码一级不可判定,只能凭借经验,根据程序实际运,只能凭借经验,根据程序实际运行状态、结果及内存、磁盘文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论