欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算机病毒与防范.ppt

    • 资源ID:6606524       资源大小:425.50KB        全文页数:181页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机病毒与防范.ppt

    第4章 恶意程序及其防范,4.1 计算机病毒的概念 4.2 计算机病毒原理 4.3 计算机病毒编制的关键技术 4.4 蠕虫 4.5 木马 4.6 病毒对抗技术,计算机病毒是恶意程序的一种。所谓恶意程序,是指一类特殊的程序,它们通常在用户不知晓也未授权的情况下潜入到计算机系统中来。恶意程序可以分为许多类型。图1.1为按照有无自我复制功能和需要不需要宿主对恶意程序的分类情形。,陷门(Trap Doors)是进入程序的一些秘密入口。陷门中有些是程序员为了进行调试和测试而预留的一些特权,有些则是系统漏洞。黑客也挖空心思地设计陷门,以便以特殊的、不经授权的方式进入系统。陷门通常寄生于某些程序(有宿主),但无自我复制功能。逻辑炸弹是嵌入某些合法程序的一段代码,没有自我复制功能,在某些条件下会执行一个有害程序,造成一些破坏。特洛伊木马是计算机网络中一种包含有害代码的有用或表面上有用的程序或过程,激活时产生有害行为。它们不具备自我复制功能。,细菌是以自我繁殖为主要目的的程序。蠕虫是一种通过网络自我复制的恶意程序。通常人们也把它称为病毒的一种。因为,蠕虫一旦被激活,可以表现得像细菌和病毒,可以向系统注入特洛伊木马,或进行任何次数的破坏或毁灭行动。典型的蠕虫只会在内存维持一个活动副本。此外,蠕虫是一个独立程序,自身不改变任何其他程序,但可以携带具有改变其他程序的病毒。其中,计算机病毒是所有计算机用户在计算机安全问题上,经常碰到的问题。在1999年Security Poral的报告中,排在计算机安全问题第一位的是计算机病毒事件,其次是与计算机病毒关系极为密切的黑客问题。所以本章以病毒为主,介绍恶意程序的特点及其防治。,4.1 计算机病毒的概念,返回,1.1.1 计算机病毒的定义 人类发明了工具,改变了世界,也改变了人类自己。自20世纪40年代起,计算技术与电子技术的结合,使推动人类进步的工具从体力升华到了智力。计算机的出现,将人类带进了信息时代,使人类生产力进入了一个特别的发展时期。计算机的灵魂是程序。正是建立在微电子载体上的程序,才将计算机的延伸到了人类社会的各个领域。“成也萧何,败也萧何”。人的智慧可以创造人类文明,也可以破坏人类已经创造的文明。随着计算机系统设计技术向社会各个领域急剧扩展,人们开发出了将人类带入信息时代的计算机程序的同时,也开发出了给计算机系统带来副作用的计算机病毒程序。,在生物学界,病毒(virus)是一类没有细胞结构但有遗传、复制等生命特征,主要由核酸和蛋白质组成的有机体。在中华人民共和国计算机信息系统安全保护条例中,计算机病毒(Computer Virus)被明确定义为:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据、影响计算机使用,并且能够自我复制的一组计算机指令或者程序代码”。,1.1.2 计算机病毒的特征 计算机病毒有一些与生物界中的病毒极为相似的特征,这也就是所以称其为病毒的缘由。这些特征有如下一些。1.传染性和衍生性 病毒也是一种程序,它与其他程序的显著不同之处,就是它的传染性。与生物界中的病毒可以从一个生物体传播到另一个生物体一样,计算机病毒可以借助各种渠道从已经感染的计算机系统扩散到其他计算机系统。早在1949年,计算机的先驱者Von Neumann 就在他的论文复杂自动机组织论中,提出了计算机程序在内存中自我复制的设想,勾画了病毒程序的蓝图。1977年夏天,美国作家托马斯捷瑞安在其幻想小说P-1的青春一书中构思了一种能够自我复制的计算机程序,第一次使用了“计算机病毒”的术语。所以自我复制应当是计算机病毒的主要特征。,20世纪60年代初,美国贝尔实验室里,三个年轻的程序员编写了一个名为“磁芯大战”的游戏,游戏中通过复制自身来摆脱对方的控制,这就是计算机“病毒”的雏形。1983年美国计算机专家弗雷德科恩博士研制出一种在运行过程中可以自我复制的具有破坏性的程序,并在同年11月召开的国际计算机安全学术研讨会,首次将病毒程序在VAX/750计算机上进行了实验。世界上第一个计算机病毒就这样出生在实验室中。,20世纪80年代初,计算机病毒(如“巴基斯坦智囊”病毒)主要感染软盘的引导区。20世纪80年代末,出现了感染硬盘的病毒(如“大麻”病毒)。20世纪90年代初,出现了感染文件的病毒(如“Jerusalem,黑色13号星期五”病毒)。接着出现了引导区和文件型“双料”病毒,既感染磁盘引导区又感染可执行文件。20世纪90年代中期,称为“病毒生产机”的软件开始出现,使病毒的传播不再是简单的自我复制,而是可以自动、轻易地自动生产出大量的“同族”新病毒。这些病毒代码长度各不相同,自我加密、解密的密钥也不相同,原文件头重要参数的保存地址不同,病毒的发作条件和现象不同。,1995年大量具有相同“遗传基因”的“同族”病毒的涌现,标志着“病毒生产机”软件已出现。目前国际上已有上百种“病毒生产机”软件。这种“病毒生产机”软件不用绞尽脑汁地去编程序,便可以轻易地自动生产出大量的“同族”新病毒。这些病毒代码长度各不相同,自我加密、解密的密钥也不相同,原文件头重要参数的保存地址不同,病毒的发作条件和现象不同,但主体构造和原理基本相同。这就是病毒的衍生性。与此同时,Internet的发展,也为病毒的快速传播提供了方便途径。,2.潜伏性和隐蔽性 计算机病毒通常是由技术高超者编写的比较完美的、精巧严谨、短小精悍的程序。它们常常按照严格的秩序组织,与所在的系统网络环境相适应、相配合。病毒程序一旦取得系统控制权,可以在极短的时间内传染大量程序。但是,被感染的程序并不是立即表现出异常,而是潜伏下来,等待时机。除了不发作外,计算机病毒的潜伏还依赖于其隐蔽性。为了隐蔽,病毒通常非常短小(一般只有几百或1K字节,此外还寄生于正常的程序或磁盘较隐蔽的地方,也有个别以隐含文件形式存在,使人不经过代码分析很难被发觉。,20世纪90年代初,计算机病毒开始具有对抗机制。例如Yankee Doole病毒,当它发现有人用Debug工具跟踪它,就会自动从文件中逃走。此外还相继出现了一些能对自身进行简单加密的病毒,如1366(DaLian)、1824(N64)、1741(Dong)、1100等。加密的目的主要是防止跟踪或掩盖有关特征等。例如在内存有1741病毒时,用DIR列目录表,病毒会掩盖被感染文件所增加的字节数,使人看起来字节数很正常。,3.寄生性(1)病毒的寄生场所寄生是病毒的重要特征。计算机病毒一般寄生在以下地方:(a)寄生在可执行程序中。一旦程序执行,病毒就被激活,病毒程序首先被执行并常驻内存,然后置触发条件。感染的文件被执行后,病毒就会趁机感染下一个文件。文件型病毒可以分为源码型病毒、嵌入型病毒和外壳型病毒。源码型病毒是用高级语言编写的,不进行编译、链接,就无法传染扩散。嵌入型病毒是嵌入在程序的中间,只能针对某些具体程序。外壳型病毒寄生在宿主程序的前面或后面,并修改程序的第1条指令,使病毒先于宿主程序执行,以便一执行宿主程序就传染一次。,(b)寄生在硬盘的主引导扇区中。这类病毒也称引导型病毒。任何操作系统都有自举过程,自举依靠引导模块进行,而操作系统的引导模块总是放在某个固定位置,这样系统每次启动就会在这个固定的地方来将引导模块读入内存,紧接着就执行它,来把操作系统读入内存,实现控制权的转接。引导型病毒程序就是利用这一点,它自身占据了引导扇区而将原来的引导扇区的内容和病毒的其他部分放到磁盘的其他空间,并将这些扇区标志为坏簇,不可写其他信息。这样,系统的一次初始化,就激活一次病毒,它首先将自身拷贝到内存,等待触发条件到来。,引导型病毒按其寄生对象,可以分为MBR(主引导区)病毒和BR(引导区)病毒。MBR病毒也称分区病毒,这类病毒寄生在硬盘分区主引导程序所占据的硬盘0头0柱面第1扇区,典型的有Stoned(大麻)病毒、2708病毒等。BR病毒则寄生在硬盘逻辑0扇区或软盘0扇区(即0面0道的第1扇区),典型的有Brain病毒、小球病毒等。,(2)计算机病毒的寄生方式(a)替代法:病毒程序用自己的全部或部分代码,替代磁盘引导扇区或文件中的全部或部分内容。(b)链接法:病毒程序将自身代码作为正常程序的一部分与原有正常程序链接在一起。链接的位置可能在正常程序的首部、尾部或中间。,4.触发性 潜伏下来的计算机病毒一般要在一定的条件下才被激活,发起攻击。病毒具有判断这个条件的功能。,5.非授权执行性 用户在调用一个程序时,常常就把系统的控制权交给这个程序并给它分配相应的系统资源,使程序的执行对用户是透明的。计算机病毒具有正常程序所具有的一切特性,它隐蔽在合法程序和数据中;当用户运行正常程序时,病毒伺机取得系统的控制权,先于正常程序执行,并对用户呈透明状态。,6.破坏性 计算机病毒的设计者进行病毒程序设计的目的就是为了攻击破坏。下面对病毒的破坏性进行分类介绍。(1)病毒破坏的能力按照病毒的破坏能力,可将病毒划分为以下几种:无害型:除了传染时减少磁盘的可用空间外,对系统没有其它影响。无危险型:这类病毒仅仅是减少内存、显示图像、发出声音及同类音响。危险型:这类病毒在计算机系统操作中造成严重的错误。非常危险型:这类病毒删除程序、破坏数据、清除系统内存区和操作系统中重要的信息。,(2)病毒的入侵方式(a)源代码嵌入攻击型 这类病毒主要入侵高级语言的源程序。病毒在源程序编译之前就插入进来,最后随源程序一起被编译成带毒可执行文件。这类带毒文件是极少数,因为这些病毒开发者不可能轻易得到那些软件开发公司编译前的源程序,并且入侵的方式难度较大,需要非常专业的编程水平。(b)代码取代攻击型 这类病毒主要是用它自身的代码取代某个入侵程序或该程序的部分模块。这类病毒也少见,它主要是攻击特定的程序,针对性较强,但是不易被发现,清除起来也较困难。,(c)系统修改型 这类病毒主要是用自身代码覆盖或修改系统中的某些文件来达到调用或替代操作系统中的部分功能,由于是直接感染系统,危害较大,也是最为多见的一种病毒类型,多为文件型病毒。(d)外壳附加型 这类病毒通常附加在正常程序的头部或尾部,相当于给程序添加了一个外壳,在被感染的程序执行时,病毒代码先被执行,然后才将正常程序调入内存。目前大多数文件型的病毒属于这一类。,(3)病毒破坏性的表现(a)占用CPU资源,额外占用或消耗内存空间,或禁止分配内存、蚕食内存,导致一些大型程序执行受阻,使系统性能下降。(b)干扰系统运行,例如不执行命令、干扰内部命令的执行、虚发报警信息、打不开文件、内部栈溢出、占用特殊数据区、时钟倒转、重启动、死机、文件无法存盘、文件存盘时丢失字节、内存减小、格式化硬盘等。(c)攻击CMOS。CMOS是保存系统参数(如系统时钟、磁盘类型、内存容量等)的重要场所。有的病毒(如CIH病毒)可以通过改写CMOS参数,破坏系统硬件的运行。(d)攻击系统数据区。硬盘的主引导扇区、boot(引导)扇区、FAT(文件分配)表、文件目录等,是系统重要的数据,这些数据一旦受损,将造成相关文件的破坏。,(e)干扰外部设备运行,如 干扰键盘操作。如EDV病毒能封锁键盘,使按任何键都没有反应;还有病毒产生换字、抹掉缓存区字符、输入紊乱等。干扰屏幕显示。如小球病毒产生跳动的小白点;瀑布病毒使显示的字符像雨点一样一个个落到屏幕底部等。干扰声响。如感染Attention病毒后,每按一键,喇叭就响一声;Yankee Doodle病毒在每天下午5时整会播出歌曲“Yankee Doodle”;救护车病毒(Ambulance Car)会在屏幕上出现一辆鸣着警笛来回跑的救护车。干扰打印机。如Azsua病毒可以封锁打印机接口LPT1,当使用打印机时,会发出缺纸的假报警;1024SBC病毒会使打印机出现断断续续的打印失常;Typo-COM病毒会更换字符。,(f)攻击文件。现在发现的病毒中,大多数是文件型病毒。这些病毒会使染毒文件的长度、文件存盘时间和日期发生变化。例如,百年病毒、4096病毒等。(g)劫取机密数据。例如,微软公司在它的Microsoft Network中加入一种特洛伊木马程序,会把用户系统软件和硬件的完整清单送回到微软公司。(h)破坏网络系统的正常运行。例如发送垃圾邮件、占用带宽,使网络拒绝服务等。有些病毒的破坏作用往往是多样的。,1.1.3 计算机病毒的结构计算机病毒的种类很多,但是它们的主要结构是类似的,一般需要包含4部分:引导部分、传染部分、表现部分和破坏部分。(1)引导部分:就是病毒程序的初始化部分。它的作用是将病毒的主体加载到内存,为传染部分做准备(如驻留内存、修改中断、修改高端内存、保存原中断向量等操作)。(2)传染部分:作用是将病毒代码复制到传染目标上去。传染需要一定的条件。不同类型的病毒在传染方式、传染条件上各不相同。进行传播之前,先要判断传染条件。(3)表现部分:作用是在被传染系统上表现出特定现象。大部分病毒都是在一定条件下才会触发表现部分的。(4)破坏部分:作用是产生破坏被传染系统的行为。,1.2 计算机病毒原理,返回,1.2.1 计算机病毒的引导过程计算机病毒的引导过程一般分为三步:驻留内存、窃取控制权和恢复系统功能。1.驻留内存病毒要发挥其破坏作用,多数要驻留内存。为了驻留内存,就必须开辟内存空间或覆盖系统占用的部分内存空间。2.窃取控制权计算机病毒驻留内存后,接下来的工作是取代或扩充系统原有功能,并窃取系统的控制权。3.恢复系统功能计算机病毒窃取系统控制权后,就要开始潜伏等待,即根据其设计思想,隐蔽自己,等待时机,在条件成熟时,再进行传染和破坏。然而,病毒为了隐蔽自己,驻留内存后还要恢复系统,使系统不致死机。,1.2.2 计算机病毒的触发机制下面例举一些病毒的触发(激活)条件。(1)日期/时间触发:计算机病毒读取系统时钟,判断是否激活。例如:PETER-2,在每年2月27日会提出3个问题,答错后会将硬盘加密。Yankee Doodle,在每天下午5时发作。“黑色星期五”,逢13日的星期五发作。“上海一号”,在每年的三、六、九月的13日发作。1998年2月,台湾省的陈盈豪,编写出了破坏性极大的Windows恶性病毒CIH-1.2版,并定于每年的4月26日发作破坏,然后,悄悄地潜伏在网上的一些供人下载的软件中。可是,两个月的时间,被人下载的不多,到了4月26日,病毒只在台湾省少量发作,并没引起重视。陈盈豪又炮制了CIH-1.3版,并将破坏时间设在6月26日。7月,又炮制出了CIH-1.4版。这次,他干脆将破坏时间设为每个月的26日。,(2)计数器触发:计算机病毒内部设定一个计数单元,对系统事件进行计数,判定是否激活。例如,2708病毒当系统启动次数达到32次时被激活,发起对串、并口地址的攻击。(3)键盘触发:当敲入某些字符时触发(如AIDS病毒,在敲如A、I、D、S时发作)、或以击键次数(如Devils Dance病毒在用户第2000次击键时被触发)或组合键等为激发条件(如Invader病毒在按下Ctrl+Alt+Del键时发作)。(4)启动触发:以系统的启动次数作为触发条件。例如Anti-Tei和Telecom病毒当系统第400次启动时被激活。(5)感染触发:以感染文件个数、感染序列、感染磁盘数、感染失败数作为触发条件。例如,Black Monday病毒在运行第240个染毒程序时被激活;VHP2病毒每感染8个文件就会触发系统热启动操作等。(6)组合条件触发:用多种条件综合使用,作为计算机病毒的触发条件。,1.2.3 计算机病毒的传播计算机病毒的传播过程就是其传染过程。病毒的传染大体上有如下三个途径:1.文件传染传播病毒的文件可以分为三类:(1)可执行文件,即扩展名为.EXE,.PE,.SYS等的文件。(2)文档文件或数据文件,例如Word文档,Exel文档,Accss数据库文件。宏病毒(Macro)就感染这些文件。(3)Web文档,如.html文档和.htm文档。已经发现的Web病毒有HTML/Prepend和HTML/Redirect等。,文件传染可能采用如下一种方式:(1)驻留(Resident)复制:复制病毒装入内存后,发现另一个系统运行的程序文件后进行传染。(2)非驻留(Nonrresident)复制:病毒选择磁盘上一个或多个文件,不等它们装入内存,就直接进行感染。,2.引导扇区传染引导扇区病毒在系统初始化时自动装入内存,然后简单地将指令指针(指令计数器的内容)修改到一个存储系统指令的新的位置。于是便以普通方式启动,而病毒已经驻留在了内存。所以,不需要用户执行磁盘上任何被感染的程序,只要有访问磁盘的操作,就可以进行复制。,3.网络及电子邮件传播 与文件传播和引导扇区传播不同,由于数据共享和相互协作网络传播的是病毒直接通过网络传染到目标机系统。,1.3 计算机病毒编制的关键技术,返回,1.3.1 DOS引导型病毒编制的关键技术1.DOS系统的结构DOS系统由以下4部分组成:(1)引导记录(Boot Record)。用于将IO.SYS模块装入内存。,(2)IO.SYS(DOS的基本输入输出模块BIOS),由下面两块组成:系统初始化程序SYSINIT,完成初始化工作,主要包括:确定系统设备配置和内存容量;初始化串、I/O并口;计算后面模块的装入位置并将MSDOS.SYS和COMMAND.COM装入内存;设置系统参数,加载设置驱动程序。标准字符和块设备驱动程,用于支持基本输入输出操作。(3)MSDOS.SYS(DOS的内核),提供应用程序管理、内存管理、文件管理等。(4)COMMAND.COM(DOS的外壳),是用户与操作系统的接口。,2.DOS磁盘的区域分配DOS格式化磁盘由4个区域组成:引导扇区(Boot Area)硬盘含有主引导扇区、文件分配表(FAT)、根目录表(Root Directory Table,FDT)和文件数据区(Data Area)。表1.1为DOS格式化磁盘的区域组成。其中;逻辑区号=柱面号总面积+面号每到扇区数+扇区号表1.1 DOS格式化磁盘的区域组成。,(1)主引导扇区,位于硬盘的0柱面0磁道1扇区,存放有主引导记录(Mian BootRecord,MBR)和4个分区表(Disk Partition Table,DPT)。图1.2为主引导扇区的结构。,区域 信息内容0000H 00BAH 主引导记录启动程序008BH 00D9H 主引导记录启动字符串01DAH 01BDH 空闲区01BEH 01CDH 分区1结构信息01CEH 01DDH 分区1结构信息01DEH 01FDH 分区1结构信息01EEH 01FDH 分区1结构信息01FEH 01FFH 55AAH主引导记录有效标志,MBR的作用是检查分区表是否正确以及确定哪个分区为引导分区(要将控制权交给的操作系统所在分区),并在程序结束时把该分区的启动程序(即操作系统引导扇区)调入内存加以执行。,(2)引导扇区位于逻辑0扇区处(即软盘的0面0道1扇区,硬盘的DOS分区的1扇区)。在DOS的启动过程中,中断服务程序INT 19H(自举程序)将引导记录 调入内存的0000H7C00H处,并把控制权交给它。这时,引导记录将检查启动盘上是否有DOS系统,即根目录中的前两个文件是否为IO.SYS和MSDOS.SYS。若是,则把文件IO.SYS读入到内存的70H0H处,并把主控制权交给IO.SYS;否则给出非系统盘的错误信息。,3.DOS的自举过程图1.3为DOS的自举过程。可以看出,在这个自举过程中,系统的控制权按照下面的顺序转移:ROMBIOSDOS引导程序IO.SYSMSDOS.SYSCOMMAND.COM用户,主引导记录程序的基本功能是读出自举分区的BOOT程序,并把控制权转移到分区BOOT程序。在这一过程中,关键性的技术有:(1)将本来要读入到0000:7C00H处的硬盘主引导记录程序转移到0000:0600H处。代码段如下:,偏移机器码 符号指令说明 0000FAcli;屏蔽中断000133C0 xor ax,ax;00038ED0mov ss,ax;(ss)=0000H0005BC007Cmov sp,7c00;(sp)=7C00H00088BF4mov si,sp;(si)=7C00H000A50push ax;000B07pop es;(es)=0000H000C50push ax;000D1Fpop ds;(ds)=0000H000EFBsti;000FFCcld;0010BF0006mov di,0600;0013890001mov cx,0100;0016F2repnz;A5movsw;主引导程序把自己从0000:7c00处搬移到0000:0600处,;为DOS分区的引导程序腾出空间,(2)顺序读入4个分区表的自举标志,以找出自举分区:若找不到,就转向执行INT 18H的BOOT异常,执行异常中断程序。偏移机器码符号指令说明001DBEBE07mov si,07be;分区表首地址01BE=07BE-06000020B304mov bl,04;最多4个分区0022803C80cmp byte ptrsi,80;80H表示活动分区0025740Ejz 0035;找到活动分区则跳走0027803C00cmp byte ptrsi,00;00H表示有效分区002A751Cjnz 0048;非80H,也非00H,为无效分区002C83C610add si,+10;下一个分区表项,每项16(10H)字节002FFECBdec bl;循环计数减1003175EFjnz 0022;检查下一个分区表项0033CD18int 18;4个都不可引导,进入ROM BIOS00358B14mov dx,si00378B4C02mov cx,si+02;取分区的引导扇区的柱面、扇区活动003A8BEEmov bp,si;继续检查后面的分区表项003C83C610add si,+10,(3)找到自举分区后,检测该分区的标志:如果是32位或16位FAT,并支持13号中断的扩展功能,就转到执行13号中断的41号功能调用,进行安装检测;检测成功,就执行42号扩展功能调用,把BOOT程序读入到内存0000:7c00H处。读入成功,就执行0000:7c00H处的程序;读入失败,就调用13号中断的读扇区功能,把BOOT程序读入到内存0000:7c00H处。,4.引导型病毒的传染过程引导型病毒制驻留在硬盘的主引导分区或硬/软盘的DOS引导分区的病毒。它的感染过程分两大步:装入内存和攻击。(1)装入内存过程:,1 系统开机后,进入系统检测,检测正常后,从0面0道1扇区,即逻辑0扇区读取信息到内存的00007C00处:正常时,磁盘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扇区。,2 系统开始运行病毒引导部分,将病毒的其他部分读入到内存的某一安全区,常驻内存,监视系统的运行。3 病毒修改INT 13H中断服务处理程序的入口地址,使之指向病毒控制模块并执行,以便必要时接管磁盘操作的控制权。4 病毒程序全部读入后,接着读入正常boot内容到内存0000:7C00H处,进行正常的启动过程(这时病毒程序已经全不读入内存,不再需要病毒的引导部分)。5 病毒程序伺机等待随时感染新的系统盘或非系统盘。,(2)攻击过程。病毒程序发现有可攻击的对象后,要进行下列工作:1 将目标盘的引导扇区读入内存,判断它是否感染了病毒。2 满足感染条件时,将病毒的全部或一部分写入boot区,把正常的磁盘引导区程序写入磁盘特定位置。3 返回正常的INT 13H中断服务处理程序,完成对目标盘的传染过程。,5.引导型病毒的编制技术个人计算机开机后,会先执行主引导区代码这一机制,给引导型病毒窃取第一控制权提供了机会。但是引导型病毒窃取控制权的时间只能是短暂的,然后就要引导DOS操作系统,否则就将败露。在窃取控制权的这段时间内,病毒的引导部分主要要做下列事情。(1)为病毒代码申请内存空间,为此要尽量减少DOS的存储空间。相关代码如下:xor ax,axmove ss,axmov sp,7c00hmov ds,axmov ax,word ptr ds:413h;存放最大内存空间0000:0413sub ax,4;给病毒申请4kB的内存空间mov ds:413h,ax,(2)修改传播需要的中断向量。相关代码如下:begin proc farpush ds;axds:axsub ax,ax;push axmov ax,code;将代码段地址装入ds,esmov ds,axmov ex,axmov ax,seg ctrl_c;修改向量,ds:dx指向ctrl_c子程序mov ds,ax;mov dx,offset ctrl_cmov ah,25h;调用号ah=25Hmov al,23h;修改中断向量号al=23Hint 21h;系统调用指令,(3)读入病毒的其他部分,进行病毒拼装(在内存高端):先从已经标记的簇中某扇区读入病毒的其他部分(这些簇往往被标记为坏簇),然后再读入原引导记录到0000:7C00H处,跳转执行。相关代码如下:mov cl,06hshl ax,cl;(ax)=8F80add ax,0840h;(ax)=97c0move s,axmov si,7c00h;(si)=7c00mov di,simov cx,0100hrepz movsw;将病毒移到高端v2:push axpop dspush ax mov bx,7c4bhpush bxret;指令执行转入高端内存call v3,v3:xor ah,ah;(ah)=0 int 13h;13H中断调用 mov ah,80h and byte ptr ds:7df8h,al;v4:mov bx,word ptr ds:7df9h;读入病毒的其他部分 push cs pop ax;(ax)=97c0 sub ax,20h;(ax)=97c0 move s,ax;(es)=97c0 call v9 mov bx,word ptr ds:7df9h;加载逻辑扇区号 inc bx;bx+是引导扇区 mov ax,0ffc0h;ffc0:8000=0000:7c00读入原引导分区内容,move s,axcall v9xor ax,ax;(ax)=0mov byte ptr ds:7df7h,al;标志清0v5:mov ds,ax;(ds)=0mov ax,word ptr ds:4chmov bx,word ptrds:4ch;修改中断向量mov word ptr ds:4ch,7cd6h mov word ptr ds:4ch,cs;新int 13H中断已修改push cspop ds;(ds)=(cs)mov word ptr ds:7d30h:ax;保存原来的int 13H中断向量mov word ptr ds:7d32h:bx;v6:mov dl,byte ptr ds:7df8h;加载驱动器盘符v7:jmp 0000:7c00;跳转db 0eah,00h,7ch,00h,00h;跳转指令的二进制代码,(4)读入原主引导分区,转去执行DOS的引导工作。,1.3.2 COM文件型病毒编制的关键技术1.COM文件的特点这里,文件型病毒主要指DOS操作系统下的COM和EXE文件。首先介绍COM文件病毒程序的编制技术。COM文件具有如下特点:(1)COM文件的存储代码与内存映像完全相同COM文件是在DOS外壳上直接运行处理器指令和内存数据。为此,在COM文件中要包含COM程序的一个绝对映像(如图1.4所示),并且MS-DOS要把该映像直接拷贝到内存加载COM程序,而不做任何改变。,(2)COM文件的长度不能超过65 024字节。COM文件是一种单段执行结构。如图1.4所示,它要被分配在一个64k字节的空间中。这个空间中除了要存放COM文件外,还要存放一个程序段前缀PSP和一个起始堆栈。而PSP的大小为256字节,起始堆栈的最小空间为256字节,所以COM文件最大不能超过65 024字节。(3)COM文件的第1条指令必须是程序的入口点。,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处的指令启动程序。,3.可执行文件病毒的传染过程(1)文件病毒在宿主文件(.com或.exe)被执行时,驻留内存;(2)病毒开始监视系统运行,等待被传染目标出现;(3)病毒检测可执行文件的特定地址的标识位,判断该文件是否感染了病毒;(4)发现了被感染目标后,利用INT 13H将病毒链接到可执行文件的首部、尾部或中间,并存入磁盘中;(5)完成感染后,继续监视系统的运行,寻找新的目标。,4.文件型病毒程序编制技术文件型病毒可以加在COM文件的前部,也可以加在COM文件的尾部。不管加在何处,都可以利用COM文件的第一条指令是程序的入口点,使启动COM程序前先执行病毒程序。方法就是对程序开始处的指令进行修改。例如,病毒程序加在最后,就应当把程序开始处的指令修改成一条跳转指令,跳转到病毒所在的位置。等病毒程序执行完,再把控制权交还给COM程序。当然,实际做的工作并不这么简单。下面是感染COM文件的典型病代码。(1)修改了的文件头部代码cs:0100 jmp endOfFile;db 0e9h,0100h处为COM文件原来入口;dw COM文件实际大小;endOfFile 文件尾(加入病毒的位置),(2)在COM文件的尾部的病毒代码部分endOfFile:virusStart:;病毒代码mov ax,orgcodemov 100,axmov al,orgcode+2mov 102,alvirusSize=$-virusStartresume:jmp 100;db 0e9h;dw(COM文件实际大小+病毒代码大小)orgcode db 3 dup(?);原文件由0100开始的3个字节,(3)代码的进一步完善病毒要感染COM文件,需要进行的工作有:首先要把开始的3字节保存到orgcode中,更改为0e9h;更改文件实际大小;将resume开始的3字节改为:0e9h-(COM文件实际大小+病毒代码大小);将病毒代码写到COM文件尾部;进行感染的判断和文件大小的判断。假设:DS:DX指向VirusSize;VirusStart的定义如上。;保存开始的4字节并改写 db 90h,0e9h;0e990h为感染标志 dw sizeofcom,感染代码:mov ax,3d01hint 21h;为读写打开jc OpenErrorpush dxxchg ax,bxmov ax,4202hxor cx,cxint 21h;移到文件尾or dx,dxjnz complete;大于4字节的文件不感染cmp ax,ofeeeh-ViusSIze-11jnb completecmp ax,4jb complete;小于4字节的文件也不感染mov di,offset orgcodemov di+6,ax,add di+6,VirusSize;产生替换代码mov ax,4200hxor cx,cxxor dx,dxint 21h;移到文件头mov cx,4mov dx,dimov ah,3fhint 21h;读出4个字节jc completecmp word ptr di,0e990h;如果没有感染,则;nop;jmp XXXXjz completemov cx,4add ah,40h int 21h;在文件头部写4个字节,mov ax,4202hxor cx,cxxor dx,dxint 21h;移到文件尾mov ah,40hmov dx,VirusSize+11int 21h;写入病毒代码到COM文件中complete:mov ah,3fh int 21h;关闭文件ErrorOpen:,1.3.3 Win 32 PE病毒编制的关键技术1.Win 32 PE文件格式Win 32 PE文件就是Win 32(Windows 95/98/2000/XP)环境下的PE格式(Portable Executable Format)的可执行文件。为了了解病毒对它的感染机理,首先介绍PE文件的结构和运行机制。PE文件的格式如图1.5所示。,(1)所有的PE文件必须以一个简单的DOS MZ头开始。(2)接着是一个极小(几百个字节)的DOS程序DOS stub,用于输出警告,如“该程序不能在DOS模式下运行”。当Win32把一个PE文件映像加载到内存时,内存映像文件的第一个字节对应到DOS Stub的第一个字节。(3)再接着是作为PE文件标志的1024字节的PE头。执行体在支持PE文件的操作系统中执行时,PE装载器将从DOS MZ头中找到PE头的偏移量。(4)PE文件的内容部分由一些称为段的块组成。每段是一块具有共同属性的数据。段数写在段表中。,(5)PE文件的装载过程1 PE文件被执行时,PE装载器检查DOS MZ头中的PE头骗移量。找到了,就跳转到PE头。2 PE检查器检查PE头的有效性。有效,就跳转到PE头的尾部。3 读取段表中的信息,通过文件映射,将段映射到内存,同时附上段表中指定的段的属性。4 PE文件映射到内存后,PE装载器处理PE文件中的有关逻辑。,2.Win 32 PE病毒原理一个Win 32 PE病毒需要具有如下一些功能。(1)重定位 定位主要指程序中数据的内存存储位置。对于正常的程序来说,数据的内存存储位置在编译时就已经计算好了,程序装入内存时不需要对它们重定位。病毒可能依附在宿主程序的不同位置,当病毒随着宿主程序装载到内存后,病毒中数据的位置也会随之发生变化。由于指令是通过地址引用数据的,地址的不准确将导致病毒程序的不正确执行。为此,有必要对病毒代码中的数据进行重定位。,(2)获取API函数地址 在Win 32环境中,系统功能调用不是通过中断实现,而是通过调用API函数实现。因此,获取API函数的入口地址非常重要。但是,Win 32 PE病毒与普通的Win 32 PE程序不同:普通的Win 32 PE程序里有一个引入函数节,程序通过这个节可以找到代码段中所用的API函数在动态链接库中的真实地址。调用API函数是,可以通过该引入函数表找到相应API函数的真正执行地址。但是,Win 32 PE病毒只有一个代码段,并不存在引入函数节,因此不能直接用真实地址调用API函数。所以获取API地址是病毒的一个重要技术。,1 首先获取Kernel32的基地址 当系统打开一个可执行文件时,会调用Kernel32.dll中的CreateProcess函数。CreateProcess函数在完成装载应用程序后,先要将一个返回地址压入堆栈顶,然后转向那个要装载的应用程序。这个应用程序结束后,就将这个地址数据弹出到EIP中,继续执行。因此,要获得API函数地址,首先要获得Kernel32的基地址。例如利用程序的返回地址,在其附近搜索Kernel32模块的基地址。2 由已知API函数序列号或仅知的函数名,搜索API函数地址的过程,(3)搜索目标文件 通常通过两个API函数FindFiratFilehe 和FindNextFile实现。(4)内存文件映射 使用内存文件映射进行文件读写。(5)感染其他文件(6)返回到宿主程序。,3.Win 32 PE病毒实例

    注意事项

    本文(计算机病毒与防范.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开