| 网站首页 | 资料中心 | 安盟论坛 | 
您现在的位置: 安全联盟 >> 资料中心 >> 木马病毒 >> 文章正文 用户登录 新用户注册
[推荐][二]深层病毒防护指南 第 2 章:恶意软件威胁           ★★★ 【字体:
[二]深层病毒防护指南 第 2 章:恶意软件威胁
作者:佚名    文章来源:本站原创    点击数:    更新时间:2008-3-14    

简介

《深层病毒防护指南》在本章中简要介绍了计算机病毒的演变,从最初相对简单的病毒到如今存在的各种各样的恶意软件。本章定义了已知恶意软件类型和技术的分类,同时提供了与恶意软件传播及其给各种规模的组织所带来的风险有关的信息。

由这个主题不断发展的本质所决定,本指南并不旨在记录和解释所有恶意软件元素及其可能的变体。然而,本指南的确在尝试了解包含恶意软件的各种元素的本质方面迈出了意义重大的第一步。本指南还讨论并定义了恶意软件之外的其他内容,如间谍软件(在没有获取用户相应许可的情况下就在计算机上执行某些活动的程序)、垃圾邮件(未经请求的电子邮件)和广告软件(集成到软件中的广告)。

返回页首返回页首

计算机病毒的演变

20 世纪 80 年代早期出现了第一批计算机病毒。这些早期的尝试大部分是试验性的,并且是相对简单的自行复制的文件,它们仅在执行时显示简单的恶作剧而已。

注意: 值得注意的是,提供病毒演变的明确历史几乎是不可能的。恶意软件的非法本质意味着,作恶者关注的是如何隐藏恶意代码的来源。本指南介绍病毒研究人员和防病毒行业普遍认可的恶意软件历史。

1986 年,报道了攻击 Microsoft? MS-DOS? 个人计算机的第一批病毒;人们普遍认为 Brain 病毒是这些计算机病毒中的第一种病毒。然而,1986 年出现的其他首批病毒还包括 Virdem(第一个文件病毒)和 PC-Write(第一个特洛伊木马病毒,此程序看上去有用或无害,但却包含了旨在利用或损坏运行该程序的系统的隐藏代码。)在 PC-Write 中,特洛伊木马程序伪装成一个同名的流行共享软件:字处理器应用程序。

