1、第六章第六章 计算机病毒与恶意软件计算机病毒与恶意软件By Jefferyliu 2011 计算机病毒的概念及发展历史和趋势计算机病毒的概念及发展历史和趋势 病毒的产生原因及来源、病毒的分类、特病毒的产生原因及来源、病毒的分类、特点、中毒表现点、中毒表现 病毒的组成结构、传播方式、触发与生存、病毒的组成结构、传播方式、触发与生存、特种及新型病毒实例分析特种及新型病毒实例分析 病毒检测、清除、防护、病毒和反病毒的病毒检测、清除、防护、病毒和反病毒的发展趋势发展趋势 恶意软件概念、分类、防护和清除恶意软件概念、分类、防护和清除 了解计算机病毒发展的历史和趋势 理解病毒的定义、分类、特征、结构、传播
2、方式和病毒产生 掌握病毒检测、清除、防护、病毒和反病毒的发展趋势 掌握恶意软件概念、分类、防护和清除1.计算机病毒的概念计算机病毒的概念 目前,国外关于计算机病毒(目前,国外关于计算机病毒(Computer viruses,简称病毒)最流行的定义:计算机,简称病毒)最流行的定义:计算机病毒是一段附着在其它程序上的可以实现自我病毒是一段附着在其它程序上的可以实现自我繁殖的程序代码。繁殖的程序代码。在中华人民共和国计算机信息系统安全保护条例中,关于计算机病毒的定义是:计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。这一定
3、义一般可以看作计算机病毒的狭义定义。从本质上讲,计算机病毒是一个程序,一段可执行代码。就像生物病毒一样,计算机病毒有独特的复制能力,计算机病毒可以很快地蔓延,又常常难以根除。计算机病毒同生物病毒所相似之处是能够侵入计算机系统和网络,危害正常工作的“病原体”。它能够对计算机系统进行各种破坏,同时能够自我复制,具有传染性。另外,计算机病毒与生物病毒一样,有其自身的病毒体(病毒程序)和寄生体(宿主HOST)。v表6-1 计算机病毒与生物病毒的对比生物病毒生物病毒计算机病毒计算机病毒攻击生物机体特定细胞攻击生物机体特定细胞攻击特定程序(所有攻击特定程序(所有*.COM.COM和和*.EXE.EXE文件
4、以及其他特定文件)文件以及其他特定文件)修改细胞的遗传信息,使病修改细胞的遗传信息,使病毒在被传染的细胞中繁殖毒在被传染的细胞中繁殖操纵程序使被传染程序能复制操纵程序使被传染程序能复制病毒程序病毒程序被传染的细胞不再重复传染被传染的细胞不再重复传染,并且被传染的机体很长时,并且被传染的机体很长时间没有症状间没有症状很多计算机病毒只传染程序一很多计算机病毒只传染程序一次,被传染的程序很长时间可次,被传染的程序很长时间可以正常运行以正常运行病毒并非传染所有的细胞,病毒并非传染所有的细胞,并且病毒可以产生变异并且病毒可以产生变异程序能够加上免疫标志,防止程序能够加上免疫标志,防止传染。但计算机病毒能
5、够修改传染。但计算机病毒能够修改自身使免疫失效自身使免疫失效2.计算机病毒的发展计算机病毒的发展 计算机病毒伴随计算机、网络信息技术的快计算机病毒伴随计算机、网络信息技术的快速发展而日趋复杂多变,其破坏性和传播能力也速发展而日趋复杂多变,其破坏性和传播能力也不断增强。计算机病毒发展主要经历了五个重要不断增强。计算机病毒发展主要经历了五个重要的阶段。的阶段。(1)原始病毒阶段(第一阶段)原始病毒阶段(第一阶段)(2)混合型病毒阶段(第二阶段)混合型病毒阶段(第二阶段)(3)多态性病毒阶段(第三阶段)多态性病毒阶段(第三阶段)(4)网络病毒阶段(第四阶段)网络病毒阶段(第四阶段)(5)主动攻击型病
6、毒阶段(第五阶段)主动攻击型病毒阶段(第五阶段)3.计算机病毒的产生原因计算机病毒的产生原因 计算机病毒的产生原因主要有计算机病毒的产生原因主要有4个方面:个方面:(1)恶作剧型恶作剧型 (2)报复心理型报复心理型 (3)版权保护型版权保护型 (4)特殊目的型特殊目的型 4.计算机病毒具有有如下的基本特征:(1)传染性 传染性是所有病毒程序都具有的一大基本特征。通过传染,病毒就可以扩散,病毒程序通过修改磁盘扇区信息或文件内容并把自身嵌入到其中的方法达到病毒的传染和扩散,被嵌入的程序叫被称为宿主程序。(2)破坏性 大多计算机病毒在发作时候都具有不同程序的破坏性,有时干扰计算机系统的正常工作,有的
7、严重消耗系统资源(例如不断地复制自身,消耗内存和硬盘资源等),而严重的则直接修改和删除磁盘数据或文件内容、破坏操作系统正常运行甚至直接损坏计算机硬件等。(3)隐蔽性 计算机病毒的隐蔽性表现在两个方面,一是结果的隐蔽性,大多数病毒在进行传染时的速度极快,传染后也没有明显的结果显示,一般不易被人发现;二是病毒程序本身存在隐蔽性,一般的病毒程序都寄生于正常程序中,很难被发现,而一旦病毒发作出来,往往已经给计算机系统造成了不同程度的破坏。(4)寄生性 病毒程序嵌入到宿主程序之中,依赖于宿主程序的执行而生存。这就是计算机病毒的寄生性,病毒程序在侵入到宿主程序中后,一般对宿主程序进行一定的修改,宿主程序一
8、旦执行,病毒程序就被激活,从而可以进行自我复制和繁殖。(5)潜伏性 计算机病毒侵入系统后,一般不立即发作,而是具有一定的潜伏期,病毒不同其潜伏期的长短就不同,有的潜伏期为几个星期,又有的潜伏期甚至长达几年,在潜伏期中病毒程序只要在可能的条件下就会不断地进行自我复制繁殖,一旦条件成熟,病毒就开始发作,发作的条件随病毒的不同而不同,这一条件是计算机病毒设计人员所设计的,病毒程序在运行时,每次都要检测这一发作条件是否成立。计算机病毒的分类计算机病毒的分类通常,计算机病毒可有下列分类方法:按破坏程度的强弱不同可分为良性病毒和恶性病毒;按传染方式的不同,计算机病毒可分为文件型病毒、引导型病毒和混合型病毒
9、;按连接方式的不同,计算机病毒可分为源码型病毒、嵌入型病毒、操作系统型病毒和外壳型病毒。良性病毒:良性病毒:是指那些只是为了表现自身,并不彻底破坏系统和数据,但会占用大量CPU时间,增加系统开销,降低系统工作效率的一类计算机病毒。该类病毒多为恶作剧者的产物,他们的目的不是为了破坏系统和数据,而是为了让使用染有病毒的计算机用户通过显示器看到或体会到病毒设计者的编程技术。恶性病毒:恶性病毒:是指那些一旦发作,就会破坏系统或数据,造成计算机系统瘫痪的一类计算机病毒。该类病毒危害极大,有些病毒发作后可能给用户造成不可挽回的损失。该类病毒有“黑色星期五”病毒、木马、蠕虫病毒等,它们表现为封锁、干扰、中断
10、输入输出,删除数据、破坏系统,使用户无法正常工作,严重时使计算机系统瘫痪。文件型病毒:文件型病毒:一般只传染磁盘上的可执行文件(如.com,.exe)。在用户运行染毒的可执行文件时,病毒首先被执行,然后病毒驻留内存伺机传染其他文件或直接传染其他文件。这类病毒的特点是附着于正常程序文件中,成为程序文件的一个外壳或部件。当该病毒完成了它的工作后,其正常程序才被运行,使人看起来仿佛一切都很正常。引导扇区型病毒:引导扇区型病毒:它会潜伏在软盘或硬盘的引导扇区或主引导记录中。如果计算机从被感染的软盘引导,病毒就会感染到引导硬盘,并把自己的代码调入内存。病毒可驻留在内存内并感染被访问的软盘。触发引导扇区型
11、病毒的典型事件是系统日期和时间。混合型病毒:混合型病毒:兼有以上两种病毒的特点,既传染引导区,又传染文件,因此扩大了这种病毒的传染途径。当染有该类病毒的磁盘用于引导系统或调用执行染毒文件时,病毒都会被激活。因此,在检查、清除该类病毒时,必须全面彻底地根治。源码型病毒:源码型病毒:较为少见,亦难以编写。它要攻击高级语言编写的源程序,在源程序编译之前插入其中,并随源程序一起编译、连接成可执行文件,这样刚刚生成的可执行文件便已经带毒了。嵌入型病毒:嵌入型病毒:可用自身代替正常程序中的部分模块,因此,它只攻击某些特定程序,针对性强。一般情况下也难以被发现,清除起来也较困难。操作系统型病毒:操作系统型病
12、毒:可用其自身部分加入或替代操作系统的部分功能。因其直接感染操作系统,因此病毒的危害性也较大,可能导致整个系统瘫痪。外壳型病毒:外壳型病毒:将自身附着在正常程序的开头或结尾,相当于给正常程序加了个外壳。大部份的文件型病毒都属于这一类。病毒的传播病毒的传播计算机病毒的传播有如下几个主要途径:1软盘2光盘3可移动磁盘4有线网络5无线网络我国计算机病毒最新疫情我国计算机病毒最新疫情概述(1)病毒制造进入“机械化”时代。(2)病毒制造的模块化、专业化特征明显。(3)病毒“运营”模式互联网化。(4)病毒对于新漏洞的利用更加迅速。(5)病毒与安全软件的对抗日益激烈。计算机病毒疫情统计和分析2008年年度十
13、大病毒:(1)机器狗系列病毒。(2)AV终结者病毒系列。(3)在线网络游戏病毒系列。(4)HB蝗虫系列木马。(5)扫荡波病毒。(6)QQ大盗。(7)RPC盗号者。(8)伪QQ系统消息。(9)QQ幽灵。(10)磁碟机。2010年流行的十大计算机病毒:10、金锁9、QQLive伪装者 8、文件夹.EXE 7、我的照片 6、灰鸽子5、隐身猫4、RPCSS毒手-变种b 3、鬼影2、快播伪装者(极虎)1、广告木马 (详情请见文档2010年流行的十大计算机病毒)1.计算机病毒的概念计算机病毒的概念 计算机病毒的种类很多,但通过分析现有计算机病毒的种类很多,但通过分析现有的计算机病毒,发现几乎所有的计算机病
14、毒都的计算机病毒,发现几乎所有的计算机病毒都是由是由3 个部分组成即个部分组成即引导模块引导模块传播模块传播模块表现模块表现模块病毒的引导机制病毒的引导机制 计算机病毒的寄生对象:寄生对象主要有两种,一种是寄生在磁盘引导扇区;另一种是寄生在可执行文件(.EXE或.COM)中。这是由于不论是磁盘引导扇区还是可执行文件,它们都有获取执行权的可能,这样病毒程序寄生在它们的上面,就可以在一定条件下获得执行权。计算机病毒的寄生方式 计算机病毒的寄生方式有两种,一种是采用替代法;另一种是采用链接法。所谓替代法是指病毒程序用自己的部分或全部指令代码,替代磁盘引导扇区或文件中的全部或部分内容。所谓链接法则是指
15、病毒程序将自身代码作为正常程序的一部分与原有正常程序链接在一起,病毒链接的位置可能在正常程序的首部、尾部或中间,寄生在磁盘引导扇区的病毒一般采取替代法,而寄生在可执行文件中的病毒一般采用链接法。计算机病毒的引导过程计算机病毒的引导过程()驻留内存 病毒若要发挥其破坏作用,一般要驻留内存。为此就必须开辟所用内存空间或覆盖系统占用的部分内存空间。当然,也有部分病毒不驻留内存。()窃取系统控制权 在病毒程序驻留内存后,必须使有关部分取代或扩充系统的原有功能,并窃取系统的控制权。此后病毒程序依据其设计思想,隐蔽自己,等待时机,在条件成熟时,再进行传染和破坏。()恢复系统功能 病毒为隐蔽自己,驻留内存后
16、还要恢复系统,使系统不会死机,只有这样才能等待时机成熟后,进行传染和破坏的目的。病毒的传染机制病毒的传染机制计算机病毒的传染方式:主动传染、被动传染。以文件型病毒为例,阐述一下计算机病毒的传染具体过程。当用户执行被传染的.COM或.EXE可执行文件时,病毒驻入内存。一旦病毒驻入内存,便开始监视系统的运行。当它发现被传染的目标时,进行如下操作:(1)首先对运行的可执行文件特定地址的标识位信息进行判断是否已传染了病毒。(2)当条件满足,利用INT 13H将病毒链接到可执行文件的首部或尾部或中间,并存入磁盘中。(3)完成传染后,继续监视系统的运行,试图寻找新的攻击目标。病毒的触发机制 可触发性是病毒
17、的攻击性和潜伏性之间的调整杠杆,可以控制病毒传染和破坏的频度,兼顾杀伤力和潜伏性。计算机病毒在传染和发作之前,往往要判断某些特定条件是否满足,满足条件则传染或发作,否则不传染或不发作或只传染不发作,这个条件就是计算机病毒的触发条件。病毒采用的触发条件主要有以下几种:(1)以时间为为触发条件:早期的病毒通常选择在某一特定日期或某一时间为触发机制,一旦日期与病毒预设日期符合,病毒则开始发作。典型的如CIH病毒,在每月的26日发作。(2)利用系统漏洞触发:一些病毒利用操作系统漏洞作为发作机制。如求职信病毒,只要用户电脑存在IFRAME漏洞,则无需运行附件,只需预览邮件病毒就可以发作。(3)诱骗用户点
18、击触发:如今多数网络病毒已经不以时间为触发条件,大多数蠕虫病毒通过发送一些带有诱骗性的邮件,将自身隐藏在附件中,伪装成一个图片或一个文档的形式,诱使电脑用户点击运行,一旦被点击病毒立即发作。(4)网页浏览触发:如今最让人头疼的非木马莫属,而网页木马又在其中扮演着重要的角色。通过在网页中加入脚本语言而挂马,当用户访问挂有木马的网页,就会自动运行病毒程序。(5)击键和鼠标触发:有些病毒会监视用户的击键动作,当检测到某个特定键时,病毒被激活。键盘触发包括击键次数触发、组合键触发、热启动触发等。此外,一些木马病毒利用操作系统漏洞,监控鼠标动作,一旦发现鼠标有拖放操作时,病毒就被下载到本地并发作。(6)
19、启动系统触发。一些病毒被下载到本地后,并不马上发作,当用户再次启动计算机时,则随操作系统一起运行。(7)访问磁盘次数触发:病毒对磁盘I/O访问的次数进行计数,以此作为触发条件。(8)调用中断功能触发:对中断调用次数计数,以此作为触发条件。(9)cpu型号/主板型号触发:病毒能识别运行环境的CPU型号/主板型号,以预定CPU型号/主板型号做触发条件,这种病毒的触发方式相对较少见。典型计算机病毒分析典型计算机病毒分析(1)引导型病毒)引导型病毒 引导型病毒是利用操作系统的引导模块放在某个固定的位置,并且控制权的转交方式是以物理位置为依据,而不是以操作系统引导的内容为依据。因而病毒占据该物理位置可获
20、得控制权,而将真正的引导区内容转移或替换,待病毒程序执行后,再将控制权交给真正的引导区内容,使得这个带病毒的系统看似正常运转,而病毒已隐藏在系统中并伺机传染发作。现在的杀毒软件基本上都可以发现引导型病毒。(2)文件型病毒)文件型病毒 文件型病毒的传染方式 文件型病毒的检测:常用的办法借助于杀毒软件,杀毒软件检测的基本思路是:在一个文件的特定位置(如文件尾),查找病毒的特定标识(如一串连续的某个字母),如果存在,则认为该文件被病毒传染。这种检测病毒的方法称为“特征标识匹配法”,它一次可以检查磁盘上的所有可执行文件。清除文件中的病毒一般应按照以下步骤进行:(1)分析病毒与被传染文件之间的连接方式(
21、跳转指令、修改中断向量等)。(2)确定病毒程序是驻留在文件的首部还是尾部,并找到病毒程序的开始和结束位置,把被传染文件的主要部分还原。(3)恢复被传染文件的头部参数。(4)把恢复后的内容写到文件中。文件长度要变短一些,只要把文件的正常内容写到文件中,病毒体就从文件中剥离出来。(3)宏病毒)宏病毒 宏病毒是一种寄生在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。宏病毒的原理:以Word宏病毒为例,一旦病毒宏侵入Word,它就会替代原有的正常宏,如FileOpen、FileSave、FileSaveAs和 F
22、ilePrint等等,并通过这些宏所关联的文件操作功能获取对文件交换的控制。当某项功能被调用时,相应的病毒宏就会纂夺控制权,实施病毒所定义的非法操作,包括传染操作、表现操作以及破坏操作等等。宏病毒的预防:(1)将常用的Word模板文件改为只读属性,可防止Word系统被传染。(2)将自动执行宏功能禁止掉,即使有宏病毒存在,但无法被激活,也无法发作传染、破坏。(4)脚本病毒 脚本病毒通常是网页脚本代码编写的恶意代码,脚本病毒的前缀一般是Script。脚本病毒的共有特性是使用脚本语言编写,通过网页进行传播,如红色代码(Script.Redlof)脚本病毒还会有如下前缀:VBS、JS(表明是何种脚本编
23、写的)。VBS病毒是用VB Script编写而成,该脚本语言功能非常强大,它们利用Windows系统的开放性特点,通过调用一些现成的Windows对象、组件,可以直接对文件系统、注册表等进行控制,功能非常强大。脚本病毒从触发机制上来讲属于被动触发,因此防御脚本病毒最好的方法是不访问带毒的文件或者网页。(5)蠕虫病毒)蠕虫病毒 蠕虫病毒的前缀是:Worm,最初的蠕虫得名是因为在DOS环境下,蠕虫发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。蠕虫病毒主要的破坏方式是大量的复制自身,然后在网络中传播,严重的占用有限的网络资源,最终引起整个网络的瘫痪,使用户不能通过网络进行正
24、常的工作。蠕虫病毒常见的传播方式有两种:一是利用系统漏洞传播。蠕虫病毒利用计算机系统的设计缺陷,通过网络主动的将自己扩散出去。二是利用电子邮件传播。蠕虫病毒将自己隐藏在电子邮件中,随电子邮件扩散到整个网络中,这也是个人计算机被感染的主要途径。震荡波(Worm.Sasser)病毒 是蠕虫病毒的一个典型代表。震荡波病毒发作时,在本地开辟后门,监听TCP 5554端口,作为FTP服务器等待远程控制命令,黑客可以通过这个端口窃取用户机器的文件和其他信息。同时,病毒开辟128个扫描线程,以本地IP地址为基础,取随机IP地址,疯狂的试探连接445端口,试图利用Windows的LSASS 中存在一个缓冲区溢
25、出漏洞进行攻击,一旦攻击成功会导致对方机器感染此病毒并进行下一轮的传播,攻击失败也会造成对方机器的缓冲区溢出,导致对方机器程序非法操作以及系统异常等。1特征代码法特征代码法 2校验和法校验和法 3行为监测法行为监测法 4软件模拟法软件模拟法 1特征代码法特征代码法 特征码技术是反病毒技术中最基本的技术,也是反病毒软件普遍采用的方法,是基于已知病毒的静态反病毒技术。反病毒研究人员通过对病毒样本的分析,提取病毒中具有代表性的数据串写入反病毒软件的病毒库。当反病毒软件查毒时发现目标文件中的代码与反病毒软件病毒库中的特征码相符合时,就认为该文件含毒并对其进行清除。特征码技术具有低误报率、高准确性、高可
26、靠性等优势,其技术机理和执行流程也非常成熟。特征码技术固有的弊端也是明显的,其“截获反应升级”的流程使其滞后于病毒的出现,也不能发现和清除未知病毒。2、基于虚拟机的反病毒技术 “虚拟机反病毒技术”即是在电脑中创造一个虚拟CPU环境,将病毒在虚拟环境中激活,根据其行为特征,从而判断是否是病毒。这个技术主要用来应对加壳和加密的病毒。3、行为监视法 病毒传染文件时,常常有一些不同于正常程序的行为。行为监视法就是引入一些人工智能技术,通过分析检查对象的逻辑结构,将其分为多个模块,分别引入虚拟机中执行并监测,从而查出使用特定触发条件的病毒。4、CRC校验和检查法 CRC扫描的原理是计算磁盘中的实际文件或
27、系统扇区的CRC值(检验和),这些CRC值被杀毒软件保存到自己的数据库中,在运行杀毒软件时,用备份的CRC值与当前计算的值比较,这样就可以知道文件是否已经修改或被病毒传染。解压缩与去壳 病毒隐藏自身的方法还有加壳和压缩两种方法。加壳是通过一系列的数学运算,将可执行程序或动态链接文件的编码进行改变,以达到缩小程序体积或加密程序编码的目的。病毒有时候会隐藏在压缩包内部,如果一个杀毒软件没有解压缩的能力就不可能查杀压缩包内的病毒。与病毒相关的几个概念陷门(trap door):程序中的秘密入口点,知道陷门的人可以通过这样的入口点绕过正常的安全检查机制逻辑炸弹(logic bomb):内嵌在合法程序中
28、的条件代码特洛伊木马(Trojan horses):木马程序可以被用于进行直接或者间接地达到未授权访问资源的目的蠕虫(worms):通过网络进行传播细菌(bacteria):不停地复制自身 现在的计算机病毒已经综合了这些概念,所有现在的防病毒软件也往往综合了相应的对策。病毒与黑客技术的结合也使得防病毒的任务更加艰巨,最终,病毒与网络安全紧密地结合了起来,防火墙也是防毒墙。1、木马的概念、木马的概念 计算机网络世界的木马是一种能够在受害者毫无察觉的情况下渗透到系统的程序代码,在完全控制了受害系统后,能进行秘密的信息窃取或破坏。它与控制主机之间建立起连接,使得控制者能够通过网络控制受害系统,它的通
29、信遵照TCP/IP协议,它秘密运行在对方计算机系统内,像一个潜入敌方的间谍,为其他人的攻击打开后门,这与战争中的木马战术十分相似,因而得名木马程序。2、木马的产生、木马的产生 木马是从Unix平台上产生出来,在Windows操作系统上“发扬光大”的。最早的Unix木马是运行在服务器后台的一个小程序,伪装成Unix的login登录过程。若用户登录一台被植入了木马程序的计算机,木马将劫持登录过程,向用户提供一个与正常登录界面一样的输入窗口,骗用户输入。在得到用户名和口令之后,木马就会把它存放起来,然后把真正的登录进程调出来。这时用户看到登录界面第二次出现了,这与通常的密码错误的现象是一样的,于是用
30、户再次输入信息而进入系统。这样在用户毫无察觉的情况下密码就被保存在硬盘的某个地方了。3、木马的分类、木马的分类 木马程序技术发展至今,己经经历了4代。第一代,即是简单的密码窃取,发送等。第二代木马,在技术上有了很大的进步,冰河可以说为是国内木马的典型代表之一。第三代木马在数据传输技术上,又做了不小的改进,出现了ICMP等类型的木马,利用畸形报文传递数据,增加了查杀的难度。第四代木马在进程隐藏方面,做了大的改动,采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入DLL线程。或者挂接PSAPI,实现木马程序的隐藏,甚至在Windows NT/2000下,都达到了良好的隐藏效果。根据木马程序对计
31、算机的具体动作方式,可以把现在的木马程序分为以下几类:(1)远程控制型:远程控制型木马是现今最广泛的特洛伊木马.这种木马起着远程监控的功能,使用简单,只要被控制主机联入网络,并与控制端客户程序建立网络连接,控制者就能任意访问被控制的计算机。这种木马在控制端的控制下可以在被控主机上做任意的事情,比如键盘记录,文件上传/下载,截取屏幕,远程执行等。这种类型的木马比较著名的有BO(Back Orifice)和国产的冰河等。(2)密码发送型:密码发送型木马的目的是找到所有的隐藏密码,并且在受害者不知道的情况下把它们发送到指定的信箱。大多数这类木马程序不会在每次Windows系统重启时都自动加载,它们大
32、多数使用25端口发送电子邮件。(3)键盘记录型:键盘记录型木马非常简单,它们只做一种事情,就是记录受害者的键盘敲击,并且在LOG文件里进行完整的记录。这种木马程序随着Windows系统的启动而自动加载,并能感知受害主机在线,且记录每一个用户事件,然后通过邮件或其他方式发送给控制者。(4)毁坏型:大部分木马程序只是窃取信息,不做破坏性的事件,但毁坏型木马却以毁坏并且删除文件为己任。它们可以自动删除受控主机上所有的.dll,.ini或.exe文件,甚至远程格式化受害者硬盘,使得受控主机上的所有信息都受到破坏。总而言之,该类木马目标只有一个就是尽可能的毁坏受感染系统,致使其瘫痪。(5)FTP型:FT
33、P型木马打开被控主机系统的21号端口(FTP服务所使用的默认端口),使每一个人都可以用一个FTP客户端程序,不要密码地连接到受控制主机系统,并且可以进行最高权限的文件上传和下载,窃取受害系统中的机密文件。4、木马与其他攻击程序除了木马攻击程序外,还有其它的攻击程序,如:病毒与远程控制等。远程控制程序可以用作远程网络管理,以保证网络和计算机操作系统的安全。有的远程控制程序为了不让用户发现而被删除,就采用了一些办法使自己隐蔽起来,使远程控制程序本身附着在某些Windows程序上,以增强驻留系统的可靠性。正是由于隐藏功能,才使远程控制程序变得可怕起来,也使远程控制程序,病毒,和木马程序之间的区别变得
34、越来越模糊。1)木马与远程控制的区别 木马程序和远程控制软件都是一种在远端计算机之间建立起连接,使远程计算机能够通过网络控制本地计算机系统,它们的通信都遵循TCP/IP协议。木马与远程控制软件的最大区别就是木马具有隐蔽性而远程控制软件没有。例如,国内血蜘蛛,国外的PCAnywhere等著名的远程控制软件,其服务器端在目标主机系统上运行时,目标机器上会出现很醒目的标志,而木马程序的服务器端在运行时总是应用各种手段隐藏自己2)木马与病毒的区别 从计算机病毒的定义及其特征可以看出,木马程序与病毒的区别是十分明显的。最基本的区别就在于病毒有很强的传染性及寄生性,而木马程序则不同。但是,现在木马技术和病
35、毒的发展相互借鉴,也使得木马具有了更好的传播性,病毒具有了远程控制能力,例如,”红色代码”已具备了远程控制的雏形。这同样使得木马程序和病毒的区别日益模糊。5、木马的特征(1)隐蔽性:隐蔽性是木马的首要特征。这一点与病毒特征是很相似的,木马类软件的SERVER端程序在被控主机系统上运行时会使用各种方法来隐藏自己。例如大家所熟悉的修改注册表和.ini文件以便被控系统在下一次启动后仍能载入木马程式,它不是自己生成一个启动程序,而是依附在其它程序之中。有些把服务器端和正常程序绑定成一个程序的软件,叫做exe-binder绑定程式,可以让人在使用绑定的程式时,木马也入侵了系统。(2)自动运行性:木马程序
36、通过修改系统配置文件,如:win.ini,system.ini,winstart.bat或注册表的方式,在目标主机系统启动时自动运行或加载。(3)欺骗性:木马程序要达到其长期隐蔽的目的,就必需借助系统中已有的文件,以防用户发现,它经常使用的是常见的文件名或扩展名,如dllwinsysexplorer等字样,或者仿制一些不易被人区别的文件名,如字母“l”与数字“1”、字母”o”与数字”0”,更有甚者干脆就借用系统文件中己有的文件名,只不过它保存在不同路径之中。(4)自动恢复性:很多木马程序中的功能模块不再是由单一的文件组成,而是具有多重备份,可以相互恢复。系统一旦被植入木马,想利用删除某个文件来
37、进行清除是不太可能的。更先进的木马利用线程监控技术使得木马的清除更加困难。比如国内有人开发的木马系统就采用了线程监控技术,使得该木马系统的抗查杀能力得到很大提高。(5)功能的特殊性:通常的木马的功能都是十分特殊的,除了普通的文件操作以外,还有些木马具有搜索Cache中的口令、设置口令、扫描目标机器的IP地址、进行键盘记录、远程注册表的操作、以及锁定鼠标等功能。6、木马的功能 木马程序的功能主要有:(1)自动搜索被植入木马的主机系统,以及上线即时通知;(2)对被控主机的系统资源进行管理,如:复制文件,删除文件,查看文件,以及上传/下载文件等;(3)远程执行程序;(4)跟踪监视对方屏幕,截取屏幕并
38、回传;(5)直接屏幕鼠标控制,键盘输入控制;(6)锁定鼠标,键盘和屏幕;(7)远程重启计算机及关闭计算机;(8)监视对方任务且可以终止对方任务;(9)击键记录;(10)获取系统相关信息;(11)注册表操作。包括修改键值,添加键,删除键等;(12)硬盘共享。6.5、木马隐藏技术 隐蔽性是木马监控系统的重要特性之一,也是木马监控系统能够在目标主机系统上生存下去的主要特性之一。木马的隐蔽可分为两种:一是木马进程的隐藏,二是木马系统客户端与服务器端之间通信的隐藏。木马服务器端的隐藏,可以是伪隐藏,也可以是真隐藏。所谓伪隐藏,就是指木马进程仍然存在,只不过是让它在进程列表里消失。真隐藏则是让木马程序彻底
39、的消失,不以一个进程或者服务的方式存在。1、木马伪隐藏技术 对于伪隐藏,实现比较容简单,只要把木马系统的服务器端程序注册为一个服务就可以实现进程的隐藏。一个进程当以服务的方式工作的时候,它将会在后台进行工作,不会出现在任务列表中,当按下Ctrl+Alt+Del组合键时,也看不到这个进程。但是,在Windows NT/2000下,仍然可以通过服务管理器检查任何的服务程序是否被启动运行,所以通过注册成服务实现的隐藏其实是伪隐藏,并且只能在Windows 9X平台下才能使用。2、DLL木马技术在WINDOWS2000系统下,可执行文件主要是Exe和Com文件,这两种文件在运行时都有一个共同点,会生成
40、一个独立的进程,寻找特定进程是发现木马的方法之一(无论手动还是防火墙),随着入侵检测软件的不断发展,关联进程和SOCKET己经成为流行的技术(例如著名的FPort就能够检测出任何进程打开的TCP/UDP端口),假设一个木马在运行时被检测软件同时查出端口和进程,基本上认为这个木马的隐藏已经完全失败。在Windows 2000/NT下正常情况用户进程对于系统管理员来说都是可见的,要想做到木马的进程隐藏,有两个办法,第一是让系统管理员看不见(或者视而不见)木马进程:第二是不使用进程。让系统管理员看不见进程的方法就是进行进程列表欺骗。在Windows中有多种方法能够看到进程的存在:PSAPI(Proc
41、ess Status API),PDH(Performance Data Helper),ToolHelp API,通过欺骗用户和入侵检测软件用来查看进程的函数(例如截获相应的API调用,替换返回的数据),就完全实现进程隐藏。第二种方法是不使用进程,而采用Windows系统的DLL(Dynamic Link Library),DLL文件是Windows的基础,因为所有的Windows API函数都是在DLL中实现的。DLL文件没有程序逻辑,是由多个功能函数构成,它并不能独立运行,一般都是由进程加载并调用的。因为DLL文件不能独立运行,所以在进程列表中并不会出现DLL。假设有一个木马DLL,并且
42、通过别的进程来加载运行它,那么无论是入侵检测软件还是进程列表中,都只会出现那个进程而并不会出现木马DLL,如果那个进程是可信进程(例如资源管理器Explorer.exe),那么木马DLL作为那个进程的一部分,也将成为被信赖的一员而为所欲为,这就是所谓的DLL木马技术,这项技术的关键就是把木马DLL(含有木马函数的DLL)加载到另外的进程空间内,一般都是可信的系统进程,就像上文所说的资源管理器进程Explorer.exe。另外一种比较高级的方法就是系统DLL替换。这种方法的工作原理就是使用木马DLL替换常用的系统DLL文件,通过函数转发器将正常的调用转发给原DLL截获并处理特定的消息。例如,WI
43、NDOWS的Socket 1.x的函数都是存放在wsock32.dll中的,那么可以使用木马wsock32.dll文件,替换掉原先的wsock32.dll(将原先的DLL文件重命名为wsockold.dll),木马wsock32.d11只做两件事,一是如果遇到不认识的调用,就直接转发给wsockold.dll(使用函数转发器forward);二是遇到特殊的请求(事先约定的)就解码并处理。这种技术是比较古老的技术,因此微软也对此做了相当的防范,在Win2K的system32目录下有一个dllcache的目录,这个目录中存放着大量的DLL文件(也包括一些重要的exe文件),这个是微软用来保护DLL
44、的法宝,一旦操作系统发现被保护的DLL文件被篡改(数字签名技术),它就会自动从dllcache中恢复这个文件。3、通信安全性技术 木马客户端和服务器端的通信安全性技术隐含两部分:通信的隐蔽性及通信的可靠性技术。通信隐藏技术从某种意义上来说也是木马隐藏技术的一部分。1)隐蔽通信技术 所谓隐蔽通信就是在用户毫无感知的情况下完成木马客户端与服务器端的数据交互。首先明确用户在什么情况下可以察觉与外界的异常数据交流,用户感知到非正常数据流通的征兆无非通过以下几种途径:利用Netstat查看连接,并有异常连接处于ESTABLISHED状态。当安装有防火墙时,防火墙有异常连接警报。用网络嗅探器(如:TCPD
45、UMP,Sniffer)分析数据流的时候,有异常数据流通过。早期的木马使用的最简单,最广泛使用的一种通信方式就是利用TCP协议,服务端监听,客户端主动连接。这种通信方案是服务端在宿主机器上开一个TCP端口,然后等待客户端的连接,在通过对客户端的认证后,客户端就可以控制服务端了。由于是建立在TCP协议基础上,所以通信的可靠性是得到保证的。但是通信的安全性却很成问题。首先,使用像fport、tcpview pro这样的工具可以很容易的发现在某一端口上侦听的进程,以及进程对应的可执行文件。其次,在安装了防火墙的机器上,当客户端连接到服务端时,很容易引起防火墙报警。渗透防火墙进行隐蔽通信的方法讨论以下
46、2种:(1)反向连接技术:反向连接技术主要是利用了两层信任关系:对通信对端主机的信任以及对通信进程的信任。利用反向连接进行工作时服务器不需在一个固定的端口进行监听,而是客户端在某个端口监听,服务器端发起主动连接。即使设置了包过滤防火墙,也由于是内部主机主动向外部主机连接,而轻易放行。为了更好的麻痹宿主机,客户端监听的端口一般是21、80、23这种任何人都要访问的端口。在建立连接后利用Netstat进行查看连接时看到的是如下形式的连接:LoalHost:Port Client:80 ESTABLISHED 给用户的感觉就好像是自己正访问外部的Web网站,很具有欺骗性。当然有的防火墙在连接建立的时
47、候会发出警告,如:应用程序xxxxx试图访问xxx.xxx.xxx.xxx通过端口80 为了更具有欺骗性,可利用木马动态插入技术,把木马进程插入到一个可信任的系统进程(如Explore:进程)中,一般的用户都会把防火墙的过滤规则设置为默认允许Explorer进程访问外部网络而不产生警告信息。(2)隐蔽通道技术:任何利用非正常的通信手段在网络中传递信息的通道都可以称之为网络隐蔽通道。在TCP/IP协议中,有很多设计得不严密的地方,可以用来秘密地隐藏信息。特别是在协议头的格式定义中,有很多域都有潜在的危险性。在TCP/IP的头结构中,有很多域在通常情况下,根本不用或者很少用,这就给建立隐蔽通道,秘
48、密传输信息提供了很好的场所。至少有两种途径可以被利用,建立隐蔽通道:一是利用Option域和传输数据时通常很少用到的域,二是利用传输数据时必须强制填充的域。这些实现技术原理都是相通的很容易利用TCP/IP协议族中的其他协议实现类似的隐蔽通道。4、植入传播技术、植入传播技术(1)把木马文件转换成为其他文件格式:例如:BMP文件的文件头有54个字节,只要在EXE的文件头上加上这54个字节,IE就会把该EXE文件当成BMP图片下载下来。由于这样作出来的图片是花的,为了隐蔽性更好,可以在网页中加入如下代码:这样就把图片加到网页里了。在用IE浏览后,IE会把图片自动下载到IE临时目录中,同时利用一个Ja
49、vaScript文件在目标系统的硬盘上创建一个VBS文件,并在注册表添加启动项,利用VBS文件找到BMP文件,调用debug还原EXE文件,最后,运行该程序完成木马植入。(2)利用Internet Explorer Object Data Remote Execution Vulnerability漏洞进行木马植入:eEye Digital Security在2003年8月20号公布了这个漏洞,该漏洞是由于HTML中的OBJECT的DATA标签引起的。对于DATA所标记的URL,IE会根据服务器返回的HTTP头中的Content-Type来处理数据,也就是说如果HTTP头中返回的是applic
50、ation/hta等。那么该文件就能够执行,而不管IE的安全级别多高。(3)在Word文档中加入木马程序:这种植入木马的方法就是新建一个DOC文件,然后利用VBA写一段特定的代码,把文档保存为newdoc.doc,然后把木马程序与这个DOC文件放在同一个目录下,运行如下命令:copy/b xxxx.doc+xxxxx.exe newdoc.doc把这两个文件合并在一起(在Word文档末尾加入木马程序),只要点击这个所谓的Word文件就会植入木马。6.6 木马清除与防范 木马入侵是一种突发事件,会使系统突然陷入不安全的紧急状态,需要计算机安全人员在高度的压力下利用有限的时间和资源适当地做出反应。