一.何谓恶意代码
恶意代码是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。按传播方式,恶意代码可以分成五类:病毒,木马,蠕虫,移动代码和复合型病毒.
1, 病毒
病毒一般都具有自我复制的功能,同时,它们还可以把自己的副本分发到其他文件、程序或电脑中去。病毒一般镶嵌在主机的程序中,当被感染文件执行操作的时候,病毒就会自我繁殖(例如:打开一个文件,运行一个程序,点击邮件的附件等)。由于设计者的目的不同,病毒也拥有不同的功能,一些病毒只是用于恶作剧,而另一些则是以破坏为目的,还有一些病毒表面上看是恶作剧病毒,但实际上隐含破坏功能。病毒可以分为以下几类:感染文件病毒、感染引导区病毒、宏病毒和恶作剧邮件。
* 感染文件病毒:感染文件病毒会把自己加载到可执行文件中,例如:WORD、电子表格、电脑游戏。当病毒感染了一个程序后,它就会自我复制去感染系统中的其他程序,或者是其他通过共享使用了被感染文件的系统。此外,病毒还会驻留在系统内存中,以至于一旦有新的程序运行就会被病毒感染。病毒的另一种感染方式是通过修改程序运行时所执行文件的顺序而不是修改程序运行的文件本身。在这种情况下,被感染的程序在执行的时候将先运行病毒,而后才运行自己的文件。目前,jerusalem和cascade是这类病毒中比较著名的。
* 感染引导区病毒:感染引导区病毒可以感染硬盘或是可移动存储设备(例如软盘)的主引导区。引导区是存储器最开始的一段空间,它用来放置存储器中数据的结构定义等信息。此外,引导区中还包含引导程序,它在主机启动时运行来引导操作系统启动。主引导区是硬盘上一段独立的空间,只有用基本输入/输出系统可以定位和加载它的引导程序。当带病毒磁盘的内容在系统启动时被读取,病毒代码就会被执行;软盘等可移动存储设备即使不是启动盘,它也可以感染系统。感染引导区病毒具有极好的隐藏能力,并且可以对电脑造成极大的破坏,甚至可以达到无法恢复的地步。电脑如果感染这种病毒,一般会出现以下症状:电脑在启动时显示错误信息提示,或者是无法启动。Michelangelo和Stoned是这种病毒的典型例子。
* 宏病毒:宏病毒是目前比较流行也是比较危险的一种病毒。宏病毒把自己加载到WORD和电子表格等文件中。这种病毒就像它的名字所说的,它是利用宏语言编写的应用程序来运行和繁殖的。目前许多受欢迎的软件(例如:Microsoft Office)都会自动利用宏语言来编译和反复执行作业。宏病毒就会利用这一点来传播恶意代码。由于用户经常把带有宏程序的文件共享,所以宏病毒的传播速度是非常快的。当宏病毒感染文件的时候,它也会把该文件用于创建和打开操作的临时文件感染。因此,被宏病毒感染的文件创建出的临时文件也是被感染的文件。Marker和Melissa是这种病毒的典型例子。
* 恶作剧邮件:这种病毒就像它的名字提到的一样,是一种假冒的病毒警告。它的内容一般是恐吓用户,表示将要对用户电脑造成极大的破坏;或是欺骗用户电脑即将被病毒感染,警告他们立即采取紧急措施。尽管这种病毒发布的信息是非法的,但是它还是像真正的病毒一样传播广泛。通常这种病毒的传播是通过一些无辜的用户,他们希望发送这个信息提醒其他人防范病毒的侵袭。通常,恶作剧邮件并不会造成什么危害,但是有的恶作剧邮件会指使用户修改系统设置或是删除某些文件,这将会影响系统的安全性。阅读恶作剧邮件会浪费用户时间,而且一些恶作剧邮件会发送到一些技术支持的部门,警告他们将会有新的病毒威胁网络安全或是寻求帮助。这种病毒传播比较广泛的有Good Times和Bud Frogs。
2, 特洛伊木马
这类病毒是根据古希腊神话中的木马来命名的,这种程序从表面上看没有什么,但是实际上却隐含着恶意意图。一些木马程序会通过覆盖系统中已经存在的文件的方式存在于系统之中,同时它可以携带恶意代码,还有一些木马会以一个软件的身份出现(例如:一个可供下载的游戏),但它实际上是一个窃取密码的工具。这种病毒通常不容易被发现,因为它一般是以一个正常的应用的身份在系统中运行的。特洛伊木马可以分为以下三个模式:
* 通常潜伏在正常的程序应用中,附带执行独立的恶意操作
* 通常潜伏在正常的程序应用中,但是会修改正常的应用进行恶意操作
* 完全覆盖正常的程序应用,执行恶意操作
大多数木马都可以使木马的控制者登录到被感染电脑上,并拥有绝大部分的管理员级控制权限。为了达到这个目的,木马一般都包括一个客户端和一个服务器端客户端放在木马控制者的电脑中,服务器端放置在被入侵电脑中,木马控制者通过客户端与被入侵电脑的服务器端建立远程连接。一旦连接建立,木马控制者就可以通过对被入侵电脑发送指令来传输和修改文件。通常木马所具备的另一个是发动DdoS(拒绝服务)攻击。
还有一些木马不具备远程登录的功能。它们中的一些的存在只是为了隐藏恶意进程的痕迹,例如使恶意进程不在进程列表中显示出来。另一些木马用于收集信息,例如被感染电脑的密码;木马还可以把收集到的密码列表发送互联网中一个指定的邮件帐户中。
3, 蠕虫
是一种可以自我复制的完全独立的程序,它的传播不需要借助被感染主机中的其他程序。蠕虫的自我复制不象其他的病毒,它可以自动创建与它的功能完全相同的副本,并在没人干涉的情况下自动运行。蠕虫是通过系统存在的漏洞和设置的不安全性(例如:设置共享)来进行入侵的。它的自身特性可以使它以及快的速度传输(在几秒中内从地球的一端传送到另一端)。其中比较典型的有Blaster和SQL Slammer。
4, 移动代码
移动代码是能够从主机传输到客户端计算机上并执行的代码,它通常是作为病毒,蠕虫,或是特洛伊木马的一部分被传送到客户计算机上的。另外,移动代码可以利用系统的漏洞进行入侵,例如非法的数据访问和盗取root帐号。通常用于编写移动代码的工具包括Java applets,ActiveX,javascript,和VBScript。
5.复合型病毒
复合型病毒就是恶意代码通过多种方式传播。著名的Nimda蠕虫实际上就是复合型病毒的一个例子,它通过四种方式传播:
* E-Mail:如果用户在一台存在漏洞的电脑上打开一个被Nimda感染的邮件附件,病毒就会搜索这台电脑上存储的所有邮件地址,然后向它们发送病毒邮件。
* 网络共享:Nimda会搜索与被感染电脑连接的其他电脑的共享文件,然后它以NetBIOS作为传送工具,来感染远程电脑上的共享文件,一旦那台电脑的用户运行这个被感染文件,那么那台电脑的系统也将会被感染。
* Web服务器:Nimda会搜索Web服务器,寻找Microsoft IIS存在的漏洞,一旦它找到存在漏洞的服务器,它就会复制自己的副本过去,并感染它和它的文件。
* Web终端:如果一个Web终端访问了一台被Nimda感染的Web服务器,那么它也将会被感染。
除了以上这些方法,复合型病毒还会通过其他的一些服务来传播,例如直接传送信息和点对点的文件共享。人们通常将复合型病毒当成蠕虫,同样许多人认为Nimda是一种蠕虫,但是从技术的角度来讲,它具备了病毒,蠕虫和移动代码它们全部的特征。