第四章计算机恶意代码防治恶意是一种程序,它通过把代码在不被察觉的代码情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。恶意代码按传播方式,可以分成以下几类:1.计算机病毒:一组能够进行自我传播、需要用户干预来触发执行的破坏性程序或代码。如CIH、爱虫、新欢乐时光、求职信、恶鹰、rose…2.蠕虫:一种可以自我复制的完全独立的程序,它的传播不需要借助被感染主机中的其他程序。蠕虫的自我复制不像其他的病毒,它可以自动创建与它的功能完全相同的副本,并在没人干涉的情况下自动运行。蠕虫是通过系统存在的漏洞和设置的不安全性来进行入侵的,它的自身特性可以使它以及快的速度传输。如红色代码、SQL蠕虫王、冲击波、震荡波、熊猫烧香。3.特洛伊木马:是指一类看起来具有正常功能,但实际上隐藏着很多用户不希望功能的程序,通常由控制端和被控制端两端组成。一些木马程序会通过覆盖系统中已经存在的文件的方式存在于系统之中,同时它可以携带恶意代码,还有一些木马会以一个软件的身份出现,但它实际上是一个窃取密码的工具。这种病毒通常不容易被发现。如冰河、网络神偷、灰鸽子……4.后门:使得攻击者可以对系统进行非授权访问的一类程序。5.恶意软件:是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。6.移动代码:是指能够从主机传输到客户端计算机上并执行的代码,它通常是作为病毒,蠕虫,或是特洛伊木马的一部分被传送到客户计算机上的。另外,移动代码可以利用系统的漏洞进行入侵,例如非法的数据访问和盗取root帐号。通常用于编写移动代码的工具包括Javaapplets,ActiveX,JavaScript,和VBScript。二、计算机病毒1.计算机病毒概述计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。2.病毒的分类按破坏性分⑴良性病毒⑵恶性病毒⑶极恶性病毒⑷灾难性病毒按传染方式分⑴引导区病毒:主要通过软盘在操作系统中传播,感染引导区,蔓延到硬盘,并能感染到硬盘中的“主引导记录”。⑵文件病毒:文件型病毒是文件感染者,也称为寄生病毒。它运行在计算机存储器中,通常感染扩展名为COM、EXE、SYS等类型的文件。⑶混合型病毒:具有引导区病毒和文件病毒两者的特点。⑷宏病毒:是指用BASIC语言编写的病毒程序寄存在Office文档上的宏代码。宏病毒影响对文档的各种操作。3.计算机病毒的组成结构计算机病毒的种类很多,但通过分析现有的计算机病毒,发现几乎所有的计算机病毒都是由三个部分组成即:引导模块、传播模块、表现模块。4.病毒的网络传播途径(1)感染本地文件、局域网共享目录中的文件或者复制副本到对方目录。(2)寻找Email地址,大量发送垃圾邮件(附件携带病毒体)。(3)通过网络共享软件进行传播。(4)建立后门程序,通过后门进行传播。(5)通过IRC进行传播,通过QQ、MSN等即时软件进行传播。(6)通过U盘、磁盘、光盘等其他磁介质进行传播。(7)利用系统软件的漏洞进行传播。5.计算机病毒特征(1)传染性:是指计算机病毒的再生机制,即病毒具有自己复制到其他程序中的特性。带有病毒的程序或存储介质,锁定目标或将自身代码插入其中,与系统中的程序连接在一起,达到自我繁殖的目的。感染的程序有可能被运行,再次感染其他程序。感染的磁盘、移动硬盘等存储介质被移到其他计算机中,或者通过网络,只要有一台计算机感染,若不及时处理,病毒就会迅速扩散。(2)潜伏性:计算机的潜伏性是指计算机感染病毒后并非是马上发作,而是要潜伏一段时间。从病毒感染某个计算机到该病毒发作为止的这段时期,称为病毒的潜伏期。病毒之间潜伏性的差异很大。有的病毒非常外露,每次病毒程序运行的时候都企图进行感染,但这种病毒编制技巧比较简单,很容易被人发现,因此往往以高效率的感染率来换取较短的生命周期;有的病毒却不容易被发现,它通过降低感染发作的频率来隐蔽自己,该病毒侵入系统后不动声色,看上去近似偶然的机会进行感染,来获得较大的感染范围,与外属性病毒相比,这些隐蔽性的病毒更可怕。著名的“黑色星期五”病毒是每逢13日是星期五时发作.CIH是每月26日发作。这些病毒在平时隐蔽的很好,只有发作日才会露出本来面目。(3)破坏性:破坏是计算机病毒最终的表现,只要病毒入侵计算机系统,就会对系统及应用程序产生不同程度的影响。可能修改系统配置信息、删除数据、破坏硬盘分区表、引导记录等,甚至格式化磁盘、导致系统崩溃,对数据造成不可挽回的破坏。(4)隐蔽性:病毒为了隐藏,病毒代码设计的非常短小精悍,一般只有几百个字节或lKB大小,病毒瞬间就可以将短短的代码附加到正常的程序中或磁盘较隐蔽的地方,使入侵不易察觉。其设计微小的目的也是尽量使病毒代码与受传染的文件或程序融合在一起,具有正常程序的一些特性,隐藏在正常程序中,在不经过特殊代码分析的情况下,病毒程序与正常程序是不容易区别开来的。(5)触发性:计算机病毒因某个事件的出现,诱发病毒进行感染或进行破坏,称为病毒的触发。每个病毒都有自己的触发条件,这些条件可能是时间、日期、文件类型或某些特定的数据。如果满足了这些条件,病毒就进行感染和破坏,如果没有满足条件,则继续潜伏。(6)衍生性:衍生性表现在两个方面,有些计算机病毒本身在传染过程中会通过一套变换机制,产生出许多与源代码不同的病毒;另一方面,有些攻击者人为地修改病毒源代码,这两种方式都有可能产生不同于原病毒代码的病毒——变种病毒,使人们防不胜防。(7)寄生性:寄生性是指病毒对其他文件或系统进行一系列的非法操作,使其带有这种病毒,并成为该病毒的一个新传染源。(8)不可预见性:病毒相对于防毒软件永远是超前的,理论上讲,没有任何杀毒软件能将所有的病毒清除。6.引导区病毒引导型病毒是一种在ROMBIOS之后,系统引导时出现的病毒,它先于操作系统,依托的环境是BIOS中断服务程序。引导型病毒是利用操作系统的引导模块放在某个固定的位置,并且控制权其转交方式是以物理位置为依据,而不是以操作系统引导区的内容为依据,因而病毒占据该物理位置即可获得控制权,而将真正的引导区内容搬家转移或替换,待病毒程序执行后,将控制权交给真正的引导区内容,使得这个带病毒的系统看似正常运转,而病毒已隐藏在系统中并伺机传染、发作。7.文件病毒文件型病毒通常感染带有.com、.exe、.drv、.ovl、.sys等扩展名的可执行文件。它们在每次激活时,感染文件把自身复制到其他可执行的文件中,并能在内存中保存很长时间,直至病毒被激活。当用户调用感染了病毒的可执行文件时,病毒首先会运行,然后病毒驻留在内存中感染其他文件。这种病毒的特点是依附于正常文件,成为程序文件的一个外壳。8.复合型病毒这类病毒既感染文件、又感染磁盘引导区与主引导区。能破坏计算机主板芯片的CIH毁灭者病毒属于该类病毒。CIH是一个台湾大学生编写的一个病毒,当时把它放置在大学的BBS站上,1998年传入大陆,发作日期是每个月的26日该病毒是第一个直接攻击计算机硬件的病毒,破坏性极强,发作时破坏计算机FlashBIOS芯片中的系统程序,导致主板与硬盘数据的损坏。1999年4月26日,CIH病毒在中国、俄罗斯、韩国等地大规模发作,仅大陆就造成数十万计算机瘫痪,大量硬盘数据被破坏。9.宏病毒宏译自英文单词Macro宏是微软公司为其office软件包设计的一个特殊功能,软件设计者为了让人们在使用软件进行工作时,避免一再地重复相同的动作而设计出来的一种工具它利用简单的语法,把常用的动作写成宏,当工作时,就可以直接利用事先编好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动化。office中的word和Excel都有宏。word便为大众事先定义一个共用的通用模板(Normal.dot),里面包含了基本的宏。只要启动Word,就会自动运行Normal.dot文件。如果在word中重复进行某项工作,可用宏使其自动执行。word提供了两种创建宏的方法:宏录制器和VisualBasic编织器。宏将一系列的word命令和指令组合在一起,形成一个命令,以实现任务执行的自动化。在默认情况下,word特定存贮在Normal模板中,以便所有的word文档均能使用,这一特点几乎为所有的宏病毒所利用。如果撰写了有问题的宏,感染了通用模板(Normal.dot),那么只要执行word,这个受感染的通用模板便会传播到之后所编织的文档中去,如果其他用户打开了感染病毒的文档,宏病毒又会转移到其他的计算机上。目前,人们所说的宏病毒主要指word和Excel宏病毒。10.脚本病毒脚本是指从一个数据文档中进行一个任务的一组指令,这一点与宏相似。与宏相同脚本也是嵌入到一个静态文件中,它们的指令是由一个应用程序而不是计算机处理运行,目前大多数是使用web浏览器,如Netscape和IE都具有脚本功能,能够运行嵌入在网页中的脚本。脚本病毒是使用应用程序和操作系统中的自动脚本功能复制和传播的,例如,当在一个具有脚本功能的浏览器中打开一个HTML文件时,一个嵌入在HTMI、文件中的脚本病毒就会自动执行。脚本病毒主要通过电子邮件和网页传播。三、网络蠕虫1.网络蠕虫概述网络蠕虫是一种智能化、自动化并综合网络攻击、密码学和计算机病毒技术,不要计算机使用者干预即可运行的攻击程序或代码。它会扫描和攻击网络上存在系统漏洞的节点主机,通过网络从一个节点传播到另外一个节点。网络蠕虫具有以下特征:(1)主动攻击:从搜索漏洞,到利用搜索结果攻击系统,到攻击成功后复制副本,整个流程全由蠕虫自身主动完成。(2)利用软件漏洞:蠕虫利用系统的漏洞获得被攻击的计算机系统的相应权限,使之进行复制和传播过程成为可能。(3)造成网络拥塞:在传播的过程中,蠕虫需要判断其它计算机是否存活;判断特定应用服务是否存在;判断漏洞是否存在等等,这将产生大量的网络数据流量。同时出于攻击网络的需要,蠕虫也可以产生大量恶意流量,当大量的机器感染蠕虫时,就会产生巨大的网络流量,导致整个网络瘫痪。(4)留下安全隐患:大部分蠕虫会搜集、扩散、暴露系统敏感信息(如用户信息等),并在系统中留下后门。(5)行踪隐蔽:蠕虫的传播过程中,不需要用户的辅助工作,其传播的过程中用户基本上不可察觉。(6)反复性:即使清除了蠕虫留下的任何痕迹,如果没有修补计算机系统漏洞,网络中的计算机还是会被重新感染。(7)破坏性:越来越多的蠕虫开始包含恶意代码,破坏被攻击的计算机系统,而且造成的经济损失数目越来越大。2.网络蠕虫工作机制网络蠕虫的工作机制分为三个阶段:信息收集、攻击渗透、现场处理(1)信息收集:按照一定的策略搜索网络中存活的主机,收集目标主机的信息,并远程进行漏洞的分析。如果目标主机上有可以利用的漏洞则确定为一个可以攻击的主机,否则放弃攻击。(2)攻击渗透:通过收集的漏洞信息尝试攻击,一旦攻击成功,则获得控制该主机的权限,将蠕虫代码渗透到被攻击主机。(3)现场处理:当攻击成功后,开始对被攻击的主机进行一些处理工作,将攻击代码隐藏,为了能使被攻击主机运行蠕虫代码,还要通过注册表将蠕虫程序设为自启动状态;可以完成它想完成的任何动作,如恶意占用CPU资源;收集被攻击主机的敏感信息,可以危害被感染的主机,删除关键文件。3.网络蠕虫扫描策略网络蠕虫扫描越是能够尽快地发现被感染主机,那么网络蠕虫的传播速度就越快。(1)随机扫描:随机选取某一段IP地址,然后对这一地址段上的主机扫描。由于不知道哪些主机已经感染蠕虫,很多扫描是无用的。这一方法的蠕虫传播速度较慢。但是随着蠕虫的扩散,网络上存在大量的蠕虫时,蠕虫造成的网络流量就变得非常巨大。(2)选择扫描:选择性随机扫描将最有可能存在漏洞主机的地址集作为扫描的地址空间。所选的目标地址按照一定的算法随机生成。选择性随机扫描算法简单,容易实现,若与本地优先原则结合则能达到更好的传播效果。红色代码和“