随着更多的人开始研究病毒技术,病毒的数量、被攻击的平台数以及病毒的复杂性和多样性都开始显著提高。病毒在某一时期曾经着眼于感染启动扇区,然后又开始感染可执行文件。1988 年出现了第一个 Internet 蠕虫病毒(一种使用自行传播恶意代码的恶意软件,它可以通过网络连接,自动将其自身从一台计算机分发到另一台计算机)。Morris Worm 导致 Internet 的通信速度大大地降低。为了应对这种情况以及病毒爆发次数的不断增长,出现了 CERT Coordination Center(网址:http://www.cert.org/),通过协调对病毒爆发和事件的响应来确保 Internet 的稳定性。

1990 年,网上出现了病毒交流布告栏,成为病毒编写者合作和共享知识的平台。此外,还出版了第一本关于病毒编写的书籍,并且开发出了第一个多态病毒(通常称为 Chameleon 或 Casper)。多态病毒是一种恶意软件,它使用不限数量的加密例程以防止被检测出来。多态病毒具有在每次复制时都可以更改其自身的能力,这使得用于"识别"病毒的基于签名的防病毒软件程序很难检测出这种病毒。此后不久,即出现了 Tequila 病毒,这是出现的第一个比较严重的多态病毒攻击。接着在 1992 年,出现了第一个多态病毒引擎和病毒编写工具包。

自那时起,病毒就变得越来越复杂:病毒开始访问电子邮件通讯簿,并将 其自身发送到联系人;宏病毒将其自身附加到各种办公类型的应用程序文件并攻击这些文件;此外还出现了专门利用操作系统和应用程序漏洞的病毒。电子邮件、对等 (P2P) 文件共享网络、网站、共享驱动器和产品漏洞都为病毒复制和攻击提供了平台。在已感染系统上创建的后门(由恶意软件引入的秘密或隐藏的网络入口点)使得病毒编写者(或黑客)可以返回和运行他们所选择的任何软件。本指南上下文中的黑客是试图非法访问计算机系统或网络的程序员和计算机用户。本章的下一部分将详细讨论恶意软件。

有些病毒附带其自身的嵌入式电子邮件引擎,可以使已感染的系统直接通过电子邮件传播病毒,而绕过此用户的电子邮件客户端或服务器中的任何设置。病毒编写者还开始认真地设计病毒攻击的结构并使用社会工程,来开发具有可信外观的电子邮件。这种方法旨在获取用户的信任,使其打开附加的病毒文件,来显著地增加大规模感染的可能性。

恶意软件演变的同时,防病毒软件也处在不断的发展之中。但是,当前大多数防病毒软件几乎完全依赖于病毒签名或恶意软件的识别特性来识别潜在有害的代码。从一个病毒的初始版本到此病毒的签名文件被防病毒供应商广泛分发之间,仍然存在存活机会。因此,现在发布的许多病毒在最初的数天内感染速度极快,之后一旦分发了应对病毒的签名文件,感染速度则迅速降低。

返回页首返回页首

什么是恶意软件?

本指南将术语"恶意软件"用作一个集合名词,来指代故意在计算机系统上执行恶意任务的病毒、蠕虫和特洛伊木马。

那么,计算机病毒或蠕虫的确切含义是什么?它们和特洛伊木马之间有哪些不同之处?防病毒应用程序是仅对蠕虫和特洛伊木马有效,还是仅对病毒有效?

所有这些问题都起源于令人迷惑且通常被曲解的恶意代码世界。现有恶意代码的数目和种类繁多,因此很难为每个恶意代码类别提供一个准确的定义。

对于笼统的防病毒讨论,可使用以下简单的恶意软件类别定义:

特洛伊木马。该程序看上去有用或无害,但却包含了旨在利用或损坏运行该程序的系统的隐藏代码。特洛伊木马程序通常通过没有正确说明此程序的用途和功能的电子邮件传递给用户。它也称为特洛伊代码。特洛伊木马通过在其运行时传递恶意负载或任务达到此目的。

蠕虫。蠕虫使用自行传播的恶意代码,它可以通过网络连接自动将其自身从一台计算机分发到另一台计算机上。蠕虫会执行有害操作,例如,消耗网络或本地系统资源,这样可能会导致拒绝服务攻击。某些蠕虫无须用户干预即可执行和传播,而其他蠕虫则需用户直接执行蠕虫代码才能传播。除了复制,蠕虫也可能传递负载。

病毒病毒代码的明确意图就是自行复制。病毒尝试将其自身附加到宿主程序,以便在计算机之间进行传播。它可能会损害硬件、软件或数据。宿主程序执行时,病毒代码也随之运行,并会感染新的宿主,有时还会传递额外负载。

对于本指南的用途而言,负载是一个集合术语,表示恶意软件攻击在已感染计算机上执行的操作。各种恶意软件类别的上述定义使得可以通过一个简单的流程图来说明这些类别之间的不同之处。下图说明了可用来确定程序或脚本是否属于这些类别的元素:

图 2.1 恶意代码决策树

图 2.1 恶意代码决策树

通过此图,可以区分对于本指南用途而言的每种常见恶意代码类别。但是,了解单个攻击所引入的代码可能适合一个或多个类别是非常重要的。这些类型的攻击(称作混合威胁,包含使用多种攻击方法的多个恶意软件类型)会以极快的速度传播。攻击方法是恶意软件可用于发起攻击的例程。由于这些原因,混合威胁特别难以应对。

以下部分对每种恶意软件类别进行了更为详细的解释,以帮助说明每种类别的一些主要元素。

特洛伊木马

特洛伊木马不被认为是计算机病毒或蠕虫,因为它不自行传播。但是,病毒或蠕虫可用于将特洛伊木马作为攻击负载的一部分复制到目标系统上,此过程称为"发送"。特洛伊木马的通常意图是中断用户的工作或系统的正常运行。例如,特洛伊木马可能在系统中提供后门,使黑客可以窃取数据或更改配置设置。

在提及特洛伊木马或特洛伊类型活动时,还有两个经常使用的术语,其识别方法和解释如下:

远程访问特洛伊。某些特洛伊木马程序使黑客或数据窃取者可以远程地控制系统。此类程序称为"远程访问特洛伊"(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 恶意软件目前非常少见。

操作系统。恶意软件可能需要特殊的操作系统才会有效。例如,20 世纪 90 年代后期出现的 CIH 或 Chernobyl 病毒仅攻击运行 Microsoft Windows? 95 或 Windows? 98 的计算机。

应用程序。恶意软件可能需要在目标计算机上安装特定的应用程序,才能传递负载或进行复制。例如,2002 出现的 LFM.926 病毒仅在 Shockwave Flash (.swf) 文件可在本地计算机上执行时才能进行攻击。

携带者对象

如果恶意软件是病毒,它会试图将携带者对象作为攻击对象(也称为宿主)并感染它。目标携带者对象的数量和类型随恶意软件的不同而大不相同,以下列表提供了最常用的目标携带者的示例:

可执行文件。这是通过将其自身附加到宿主程序进行复制的"典型"病毒类型的目标对象。除了使用 .exe 扩展名的典型可执行文件之外,具有以下扩展名的文件也可用作此用途:.com、.sys、.dll、.ovl、.ocx 和 .prg。

脚本。将脚本用作携带者目标文件的攻击,这些文件使用诸如 Microsoft Visual Basic? Script、JavaScript、AppleScript 或 Perl Script 之类的脚本语言。此类文件的扩展名包括:.vbs、.js、.wsh 和 .prl。

。这些携带者是支持特定应用程序(例如,字处理器、电子表格或数据库应用程序)的宏脚本语言的文件。例如,病毒可以在 Microsoft Word 和 Lotus Ami Pro 中使用宏语言来生成许多效果,从恶作剧效果(在文档四处改变单词或更改颜色)到恶意效果(格式化计算机的硬盘驱动器)。

启动扇区。计算机磁盘(硬盘和可启动的可移动媒体)上的特定区域(例如,主启动记录 (MBR) 或 DOS 启动记录)也可被认为是携带者,因为它们可以执行恶意代码。当某个磁盘被感染时,如果使用该磁盘来启动其他计算机系统,将会复制病毒。

注意:如果病毒同时将文件和启动扇区作为感染目标,可称其为"多部分"病毒。

传输机制

攻击可以使用一个或多个不同方法,在计算机系统之间尝试并复制。本部分提供了与恶意软件使用的几个比较常见的传输机制有关的信息。

可移动媒体。计算机病毒和其他恶意软件最初的、并且可能也是最多产的传送器(至少到当前为止)是文件传输。此机制开始于软盘,然后移动到网络,目前正在寻找新的媒体,例如,通用串行总线 (USB) 设备和火线。感染速度并不像基于网络的恶意软件那样快,但安全威胁却始终存在,而且难以完全消除,因为系统之间需要交换数据。

网络共享一旦为计算机提供了通过网络彼此直接连接的机制,就会为恶意软件编写者提供另一个传输机制,而此机制所具有的潜力可能会超出可移动媒体的能力,从而可以传播恶意代码。由于在网络共享上实现的安全性级别很低,因此会产生这样一种环境,其中恶意软件可以复制到大量与网络连接的计算机上。这在很大程度上替代了使用可移动媒体的手动方法。

网络扫描。恶意软件的编写者使用此机制来扫描网络,以查找容易入侵的计算机,或随意攻击 IP 地址。例如,此机制可以使用特定的网络端口将利用数据包发送到许多 IP 地址,以查找容易入侵的计算机进行攻击。

对等 (P2P) 网络。要实现 P2P 文件传输,用户必须先安装 P2P 应用程序的客户端组件,该应用程序将使用一个可以通过组织防火墙的网络端口,例如,端口 80。应用程序使用此端口通过防火墙,并直接将文件从一台计算机传输到另一台。这些应用程序很容易在 Internet 上获取,并且恶意软件编写者可以直接使用它们提供的传输机制,将受感染的文件传播到客户端硬盘上。

电子邮件。电子邮件已成为许多恶意软件攻击所选择的传输机制。电子邮件可以很容易地传送到几十万人,而恶意软件作恶者又无须留下自己的计算机,这使得电子邮件成为一种非常有效的传输方式。使用此方式哄骗用户打开电子邮件附件要相对容易一些(使用社会工程技术)。因而,许多最多产的恶意软件爆发已使用电子邮件作为它们的传输机制。有两种使用电子邮件作为传输机制的基本类型的恶意软件:

邮件程序。这种类型的恶意软件通过使用宿主上安装的邮件软件(例如,Microsoft Outlook? Express),或使用其自身的内置简单邮件传输协议 (SMTP) 引擎,将其自身作为邮件发送到限定数量的电子邮件地址。

大量邮件程序。这种类型的恶意软件使用宿主上安装的邮件软件或其自身的内置 SMTP 引擎,在受感染的计算机上搜索电子邮件地址,然后将其自身作为邮件大量发送到这些地址。

远程利用。恶意软件可能会试图利用服务或应用程序中的特定安全漏洞来进行复制。此行为通常可以在蠕虫中见到;例如, Slammer 蠕虫利用 Microsoft SQL Server? 2000 中的漏洞。此蠕虫生成了一个缓冲区溢出,允许一部分系统内存被可在和 SQL Server 服务相同的安全上下文中运行的代码覆盖。缓冲区溢出这种情况的出现,是因为向缓冲区添加的信息多于其可以存储的信息量。攻击者可能会利用此漏洞来占用系统。Microsoft 在 Slammer 发布的数月之前即识别并修复了此漏洞,但是由于有少数系统未被更新,使得此蠕虫得以传播。

负载

一旦恶意软件通过传输到达了宿主计算机,它通常会执行一个称为"负载"的操作,负载可以采用许多形式。在本部分中识别的某些常见负载类型包括:

后门。这种类型的负载允许对计算机进行未经授权的访问。它可能提供完全访问权限,但也可能仅限于某些访问权限,例如,通过计算机上的端口 21 启用文件传输协议 (FTP) 访问。如果攻击可以启用 Telnet,黑客则可以将已感染计算机用作 Telnet 攻击在其他计算机上的临时区域。正如前面所述,后门有时也称为"远程访问特洛伊"。

数据损坏或删除。一种最具破坏性的负载类型应该是损坏或删除数据的恶意代码,它可以使用户计算机上的信息变得无用。此处恶意软件编写者具有两个选项:第一个选项是将负载设计为快速执行。尽管对于它所感染的计算机而言极具潜在破坏性,但是此恶意软件的设计会导致其很快被发现,从而减少了其复制操作不被发现的可能性。另一个选项是将负载在本地系统上(以特洛伊木马的形式)保留一段时间(有关其示例的信息,请参阅本章后面的"触发机制"部分),这样会使恶意软件在尝试传递负载之前进行传播,从而使用户警觉到它的存在。

信息窃取。一种特别令人担心的恶意软件负载类型是旨在窃取信息的负载。如果负载会损害宿主计算机的安全,则它可能会提供一种将信息传回恶意软件作恶者的机制。这种情况可以多种形式发生;例如,传输可以自动进行,从而使恶意软件可以很容易地获取本地文件或信息,例如,用户所按的键(以便获取用户名和密码)。另一种机制是在本地宿主上提供一种环境,使攻击者可以远程控制该宿主,或直接获取对系统上文件的访问权限。

拒绝服务 (DoS)。可以传递的一种最简单的负载类型是拒绝服务攻击。DoS 攻击是由攻击者发起的一种计算机化的袭击,它使网络服务超负荷或停止网络服务,如 Web 服务器或文件服务器。DoS 攻击的唯一目的是使特定服务在一段时间内不可用。

分布式拒绝服务 (DDoS)。这种类型的攻击一般使用已感染的客户端,而这些客户端通常完全不知道它们在此类攻击中的角色。DDoS 攻击是一种拒绝服务攻击,其中攻击者使用各种计算机上安装的恶意代码来攻击单个目标。攻击者使用此方法对目标造成的影响很可能会大于使用单个攻击计算机造成的影响。关于攻击怎样发生的语义根据攻击的不同而不尽相同,但是它们通常都涉及将大量数据发送到特定的宿主或网站,使其停止对合法通信的响应(或者无法响应)。这样会完全占用受害站点的可用带宽,并且会有效地使此站点脱机。

这种类型的攻击极难进行防护,因为应为此类攻击负责的宿主实际上其自身已成为不知情的受害者。DDoS 攻击通常由 bots(执行重复任务的程序)执行(例如,Internet 中继聊天 (IRC) Eggdrop bots),黑客可以使用 bots 通过 RC 通道来控制"受害"计算机。一旦这些计算机处于黑客的控制之中,它们就会成为"僵尸进程",并会在接到攻击者的命令之后影响目标,而计算机的所有者对此不会有任何察觉。

DoS 和 DDoS 方法都涉及到了许多不同的攻击技术,包括:

系统关闭。如果恶意软件可以关闭宿主系统或使其崩溃,则它可以成功地中断一项或多项服务。攻击宿主系统需要恶意软件找到应用程序的漏洞,或可以导致系统关闭的操作系统。

带宽充满。提供给 Internet 的大多数服务都通过带宽有限的网络连接进行链接,而网络又将它们连接到客户端。如果恶意软件编写者传递的负载使用虚假的网络通信填满带宽,则仅通过阻止客户端使其无法直接连接到服务即可生成 DoS。

网络 DoS。这种类型的负载试图使本地宿主可用的资源超负载。诸如微处理器和内存能力的资源因 SYN 洪水攻击而溢出;在此类攻击中,攻击者使用某个程序发送大量的 TCP SYN 请求,以填满服务器上挂起的连接队列,并拒绝来自宿主的合法网络通信和到宿主的合法网络通信。电子邮件炸弹攻击也通过填满存储资源来创建 DoS 攻击;在这种攻击中,过分庞大的电子邮件数据会发送到电子邮件地址,并试图中断电子邮件程序或使接收者无法再收到合法的信息。

服务中断。这种类型的负载也会导致 DoS。例如,如果域名系统 (DNS) 服务器上的攻击禁用了 DNS 服务,则此 DoS 攻击技术已经实现。但是,系统上的所有其他服务可能仍保持未感染状态。

触发机制

触发机制是恶意软件的一个特征,恶意软件使用此机制启动复制或负载传递。典型的触发机制包括以下内容:

手动执行。这种类型的触发机制只是执行由受害者直接执行的恶意软件。

社会工程。恶意软件通常使用某种形式的社会工程,来欺骗受害者手动执行恶意代码。这种方法可能相对简单,例如在大量邮件蠕虫中使用的那些方法,其中社会工程元素主要在电子邮件的主题字段中选择最有可能使受害者打开邮件的文本。 恶意软件编写者也可能使用电子邮件欺骗,以试图欺骗受害者并使其相信电子邮件来自可信源。欺骗是模拟网站或数据传输的行为,以使其看起来可信。例如,最早出现在 2003 年的原始 Dumaru 蠕虫修改了电子邮件的"收件人:"字段,使其错误地声称自己来自于 security@microsoft.com。(有关此特征的详细信息,请参阅本章中下一部分中的"恶作剧")。

半自动执行。这种类型的触发机制最初由受害者启动,之后则自动执行。

自动执行。这种类型的触发机制根本无须手动执行。恶意软件执行攻击,而无须受害者运行目标计算机上的任何恶意代码。

定时炸弹。这种类型的触发机制在一段时间之后执行操作。这段时间可能是自第一次执行感染或某个预先规定日期或日期范围之后的一段时间延迟。例如,MyDoom.B 蠕虫将仅在 2004 年 2 月 3 日对于 Microsoft.com 网站启动其负载例程,并仅在 2004 年 2 月 1 日对 SCO Group 网站启动其负载例程。然后,此蠕虫会在 2004 年 3 月 1 日停止所有复制,尽管此定时炸弹的后门组件在此时间之后仍处于激活状态。

条件。这种类型的触发机制使用某个预先确定的条件作为触发器来传递其负载。例如,一个重命名的文件、一组击键或一个启动的应用程序。使用此类触发器的恶意软件有时称为"逻辑炸弹"

防护机制

许多恶意软件示例使用某种类型的防护机制,来降低被发现和删除的可能性。以下列表提供了一些已被使用的技术的示例:

装甲。这种类型的防护机制使用某种试图防止对恶意代码进行分析的技术。这种技术包括检测调试程序何时运行并试图阻止恶意代码正常工作,或添加许多无意义的代码,使人很难判断恶意代码的用途。

窃取。恶意软件使用此类技术,通过截获信息请求并返回错误数据来隐藏其自身。例如,病毒可能会存储未受感染的启动扇区的图像,并在有人尝试查看受感染的启动扇区时显示此图像。1986 年,最早被人们知道的计算机病毒(称为"Brain")便使用了这种技术。

加密。使用此防护机制的恶意软件加密其自身或负载(有时甚至加密其他系统数据),以防止检测或数据检索。加密的恶意软件包含静态的解密例程、加密密钥和加密的恶意代码(其中包含加密例程)。执行时,恶意软件使用解密例程和密钥来解密恶意代码。然后,恶意软件创建其代码的副本,并生成新的加密密钥。它使用该密钥及其加密例程来加密自身的新副本,然后使用解密例程添加新的密钥来启动新副本。与多态病毒不同,加密恶意软件总是使用相同的解密例程,因此尽管密钥值(以及加密的恶意代码签名)通常在不同的感染之间进行更改,但防病毒软件也可以搜索静态的解密例程,来检测出使用此防护机制的恶意软件。

寡态。显示此特征的恶意软件使用加密防护机制进行自身防护,并且可以将加密例程更改为只能使用固定的次数(通常数目很小)。例如,可生成两个不同解密例程的病毒将被划分到寡态

多态。这种类型的恶意软件使用加密防护机制更改其自身,以免被检测出来,它通常采用如下方式:使用加密例程加密恶意软件自身,然后为每个变形提供不同的解密密钥。因此,多态恶意软件使用不限数量的加密例程来防止自身被检测出来。恶意软件复制时,解密代码中的一部分将被修改。根据特定的恶意代码,所执行的负载或其他操作可能使用加密,也可能不使用加密。通常情况下有一个变形引擎,它是生成随机加密例程的加密恶意软件的自包含组件。此引擎和恶意软件都将被加密,并且新的解密密钥会同它们一起传送。

返回页首返回页首

什么不是恶意软件?

有许多存在的威胁并不被认为是恶意软件,因为它们不是具有邪恶意图的计算机程序。但是,这些威胁对于一个组织而言仍具有安全和经济上的影响。因此,您可能希望了解您组织的 IT 基础结构和 IT 用户工作效率所面临的威胁。

玩笑软件

玩笑应用程序旨在生成一个微笑,或在最糟糕的情况下浪费某人的时间。这些应用程序自从人们开始使用计算机以来就一直存在。它们不是出于邪恶的目的而被开发的,而且很明白地标识为玩笑,因此对于本指南的用途而言,它们并不被认为是恶意软件。有许多玩笑应用程序的示例,从有趣的屏幕效果到逗人开心的动画或游戏,应有尽有。

恶作剧

通常情况下,欺骗某人为您做事要比编写软件使人在不知情的情况下做事容易。因此,在 IT 行业可以看到大量的恶作剧。

与其他形式的恶意软件一样,恶作剧也使用社会工程来试图欺骗计算机用户执行某些操作。但是,在恶作剧中并不执行任何代码;恶作剧者通常只尝试欺骗受害者。至今恶作剧已经采用了多种形式。但特别常见的一个示例为,某个电子邮件声称发现了一种新的病毒类型,并要您通过转发此邮件来通知您的朋友。这些恶作剧会浪费人们的时间,消耗电子邮件资源并占用网络带宽。

欺诈

实际上,违法者已经使用过各种通信形式(在这一次或那一次),试图欺骗人们执行会给其带来某些经济利益的操作。Internet、网站和电子邮件都不例外。一个比较常见的示例是,违法者发送电子邮件,试图欺骗收件人透露个人信息(例如,银行帐户信息),然后将这些信息用于非法用途。有一种特殊类型的欺诈称为"phishing"(发音同"fishing",也称为"品牌欺骗"或"carding")。

phishing 的示例包括发件人伪装知名公司(例如,eBay)试图获取用户帐户信息这种情况。Phishing 欺诈通常使用一个模仿某公司官方网站外观的网站。电子邮件用于将用户指向虚假站点,并欺骗用户输入其用户帐户信息,而这些信息将被保存并用于非法用途。这些案例类型应认真处理,并要报告给本地的法律执行机构。

垃圾邮件

垃圾邮件是未经请求的电子邮件,用于为某些服务或产品做广告。它通常被认做是讨厌的东西,但是垃圾邮件不是恶意软件。但是,所发送的垃圾邮件数量的飞速增长已经成为 Internet 基础结构的一个问题,这可导致员工工作效率的降低,因为他们每天必须费力查看并删除此类邮件。

术语"垃圾邮件"的来源尚在讨论之中,但是无论它的来源是什么,有一点是可以肯定的,那就是垃圾邮件已经成为 Internet 通信中最让人头痛的、长久存在的问题之一。许多人认为垃圾邮件问题如此严重,以至于它现在威胁到了世界各地的电子邮件通信的健康状况。但是,我们应该注意到,除了电子邮件服务器和防垃圾邮件软件所承担的负载之外,垃圾邮件实际上并不能复制或威胁某个组织 IT 系统的健康和运作。

恶意软件经常被垃圾软件的始发者(因此称为"垃圾邮件制造者")使用,以在宿主计算机上安装一个小型 SMTP 电子邮件服务器服务,然后通过该服务将垃圾邮件转发到另一个电子邮件收件人。

间谍软件

此类软件有时也称为"spybot"或"跟踪软件"间谍软件使用其他形式的欺骗性软件和程序,它们在没有获取用户相应许可的情况下即在计算机上执行某些活动。这些活动可以包括收集个人信息,以及更改 Internet 浏览器配置设置。除了令人讨厌之外,间谍软件还会导致各种问题,从降低计算机的总体性能到侵犯个人隐私。

分发间谍软件的网站使用各种诡计,使用户下载并将其安装在他们的计算机上。这些诡计包括创建欺骗性的用户体验,以及隐蔽地将间谍软件和用户可能需要的其他软件(例如,免费的文件共享软件)捆绑在一起。

广告软件

广告软件通常与宿主应用程序组合在一起,只要用户同意接受广告软件即可免费提供宿主应用程序。因为广告软件应用程序通常在用户接受说明应用程序用途的许可协议之后进行安装,因而不会给用户带来任何不快。但是,弹出式广告会非常令人讨厌,并且在某些情况下会降低系统性能。此外,有些用户原来并没有完全意识到许可协议中的条款,这些应用程序收集的信息可能会导致他们担心隐私问题。

注意: 尽管术语"间谍软件"和"广告软件"经常交替使用,但只有未经授权的广告软件才等同于间谍软件。为用户提供适当的通知、选择和控制的广告软件并不是欺骗性的,不应划分为间谍软件。还要注意到,声称执行特定功能(实际上执行其他任务)的间谍软件应用程序实际上起到了特洛伊木马的作用。

Internet Cookie

Internet Cookie 是由用户所访问的网站放置在用户计算机上的文本文件。Cookie 包含与用户相关的标识信息,并将该信息提供给网站,然后网站将这些信息(连同站点要保留的、与用户访问相关的任何其他信息)放置在用户计算机上。

Cookie 是合法工具,许多网站使用它们跟踪访问者的信息。例如,用户可能要在网上商店中购买商品,但是在将商品放置在网上购物车中后,他们可能由于某些原因要转到另一个网站。此商店可选择在用户计算机上的 Cookie 中保存关于购物车中有哪些商品的信息,这样当用户返回该站点后,商品仍在购物车中,并且已经准备好可供用户购买(如果他/她希望完成购买)。

人们认为,网站开发人员只能检索他们创建的 Cookie 中所存储的信息。此方法通过阻止这些站点的开发人员之外的其他人员访问用户计算机上的 Cookie,应该可以确保用户的隐私。

不幸的是,据悉某些网站的开发人员在用户不知情的情况下使用 Cookie 收集信息。某些人可能会欺骗用户或违反政策。例如,他们可能跨多个不同的网站跟踪 Web 冲浪习惯,而不通知用户。然后,站点开发人员可以使用此信息自定义用户在网站上看到的广告,这将被视为一种侵犯隐私的行为。这种目标广告形式以及其他形式的"Cookie 滥用"很难识别,从而使得确定是否在系统上阻止它们、什么时间以及怎样阻止它们变得非常困难。另外,可接受级别的共享信息随计算机用户的不同而不同,因此很难创建一个能满足环境中所有计算机用户的需求的"防 Cookie"程序。

返回页首返回页首

防病毒软件

防病毒软件专门用于防护系统,使其免受来自恶意软件的威胁。Microsoft 强烈推荐使用防病毒软件,因为它会保护您的计算机系统,使其免受任何形式的恶意软件(而不仅仅是病毒)的侵害。

防病毒软件可以使用许多技术来检测恶意软件。本部分将讨论某些技术的工作原理,包括:

签名扫描。目前大多数防病毒软件程序都使用此技术,它通过搜索目标(宿主计算机、磁盘驱动器或文件)来查找表示恶意软件的模式。这些模式通常存储在被称为"签名文件"的文件中,签名文件由软件供应商定期更新,以确保防病毒扫描器能够尽可能多地识别已知的恶意软件攻击。此技术的主要问题是,防病毒软件必须已更新为应对恶意软件,之后扫描器才可识别它。

启发式扫描。此技术通过查找通用的恶意软件特征,来尝试检测新形式和已知形式的恶意软件。此技术的主要优点是,它并不依赖于签名文件来识别和应对恶意软件。但是,启发式扫描具有许多特定问题,包括:

错误警报。此技术使用通用的特征,因此如果合法软件和恶意软件的特征类似,则容易将合法软件报告为恶意软件。

慢速扫描。查找特征的过程对于软件而言要比查找已知的恶意软件模式更难。因此,启发式扫描所用的时间要比签名扫描的时间长。

新特征可能被遗漏。如果新的恶意软件攻击所显示的特征以前尚未被识别出,则启发式扫描器可能会遗漏它,直至扫描器被更新。

行为阻止。此技术着重于恶意软件攻击的行为,而不是代码本身。例如,如果应用程序尝试打开一个网络端口,则行为阻止防病毒程序会将其检测为典型的恶意软件行为,然后将此行为标记为可能的恶意软件攻击。

现在,许多防病毒供应商在他们的解决方案中混合使用这些技术,以尝试提高客户计算机系统的整体保护级别。

可从多个 Microsoft 合作伙伴那里获取防病毒软件。关于完整的最新列表,请参阅 Microsoft.com 中的"Microsoft Antivirus Partners"页,网址为:http://www.microsoft.com/security/partners/antivirus.asp(英文)。

返回页首返回页首

"处于放任状态"恶意软件的典型时间线

已经出现了一种模式,用来定义可作用于公共网络的新恶意软件攻击的生存期,或者定义恶意软件进入放任状态的时间。学习此模式有助于您了解新的恶意软件攻击发布后所带来的风险。

新的时间线从恶意软件最初开发时开始,到它的所有痕迹已从被监视网络中删除为止。时间线阶段定义如下:

1.

构思。恶意软件开发通常从新的攻击或利用方法被提出并且在黑客间共享开始。这些方法将被讨论或研究,直至发现一个方法可以开发为攻击。

2.

开发。在过去,要创建恶意软件必须了解计算机汇编语言以及要攻击的系统的复杂工作原理。但工具包和 Internet 聊天室的出现使几乎每个心怀歹意的人都可以创建恶意软件。

3.

复制。新的恶意软件开发并发布为放任状态之后,它通常必须复制到可能的宿主设备一段时间,然后才能执行主要功能或传递负载。

注意: 尽管有成千上万个已知的恶意软件程序,但仅有极小一部分目前处于放任状态。极大多数的恶意软件程序从未发布给大众,它们通常被称为"动物园病毒"

4.

传送负载。恶意软件成功地感染了一个宿主之后,它可能会传递负载。如果代码具有用于负载的条件触发器,则此阶段是满足传递机制条件的时候。例如,某些恶意软件负载会在用户执行特定操作或在宿主计算机上的时钟到达特定日期时被触发。如果恶意软件有一个直接操作触发器,则它仅会在感染完成后开始传递负载。例如,在数据记录负载的情况下,恶意软件程序将仅开始记录所需的数据。

5.

识别。在时间线的这一点上,恶意软件被防病毒团体识别出来。在极大多数情况下,此步骤将会在阶段 4 或甚至阶段 3 之前发生,但情况并非总是如此。

6.

检测。威胁被识别出来之后,防病毒软件开发人员需要分析代码来确定可靠的检测方法。一旦他们确定了方法,则会更新防病毒签名文件,以使现有的防病毒应用程序可以检测出新的恶意软件。此过程所用的时间对于控制病毒爆发至关重要。

7.

删除。在发布更新之后,防病毒应用程序的用户有责任及时应用更新,以保护其计算机免受攻击(或者清理已感染的系统)。

注意: 如果没有及时更新本地签名文件,则会导致出现以下极其危险的情况:用户会认为已处于防病毒产品的保护之下,但实际上并没有。

随着越来越多的用户更新防病毒软件,恶意软件的威胁性将会慢慢地变小。此过程基本不会删除处于放任状态的恶意软件的所有实例,因为某些连接到 Internet 的计算机只有极少或根本没有防病毒保护,而恶意软件会驻留在这些计算机中。但总体而言,来自攻击的威胁已经减弱。

尽管此时间线对于每个新开发的恶意软件攻击都会重复一遍,但是它并不代表所有的攻击。许多攻击仅是恶意代码原始部分的修改版本。这样,基础代码和方法是相同的,但是进行了很小的更改,以免攻击在检测到之后被删除。通常,成功的恶意代码攻击会随着星期和月份的推移而产生多个版本。这种情况将导致一种"军备竞赛",恶意软件编写者为了自身利益(可能是为了经济利益,也可能是为了扬名,或仅仅出于好奇)将努力避免程序被检测出来。而病毒防护将根据需要再次被更新、修补或更改,以减轻恶意软件更新后带来的威胁。

返回页首返回页首

小结

恶意软件是计算机技术中一个复杂并且不断发展的领域。在 IT 业面临的所有问题中,几乎没有比恶意软件攻击更具普遍性,也几乎没有比处理恶意软件的相关费用更昂贵的了。了解恶意软件的工作原理、随时间推移的演变方式以及它们所使用的攻击方法,将有助于您以主动的方式处理此问题。反过来,如果恶意软件的确影响了您或您的组织,这将为您提供一种更为有效且效率更高的应对过程。

由于恶意软件使用如此之多的技术进行创建、分发和利用计算机系统,因此很难知道如何保护系统才足以抵挡这样的攻击。但是,一旦了解了风险和漏洞,则可以通过使成功攻击基本不可能发生这种方式来管理系统。

下一步是分析 IT 基础结构中各个点的风险,然后设计合适的防护措施,这是下一章的主题。设计有效的恢复计划是本指南最后一章的主题。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    友情链接
    点击申请点击申请点击申请
    点击申请点击申请点击申请点击申请点击申请点击申请点击申请