本指南将术语"恶意软件"用作一个集合名词,来指代故意在计算机系统上执行恶意任务的病毒、蠕虫和特洛伊木马。
那么,计算机病毒或蠕虫的确切含义是什么?它们和特洛伊木马之间有哪些不同之处?防病毒应用程序是仅对蠕虫和特洛伊木马有效,还是仅对病毒有效?
所有这些问题都起源于令人迷惑且通常被曲解的恶意代码世界。现有恶意代码的数目和种类繁多,因此很难为每个恶意代码类别提供一个准确的定义。
对于笼统的防病毒讨论,可使用以下简单的恶意软件类别定义:
• 特洛伊木马。该程序看上去有用或无害,但却包含了旨在利用或损坏运行该程序的系统的隐藏代码。特洛伊木马程序通常通过没有正确说明此程序的用途和功能的电子邮件传递给用户。它也称为特洛伊代码。特洛伊木马通过在其运行时传递恶意负载或任务达到此目的。
• 蠕虫。蠕虫使用自行传播的恶意代码,它可以通过网络连接自动将其自身从一台计算机分发到另一台计算机上。蠕虫会执行有害操作,例如,消耗网络或本地系统资源,这样可能会导致拒绝服务攻击。某些蠕虫无须用户干预即可执行和传播,而其他蠕虫则需用户直接执行蠕虫代码才能传播。除了复制,蠕虫也可能传递负载。
• 病毒病毒代码的明确意图就是自行复制。病毒尝试将其自身附加到宿主程序,以便在计算机之间进行传播。它可能会损害硬件、软件或数据。宿主程序执行时,病毒代码也随之运行,并会感染新的宿主,有时还会传递额外负载。
对于本指南的用途而言,负载是一个集合术语,表示恶意软件攻击在已感染计算机上执行的操作。各种恶意软件类别的上述定义使得可以通过一个简单的流程图来说明这些类别之间的不同之处。下图说明了可用来确定程序或脚本是否属于这些类别的元素:
通过此图,可以区分对于本指南用途而言的每种常见恶意代码类别。但是,了解单个攻击所引入的代码可能适合一个或多个类别是非常重要的。这些类型的攻击(称作混合威胁,包含使用多种攻击方法的多个恶意软件类型)会以极快的速度传播。攻击方法是恶意软件可用于发起攻击的例程。由于这些原因,混合威胁特别难以应对。
以下部分对每种恶意软件类别进行了更为详细的解释,以帮助说明每种类别的一些主要元素。
特洛伊木马
特洛伊木马不被认为是计算机病毒或蠕虫,因为它不自行传播。但是,病毒或蠕虫可用于将特洛伊木马作为攻击负载的一部分复制到目标系统上,此过程称为"发送"。特洛伊木马的通常意图是中断用户的工作或系统的正常运行。例如,特洛伊木马可能在系统中提供后门,使黑客可以窃取数据或更改配置设置。
在提及特洛伊木马或特洛伊类型活动时,还有两个经常使用的术语,其识别方法和解释如下:
• 远程访问特洛伊。某些特洛伊木马程序使黑客或数据窃取者可以远程地控制系统。此类程序称为"远程访问特洛伊"(RAT) 或后门。RAT
的示例包括 Back Orifice、Cafeene 和 SubSeven。
有关此类特洛伊木马的详细说明,请参阅 Microsoft TechNet 网站上的文章"Danger:Remote Access Trojans",网址为
http://www.microsoft.com/technet/security/topics/virus/virusrat.mspx(英文)。
• Rootkit。Rootkit 是软件程序集,黑客可用来获取计算机的未经授权的远程访问权限,并发动其他攻击。这些程序可能使用许多不同的
技术,包括监视击键、更改系统日志文件或现有的系统应用程序、在系统中创建后门,以及对网络上的其他计算机发起攻击。Rootkit 通常被
组织到一组工具中,这些工具被细化为专门针对特定的操作系统。第一批 Rootkit 是在 20 世纪 90 年代被识别出来的,当时 Sun 和 Linux
操作系统是它们的主要攻击对象。目前,Rootkit 可用于许多操作系统,其中包括 Microsoft? Windows? 平台。
注意:请注意,RAT 和某些包含 Rootkit 的工具具有合法的远程控制和监视使用。但是,这些工具引入的安全性和保密性问题给使用它们的环境带来了整体风险。
蠕虫
如果恶意代码进行复制,则它不是特洛伊木马,因此为了更精确地定义恶意软件而要涉及到的下一个问题是:"代码是否可在没有携带者的情况下进行复制?"即,它是否可以在无须感染可执行文件的情况下进行复制?如果此问题的答案为"是",则此代码被认为是某种类型的蠕虫。
大多数蠕虫试图将其自身复制到宿主计算机上,然后使用此计算机的通信通道来进行复制。例如,Sasser 蠕虫依赖服务的安全漏洞最初感染一个系统,然后使用已感染系统的网络连接来试图进行复制。如果已安装最新的安全更新(来停止感染),或已在环境中启用防火墙来阻止蠕虫所用的网络端口(来停止复制),则攻击将会失败。
病毒
如果恶意代码将其自身的副本添加到文件、文档或磁盘驱动器的启动扇区来进行复制,则认为它是病毒。此副本可以是原始病毒的直接副本,也可以是原始病毒的修改版本。有关详细信息,请参阅本章后面的"防护机制"部分。正如前面所提及的,病毒通常会将其包含的负载(例如,特洛伊木马)放置在一个本地计算机上,然后执行一个或多个恶意操作(例如,删除用户数据)。但是,仅进行复制且不具有负载的病毒仍是恶意软件问题,因为该病毒自身在其复制时可能会损坏数据、消耗系统资源并占用网络带宽。
恶意软件的特征
每类恶意软件可以表现出来的各种特征通常非常类似。例如,病毒和蠕虫可能都会使用网络作为传输机制。然而,病毒会寻找文件以进行感染,而蠕虫仅尝试复制其自身。以下部分说明了恶意软件的典型特征。
目标环境
恶意软件试图攻击宿主系统时,可能需要许多特定的组件,攻击才能成功。下面是一个典型示例,说明恶意软件在攻击宿主系统时所需的
组件:
• 设备。某些恶意软件将一种设备类型作为专门的攻击目标,例如,个人计算机、Apple Macintosh 计算机甚至个人数字助理 (PDA),但是请注意,PDA 恶意软件目前非常少见。