扫一扫
关注微信公众号

恶意软件攻击防范与应急指导
2008-09-04   IT专家网

现如今,恶意软件已成为一个严重的网络问题。正所谓,哪里有网络,哪里就有恶意软件。恶意软件的出现像挥之不去的阴魂,严重阻碍了网络社会的的正常发展。但是,既然它出现了,我们就应该采取更加积极主动的态度去应对。所谓知己知彼,百战不殆。以下我们将详细介绍恶意软件的种类以及相关的防范技术。

  一.什么是恶意软件

  恶意软件是一种秘密植入用户系统借以盗取用户机密信息,破坏用户软件和操作系统或是造成其它危害的一种网络程序。对于绝大多数系统来说,恶意软件已经成为了最大的外部威胁,给企业和个人都带来了巨大的损失。仅以恶意软件中的间谍软件为例,间谍软件侵犯了用户的隐私,这已经成为企业用户关注的焦点。尽管间谍软件的出现已有时日,但是近几年使用间谍软件侵入系统监视用户行为变得更加猖獗。企业还面临一些与恶意软件相关的非恶意软件威胁。其中司空见惯的就是网络钓鱼,就是使用基于计算机的欺骗方法套出用户的敏感信息。还有就是病毒欺骗,就是对新的恶意软件威胁发出错误的警报。

  二.恶意软件分类

  一般认为,恶意软件包括病毒,蠕虫,木马,恶意的移动代码,以及这些的结合体,也叫做混合攻击。恶意软件还包括攻击者工具,譬如说,后门程序,rookits,键盘记录器,跟踪的cookie记录。本篇讨论的内容包括,恶意软件怎么样进入和感染系统及其传播;怎么样工作;针对的目标;怎么样影响系统。

  2.1 病毒

  病毒能够实现自我复制,并且感染其它文件,程序和计算机。每一种病毒都有感染机制;譬如,有的病毒可以直接插入主机或是数据文件。病毒的威力可大可小,有些可能只是小恶作剧,还有可能是相当恶意的攻击。绝大多数的病毒都有诱发机制,也就是诱发其威力的原因,一般需要用户的互动方能实现。目前有两种重要的病毒,一是可编译病毒(compiled virus),主要通过操作系统实现;二是演绎性病毒(interpreted virus),主要通过应用程序实现。

  2.1.1 可编译病毒

  可编译病毒的源代码可以经由编译器程序转换为操作系统可以直接运行的程序格式。可编译病毒包括以下三种:

  ■ 文件感染器(file infector) 这种病毒一般将其附加在可执行程序中,譬如word,电子表格和电脑游戏。一旦病毒感染程序,就直接影响系统中的其它程序,还有使用系统作为共享的感染程序。Jerusalem和Cascade就是两种最出名的文件感染病毒

  ■ 引导区(boot sector)引导区病毒一般感染硬盘驱动的MBR或是硬驱和移动媒介的引导区。引导区,顾名思义就是存储信息的硬盘或是磁盘的开始部分。MBR是磁盘上比较独特的区,因为电脑的基本输出/输入系统(BIOS)可以加载启动程序的地方就在此。一旦电脑启动的时候,如果硬驱中有感染的磁盘,病毒就自动执行。引导区病毒隐藏性很强,成功率高,破坏性强。其表现就是启动的时候出现错误信息或是启动不稳定。Form,,Michelangelo和Stoned是很典型的引导区病毒。

  ■ 混合体(Multipartite)混合体病毒使用多种感染方式,典型的是感染文件和引导区。相应地,混合体病毒有上述两种病毒的特征。典型例子:Flip和Invader

  除了感染文件之外,可编译病毒还可以躲藏在感染系统的内存中,这样每次执行新的程序的时候就可以感染新的程序。在上述三种病毒中,启动区域病毒最有可能存在于内存中。相比那些非存在于内存中的病毒而言,这种病毒危害性更大,更加频繁。

  2.1.2 演绎性病毒

  与可编译病毒有操作系统执行不同的是,这种病毒的源代码只能由特定程序来实现。这种病毒以其简单易操作深受欢迎。即使一个不是太熟练的黑客也可以借此编写和修正代码,感染计算机。这种病毒的变体很多,最主要的两种是宏病毒(macro virus)和脚本病毒(scripting virus)

  宏病毒是这种病毒中最流行最成功的。病毒一般附加到word,电子表格等,并且使用这些程序的宏编译语言来执行病毒。它们利用的正是很多流行软件的宏编译语言功能,譬如说,微软的办公软件。由于人们共享具有宏功能文档的增多,这种病毒也越来越流行。一旦宏病毒感染发生,就会感染程序的建立和打开文件夹模板程序。一旦模板被感染,所有藉由此模板建立和打开的文件都会被感染。Concept, Marker, 和Melissa 就是很出名的宏病毒。

  脚本病毒与宏病毒类似。最大区别在于,宏病毒是以特定软件程序语言为基础,而而脚本病毒是以操作系统理解的语言编程,譬如说Windows脚本主机功能就可以执行VB脚本语言。典型的脚本病毒有First 和 Love Stages病毒。

  2.1.3 病毒模糊技术

  现在的病毒变得越来越复杂,一般使用多种障眼法达到掩盖自己的目的。病毒越难查出,危害性就越大。下面介绍几种典型的病毒模糊技术。

  ■ 自我加密和自我解密 有一些病毒能够加密和解密他们的病毒代码,这样就可以躲避杀毒软件的直接检查。使用加密的病毒可能会使用多层加密或是随机加密密钥,这样即使是病毒本身代码是一样的,看起来也有天壤之别。

  ■ 多态化 多态化是自我加密的形式多样化。一般来说,多态化实现默认加密设置的改变,解码也会随之改变。在多态化病毒中,病毒本身的内容没有改变,加密只改变其外在形式。

  ■ 变形记 变形记的思路是改变病毒本身实质,而不是使用加密隐藏其实质。病毒的改变有几种方式,譬如,在源代码中加入不必的代码顺序,或是更改源代码的顺序。被替换的代码被重新编译,其执行的时候看起来似乎完全不同。

  ■ 秘密病毒(stealth)这种病毒使用多种技术隐藏病毒特征。

  ■ 装甲 使用装甲的目的就是为了阻止杀毒软件或是专家分析病毒功能

  ■ 隧道法(tunneling)这种病毒一般潜在操作系统的下层接受底层的操作系统请求。由于其位于杀毒软件之下,借用操作系统就可以防止其被杀毒软件查出。

  杀毒软件厂商都下大力气防止病毒模糊技术。一些老式的模糊技术,譬如自我加密,多态化,和秘密行动,杀毒软件都能有效地处理。但是新的更加复杂的,譬如,变形技术,现在还很难查杀。

  2.2蠕虫

  蠕虫能够实现自我复制的程序,蠕虫病毒是一种常见的计算机病毒。它的传染机理是利用网络进行复制和传播,传染途径是通过网络、电子邮件以及优盘、移动硬盘等移动存储设备。蠕虫程序主要利用系统漏洞进行传播。它通过网络、电子邮件和其它的传播方式,象生物蠕虫一样从一台计算机传染到另一台计算机。因为蠕虫使用多种方式进行传播,所以蠕虫程序的传播速度是非常大的。

  蠕虫侵入一台计算机后,首先获取其他计算机的IP地址,然后将自身副本发送给这些计算机.蠕虫病毒也使用存储在染毒计算机上的邮件客户端地址簿里的地址来传播程序。虽然有的蠕虫程序也在被感染的计算机中生成文件,但一般情况下,蠕虫程序只占用内存资源而不占用其它资源。

  2.3 木马

  其名称来源于希腊神话,木马是一种非自我复制程序,但是实际上带有隐蔽的恶意动机。一些木马使用恶意版本替代现有文件,譬如系统和程序中的可执行代码;还有一些在现有文件中添加另外的程序重写文件。木马一般有以下三种模型:

  ■ 执行正常系统的功能的同时,执行单独的,不相关的恶意活动(譬如,在执行游戏程序的时候收集程序密码)

  ■ 执行正常系统功能的同时,修正其功能执行恶意活动,或是掩盖恶意活动

  ■ 完全期待正常系统功能执行恶意程序功能

  木马很难被检测到。因为木马病毒在设计之初就掩盖了其在系统中的现形,并且执行了原程序的功能,用户或是系统管理员很难察觉。现在还有一些新的木马使用了模糊化技术躲避检测。

  现在,使用木马传播间谍软件越来越频繁。间谍软件一般与支持软件捆绑,譬如说一些点对点的文件共享软件;一旦用户安装了这些貌似正常的软件,间谍软件亦随之安装。木马病毒还会传播其它种类的攻击者工具到系统中,借此可以实现未经授权的访问或是使用感染的系统。这些工具要么是与木马捆绑,要么是木马替代系统文件之后再下载。

  木马会导致系统严重的技术问题。譬如说,替代正常系统可执行文件的木马可能会导致系统功能的不正常运行。与间谍软件相关的木马对系统的破坏性特别大,有可能会导致系统不能正常运行。木马及其安装的相关工具会消耗大量的系统资源,导致系统性能的严重下降。著名的木马病毒有SubSeven, Back Orifice和Optix Pro.等等。

  2.4恶意的移动代码

  移动代码可以在不需要用户指示的情况下实现远程系统在本地系统上的执行。这是编程方法现在很流行,编写的程序被广泛使用于操作系统和应用程序上,譬如说,网络浏览器和电子邮件应用程序。尽管移动代码本身不坏,但是黑客们却发现恶意的移动代码是攻击系统的有效工具,也是传播病毒,蠕虫和密码的良好机制。恶意移动代码与病毒和蠕虫很不同的地方在于它不感染文件或是自我复制。与利用利用系统漏洞不同的是,它利用的是系统给于移动代码的默认优先权。编写恶意移动代码的受欢迎的语言包括Java, ActiveX, JavaScript, 和 VBScript.。其中最出名的恶意移动代码是使用Java脚本的Nimda

  2.5 混合攻击

  混合攻击使用多种感染或是攻击方式。著名的Nimda蠕虫实际上就是很典型的混合攻击。它使用了四种分布方法:

  ■ 电子邮件 一旦用户打开了恶意的邮件附件,Nimda就会利用浏览器上的漏洞展现基于HTML语言的电子邮件。一旦感染了主机,Nimda就会寻找主机上的电邮地址然后发送恶意邮件。

  ■ Windows共享 Nimda扫描网络服务器,寻找微软的网络信息服务(IIS)上的已知漏洞。一旦发现有漏洞的服务器,马上就会发送复件到这台服务器上感染服务器和文件。

  ■ 网络客户端 如果有漏洞的网络客户端访问了被Nimda感染的网络服务器,那么客户服务器也被感染了。

  除了使用上述描述的方法之外,混合攻击可以通过即时通讯和点对点文件共享软件传播。人们很多时候把混合攻击误认为蠕虫,因为它具有蠕虫的一些特征。实际上,Nimda具有病毒,蠕虫和恶意移动代码的特征。另外一个混合攻击的例子是Bugbear,它既是海量邮件蠕虫也是网络服务蠕虫。由于混合攻击比单一恶意软件更加复杂,所以更难制造。

  混合攻击并非同时使用多种方式发动攻击,它们可以依次感染。它越来越作为传播和安全木马的流行方式。

  2.6 跟踪cookies

  Cookies就是上网时留下的数据文件。Session cookies是对单一网站session有效的临时cookies。长期cookies是未定义地存储在计算机上的cookies以便在以后的访问中确认用户。长期cookies记录下了用户对于网站的喜好以便用户下次的访问。这样长期cookies就可以更加有效地帮助网站服务客户了。

  但是,不幸的是,长期cookies会被滥用跟踪用户的网络浏览记录。譬如说,一家市场调查公司可能会在很多网站上发布广告,然后使用cookie跟踪用户访问网站的情况,借此调查用户的行为特征。这叫做跟踪cookies。有跟踪cookies搜集到的信息出售给第三方以便更加有效地发布广告。绝大多数的间谍软件检测和移动工具都可以寻找系统中的跟踪cookies。

  另外一个获取用户私人信息的方法是网络bug的使用。网络bug是存在于网页中HTML内容中的小图像。这个小图像除了搜集用户浏览HTML的信息之外,别无其它用途。一般用户看不到网络bug,因为它只有一个像素大小。正如跟踪cookies一样,它也为市场调查机构广泛使用。他们可以收集用户IP地址或是网络浏览器类型,还可以访问跟踪cookies。所有这些使得网络bug可以被间谍软件利用构建用户的个人信息。

  2.7攻击者工具

  作为恶意软件和其它系统威胁的一部分,各种各样的攻击者工具都可以发送到系统中。这些工具包括各式恶意软件,会让攻击者未经授权访问或是使用被感染系统及其数据,或是发动攻击。一旦被其他恶意软件传播,攻击者工具就会变成恶意软件的同伙。譬如,一台感染蠕虫的系统会直接受蠕虫的指示访问特定的恶意网站,下载工具,然后安装到系统中。下面介绍几种流行的攻击者工具:

  2.7.1 后门程序

  后门程序是对监听TCP或是UDP端口命令恶意软件的统称。绝大多数的后门程序包括客户端和服务器两部分。客户端在攻击者的远程计算机上,服务器端位于感染的系统上。一旦客户端和服务器之间连接上,远程攻击者就会实现对感染计算机一定程度上的控制。即使最不济的后门程序也会允许攻击者执行一定的系统命令,譬如文件传输,获取密码,或是执行模糊命令。后门程序也有一些功能,如下:

  ■ 僵尸 最主流的僵尸就是DDoS攻击代理。攻击者可以使用远程命令控制大量计算机对同一目标发动攻击。著名的DDoS攻击代理有Trinoo 和Tribe Flood Network. 。

  ■ 远程管理员工具(RAT) 从字面意义上说,RAT会使攻击者得到其想要的访问权限。绝大多数的RAT 都可以让攻击者访问系统功能和数据。包括监视系统屏幕上出现的任何东西,或是远程控制系统设备,譬如摄像头,麦克风等。著名的RAT包括Back Orifice和Netbus等。

  2.7.2 键盘记录器

  键盘记录器用来监视和记录键盘的使用记录。键盘记录器记下输入到系统中的信息,诸如电子邮件内容,用户名和密码,或是金融信息。有一些键盘记录器需要攻击者从系统中找寻数据,还有一些会自动将数据通过电子邮件等发送到系统中。KeySnatch, Spyster, 和 KeyLogger Pro都是常用的键盘记录器。

  2.7.3 Rookits

  Rookit是指一些安装到系统中的文件,采取恶意的和偷偷摸摸的方式替代系统的正常功能。在一些操作系统中,,譬如Unix和Linux中,rookits修正或是代替数以百计的文件。在其它操作系统中,譬如Windows中,rookit修正或替代文件或是仅仅存在于内存中,或是修正操作系统内置系统请求的使用。许多经rookit修改过的文件都会隐藏rookit的存在,这样就使得rookit的探测变得异常困难。譬如说,rookit经常用来安装其它形式的攻击工具,后门程序或是键盘记录器等。一些rookit包括LRK5, Knark, Adore, 和Hacker Defender(黑客防御者).

  2.7.4 网络浏览器插件

  网络浏览器帮助用户浏览网络上的内容。攻击者常常借用插件传播间谍软件。一旦安装到浏览器中,这些插件就会监视浏览器的所有所有记录,譬如网页浏览记录,然后将其报告给第三方。因为插件是在浏览器打开的时候自动加载的,这就提供了监视系统网络活动的简单的方法。有一些恶意的网络插件是间谍软件拨号器,它们使用调制调解线在未经用户允许的情况下拨打电话号码。一般说来,拨打的号码都是高收费电话或是紧急电话。

  2.7.5 电子邮件生成器

  恶意软件可以通过电子邮件生成程序传播到系统中,这样在用户不知情的情况下就会发生大量的邮件到其它的系统中。攻击者一般使用电子邮件生成器发生恶意软件,间谍软件或是垃圾邮件或是其它内容到收件人清单。

  2.7.6 攻击者工具包

  攻击者使用包含多种工具和脚本的工具包探测和攻击系统。一旦系统受到恶意软件或是其它方式的攻击,攻击者就会在系统中下载和安装工具包。然后工具包就会借此对这一系统或是其它系统发动攻击。在攻击者工具包中常见的程序:

  ■ 信息包探测器 信息包探测器用来监视网络流量和获取信息包。信息包探测器一般可以嗅探到所有的信息包或是包含某一特征的信息包(TCP端口,或是特定IP地址)。绝大多数的信息包嗅探器也是协议分析器,也就是说它们可以重新配置来自于各个信息包的流量,然后解密使用各种各样协议的通讯。

  ■ 端口扫描器 端口扫描器远程扫描系统中开放的端口。以此帮助黑客找到潜在的攻击目标。

  ■ 漏洞扫描器 漏洞扫描器用来寻找本地或是远程系统上的漏洞。以此帮助黑客成功对系统发动攻击。

  ■ 密码破解器 使用密码破解器破解操作系统和应用程序密码。绝大多数的破解工具都尝试猜测密码或是试遍可能的密码。找出加密密码的时间长短不一,取决于加密手段或是密码本身的复杂程度。

  ■ 远程登录程序 攻击者常常使用SSH( Secure Shell安全外壳)和telnet(用于远程联接服务的标准协议或者实现此协议的软件)远程登录其它系统。攻击者可以利用这些程序实现很多目的,譬如控制受到威胁的系统,在系统之间传输数据。

  ■ 攻击 攻击者常常使用各种各样的工具或是脚本对本地或是远程系统进行攻击。攻击者想要达到各种各样的目的,包括危害系统或是发动DoS攻击。

  实际上,攻击者工具包中的攻击工具作用两面的,关键是使用它们的人。譬如,信息包嗅探器和协议分析器经常为网络管理员所用寻找网络通讯问题,也可以为攻击者所用窃听私人通讯。上网管理人员可以利用密码破解器测试系统密码的强度。还有些工具内置到操作系统中作为诊断或是管理工具。因此,上述工具的出现并不一定意味着风险的发生。

  2.8 非恶意软件威胁

  主要讨论两种形式的与恶意软件相关的非恶意软件风险。第一是网络钓鱼;第二是病毒欺骗#p#副标题#e#

  2.8.1 网络钓鱼

  网络钓鱼指的是利用欺骗性的基于计算机的方式引诱个人透露敏感的个人信息。为了执行网络钓鱼攻击,攻击者首先需要建立一个与知名企业类似的网站或是假冒知名企业的邮件,譬如网上购物网站,信用卡发行机关或是金融机构。这些假冒的网站和邮件就是为了欺骗用户透露个人数据,特别是金融信息。譬如,网络钓鱼者搜寻网上银行的用户名和密码,还有银行账号。

  网络钓鱼助长了很多犯罪行为,包括身份盗取和欺骗。在用户系统上安装恶意软件。常见的安装恶意软件的网络钓鱼包括假冒的广告促销和网络上的弹出窗口。用户一不小心点击了这些东西的话,估计键盘记录器就已经安装的到系统了。这些都会令用户受伤。

  2.8.2 病毒欺骗

  正如其字面意思所指,病毒欺骗就是错误的病毒警告。这些错误的病毒一般被描述成破坏性极大,并且需要马上采取保护措施。大多数使用电子邮件发送的病毒警报都是骗人的。病毒欺骗影响时间时间长,因为收到邮件的用户都会转发给别人提高警惕。尽管病毒欺骗很少造成破坏,但是有一些病毒欺骗知道用户修改操作系统设置或是删除正常文件导致安全和操作问题。病毒欺骗还会消耗企业的精力,因为很多员工收到这类邮件之后会向技术部门报告,寻求技术支持或是提醒他们。很出名的病毒欺骗是Good Times(好日子)

  2.9 总结

  恶意软件已然成为绝大多数系统最大的外部威胁,给企业和个人带来了巨大的损失。要小心防范。在第三部分中,我们将详细介绍。

  三.恶意软件事件防范

  恶意软件防范的四个组成部分是政策,警惕性,漏洞处置和威胁处理。确保处置风险的政策是执行防范控制的基础。建立和管理用户对于恶意软件的警惕计划,对于那些直接与恶意软件打交道的IT人员加强警惕性培训,这些都是减少人为失误的重要因素。在漏洞处置上花费时间是减少攻击的重要因素。部署威胁处置技术和工具,譬如说杀毒软件和防火墙,能够成功地阻止对系统和网络的攻击。

  一旦规划了恶意软件防范方法,企业就应该做到对当前和将来一段时间的攻击因素做到心中有数。他们应该知道系统的控制性能,因为这与防范方法的有效性有很大的相关性。除此之外,企业还应该组合当前的防范措施,譬如杀毒软件部署和补丁管理,融入到恶意软件的防范措施中。尽管如此,企业应该意识到,不管在恶意软件的防范上付出多少努力,最终还是会发生状况。正所谓百密终有一疏。

  3.1 安全政策

  企业需要有相应的政策防范恶意软件事件。这些政策应该作为额外的恶意软件防范措施的基础(警惕性,漏洞处置和风险处置)。如果企业不能在安全政策中清晰地表述恶意软件防范需要考虑的事项,那么要想实现恶意软件防范的连贯性和有效性就是空谈。恶意软件防范相关的政策要有较大的灵活性以便减少修改的必要,但是同时在关键措施上也要足够详细。尽管一些企业有单独的恶意软件相关的政策,但是很多是包含在其它措施之中的,因此现行的安全政策有些可以借用相关的内容。恶意软件防范也要把远程工作地员工纳入到考虑范围。

  一般的恶意软件防范政策考虑的因素包括如下几个方面:

  ■ 邮件附件包括压缩文件在打开之前进行杀毒扫描

  ■ 禁止使用电子邮件收发某些文

  ■ 禁止使用不必要的软件,譬如说那些经常传播恶意软件的应用程序(即时通讯软件,桌面搜索引擎,点对点的文件共享软件),禁止使用公司已经提供的服务之外的相似软件,譬如说电子邮件功能。

  ■ 限制用户的管理员权限,这样防止用户通过使用管理员权限传播恶意软件

  ■ 操作系统和应用程序的实时更新和下载补丁

  ■ 限制移动媒介的使用,软盘,CD,USB接口闪存的使用

  ■ 对症下药。不同的系统(文件服务器,电子油价服务器,代理服务器,主机,PDA)使用不同的防范软件(杀毒软件,间谍软件检测和移除工具)。保证软件的实时更新。

  ■ 使用企业允许的和安全机制访问外部网络

  ■ 防火墙设置的修改需要通过正式的程序

  ■ 限制移动设备在信任网络上的使用

  3.2 警惕性

  一个行之有效的警惕性计划规定了用户使用企业IT系统和信息的行为规范。相应地,警惕性计划应该包括对恶意软件事件防范的指导,这可以减少恶意软件事件的频度和危害性。企业中的所有用户都应该知晓恶意软件入侵,感染,和在系统中传播的渠道;恶意软件造成的风险;恶意软件按防范技术的短板;用户在恶意软件防范中的重要性。警惕性教育要考虑不同系统环境的不同特征,譬如说那些出差的员工。除此之外,警惕性教育计划还应该渗透上面讨论的安全政策中的一些政策。以下列举数例考虑的因素:

  ■ 不要随意下载可疑的邮件附件

  ■ 不要点击可疑的网站漂浮图表

  ■ 不要点击可能包含恶意内容的网站连接

  ■ 不要要打开.bat,.com,.exe,.pif,.vbs,等后缀名的文件,因为它们常常与恶意软件相关

  ■ 不要禁止附加的安全控制机制

  ■ 不要在例行的系统操作中使用管理员账号

  ■ 不要下载或执行来自于非信任网站上的程序

  总之,企业应该保证用户了解恶意软件处理的政策和程序,包括怎么样确认系统已被感染,怎么样报告可疑的感染,用户在风险处理中可以做些什么(升级杀毒软件,扫描系统中的恶意软件)。用户应该知道在发生风险之后怎么样通过可信任的渠道报告。用户还要知道一些简单的处置风险方法,譬如断开受感染系统的网络,阻止某些邮件附件

  作为警惕性教育的一部分,企业要教育用户明了犯罪分子常用的欺骗伎俩。还有一些常用的应对网络钓鱼攻击的建议:

  ■ 不要回复询问金融信息和个人信息的邮件。企业最好也不要使用电子邮件询问这些信息,因为电子邮件很可能会被未经授权的第三方监视。你可以电询企业的电话或是访问其官方网站。千万不要使用电子邮件中提供的联系信息。

  ■ 不要在电子邮件中回复密码,PIN(个人身份号码)码或是其他代码。一定要访问企业的官方网站。

  ■ 不要打开可疑的电子邮件附件。如果收到这样的附件,与发件人联系确认。

  ■ 不要回复任何可疑的邮件。直接将其移到黑名单中。

  尽管用户警惕性教育会减少恶意软件事件发生的频度和危害性,但是其作用与漏洞的技术控制和风险处置相比还是很小的。企业不能仅仅借此来防范恶意软件,它只能作为技术手段的一种补充。

  不管怎么说,企业IT人员都应该对恶意软件防范有一些基本的常识,对其它员工的教育应该让他们知道其责任以及在恶意软件按防范中做些什么。除此之外,企业IT管理人员需要检查新的安全威胁,评估可能造成的风险,采取防范措施。

  3.3 漏洞处置

  一般来说,恶意软件攻击操作系统,服务和应用程序的套路就是利用其漏洞。于是乎,漏洞的处理就成为了恶意软件事故防范中关键的一环,特别是新的漏洞发现之后的恶意软件,甚至在漏洞广为人知之前就发生了恶意软件事故。通过采取综合的防控措施可以有效地处理漏洞,譬如说,升级软件按,或是重新配置软件(禁止有漏洞的服务等等)。

  由于当前漏洞处置面临的一些挑战,包括处理不断发现的新漏洞,企业应该有记录在案的处理风险的政策,流程,以及建立新的漏洞管理程序。还有需要不断评估漏洞以便确定风险处理的优先顺序。企业要通过各种渠道搜集关于新的漏洞和主要恶意软件的信息,譬如说事故响应小组,安全厂商的公告,以及杀毒软件厂商的恶意软件咨询。企业还需要建立评估新的漏洞和威胁的机制,藉此确定恰当的处置方法,把信息分布到不同的部门。企业还需要跟踪风险处置的进程

  企业在风险处置中应该使用多层放防御策略,因为单一的防范措施很难应对绝大多数的漏洞。后面我们将详细讨论三种常用的漏洞处置办法——漏洞管理,最少权限和其它的主机加强方法。除了漏洞处置之外,企业还需要执行威胁处置行动,主要是防止恶意软件有利用漏洞的可能性。杀毒软件等一些安全工具在恶意软件未达到目标之前除之。威胁处置对于不利用漏洞的恶意软件事件处置很重要,譬如说引诱用户运行恶意文件。威胁处置对于企业在面临新的安全威胁的情形下也是很重要的,而企业却没有可行的漏洞处置方案。譬如说,对于新的漏洞还没有补丁出现。以下我们将详解:

  3.3.1 补丁管理

  对于处理操作系统和应用程序中已知漏洞的最常见的方法就是系统。一般说来,补丁包括以下几步,评估补丁的紧急性,测试补丁,在小范围之内实验补丁,记录补丁评估和决策过程。现在来说,对于补丁时效性的要求是一大挑战——目前从漏洞的发布到出现漏洞攻击软件的时间已从数月减少到数星期,甚至是一天。由于补丁的测试通常需要花费数周的时间,这就意味着不可能马上就大范围部署补丁。在有些情况下,使用其它的漏洞处置或是威胁处理技术比使用补丁更加安全。除此之外,即使补丁经过测试完全可行,我们也不敢保证所有的计算机安装了补丁,特别是远程系统上。尽管如此,使用补丁依然是减少恶意软件风险最有效的方法。恶意软件事件频发的一个原因就是没有及时安装补丁。补丁管理也是事故处置的关键。

  3.3.2 最少权限

  最少权限的准则就是按需分配,各取所需。管理权限的分配应该视需要而定。为什么说最少权限在防止恶意软件事件中很有效呢? 因为恶意软件常常需要管理员权限成功地利用漏洞。一旦恶意软件事件真的发生,先前的拥有最少权限的程序造成的损失也是最少的。最少权限管理可以在服务器,网络设备,以及用户的台式机和笔记本上使用。但是,最少权限会消耗掉大量系统资源;譬如说,用户在未经管理员允许的情况下,能安装操作系统升级。

  3.3.3 其它主机加强措施

  除了使用补丁和最少权限原则之外,企业还需要使用其他一些主机加强措施减少恶意软件事件发生的可能性。

  ■ 禁止或是移除可能导致漏洞的不需要的网络服务

  ■ 减少不安全的文件共享,文件共享很容易导致蠕虫的传播

  ■ 删除或是更山操作系统等默认的用户名和密码,恶意软件可以借此获得未经授权的访问

  ■ 访问网络需要获得授权

  ■ 禁止脚本自动运行

  企业还要考虑使用操作系统和程序配置指导帮助管理员持久和有效地保护主机的安全。配置指导一般包括推荐配置提高默认安全层级。或是手把手教你保护系统安全的指导。企业需要有规律地进行风险评估找出系统中未处置的安全风险,然后加以处理。即使系统上所有的已知漏洞都得到了处理,周期性的风险处理仍然是必要的,因为在平时的不恰当的系统管理和操作活动中会破坏一些安全措施。譬如说,在安装补丁的时候,可能会一不小心删掉其他补丁或是更改安全设置。

  3.4威胁处置

  我们主要讨论几种常见的处置恶意软件风险的安全工具:杀毒软件,间谍软件探测和删除工具,入侵防御系统(IPS),防火墙和路由器。对于每一种软件,我们会介绍其典型功能,针对的恶意软件,检测和处理恶意软件的方法。以及关于这些软件的推荐,指导,软件的缺点。

  3.4.1 杀毒软件

  杀毒软件是最常见的对付恶意软件的方法。对于经常被恶意软件光顾的系统来说,杀毒软件显然是必备的。杀毒软件有很多种,大多数的杀毒软件都提供以下功能:

  ■ 扫描关键系统区,诸如启动文件和启动记录

  ■ 实时监视系统活动检查可疑行为,典型的就是扫描电子邮件附件中的已知病毒,杀毒软件实时扫描文件的下载,打开和执行,这被称作“访问时扫描”。

  ■ 监控常见程序行为,譬如说电子邮件客户端,浏览器,文件传输程序,即时通讯软件。杀毒软件还会监视那些可能被利用的高风险软件。

  ■ 扫描文件中的已知病毒。杀毒软件周期性地扫描硬盘寻找被感染的文件。必要的情况下还可以人工扫描,这被称作“定制扫描”。

  ■ 确认常见的恶意软件—病毒,蠕虫,木马,恶意的移动代码和混合攻击,以及键盘记录器和后门程序等黑客工具包。绝大多数的杀毒软件都新增了检测间谍软件的功能。

  ■ 防止文件的感染,指的是在一个文件夹中删除恶意软件,或是隔离恶意软件。隔离感染文件是常用的方法,但是有一些感染的文件不能被隔离。这时候,就只能直接删除感染文件了

  以下从3.4.1.1到3.4.1.4主要介绍杀毒软件配置,管理等方面的一些内容,以及杀毒软件的缺陷。

  3.4.1.1 杀毒软件检测的准确性

  杀毒软件主要是依据已知的恶意软件特征寻找恶意软件。这些特征叫做特征库。对于寻找已知的恶意软件和确认已知病毒变体,特征库非常有效的。主要的杀毒软件厂商一般都会在数小时之内分析新的病毒的特征,然后编写特征,测试,最后发布病毒特征。

  由于特征库依据的是已知的威胁,对于全新的恶意软件很难确认。为了解决这一问题,杀毒软件厂商使用了启发式杀毒技术,这种技术就是通过检查大量文件特征寻找恶意软件活动。常见的启发式杀毒技术包括,寻找文件中的可疑代码顺序和或是模拟文件行为寻找异常现象(譬如,在虚拟环境中执行文件,然后监视其行为)。不幸的是,启发式杀毒经常误判,这叫做“假阳性”。由于假阳性会给企业带来很大的不便,所以绝大多数的杀毒软件产品将启发式杀毒设为中等或是低。采用这种方式确实减少了假阳性的发生,但同时也增加了忽略恶意软件的可能性。这被称作“假阴性”。不管使用什么样的启发式杀毒技术,杀毒软件探测新威胁的准确率不可能太高,但是病毒库实时升级后,检测已知恶意软件的成功率还是很高的。所以,杀毒软件应该升级到最新的病毒库以便提高准确率。

  3.4.1.2 杀毒软件配置和管理

  鉴于杀毒软件对于恶意软件防范的重要性,权威机构强烈建议所有的系统上都要使用杀毒软件。在安装操作系统之后,应该立马配置杀毒软件并且升级到最新的病毒库。然后使用杀毒软件扫描系统找出潜在的威胁。为了保证系统的持续安全,应该管理好杀毒软件以便持续有效地检测和阻止恶意软件。

  在一个管理良好的环境中,企业应该使用中央管理杀毒软件。一般来说,在这种环境下,个人不允许阻止和删除杀毒软件,也不允许更改关键设置。杀毒软件管理员要定期检查杀毒软件,确保用户使用杀毒软件以及其更新。这些信息也可以从中央管理杀毒软件上获取,企业可以使用系统扫描,网络登录时的系统检测,和其它方法搜集信息。执行上述建议有助于企业建立一个部署完善,行之有效的杀毒软件。

  在一个管理不够严密的网络环境中,特别是在那些用户拥有个人系统管理权限的企业中,杀毒软件的管理就不那么连贯了。当面临这种情况的时候,企业就需要逐渐向管理严格的网路环境中转变。特别是要加强警惕性教育。企业要定期发送信息提醒本地系统管理员和用户升级病毒库;提醒用户升级软件的重要性;发布升级系统指导书;出现新的威胁时,提醒本地系统管理人员升级杀毒软件;企业要鼓励系统管理员和员工经常升级病毒库,下载更新

  使用中央管理杀毒软件的企业应该确保其执行有充分的冗余满足峰值。譬如说,企业应该有多台杀毒软件服务器管理杀毒软件客户端软件和分布更新。如果可能的话,使用多台无关的操作系统平台为杀毒软件服务,以此来减少单一攻击针对杀毒软件服务器造成的全局性伤害。企业使用的杀毒软件操作系统平台与其他服务器操作平台最好是不一样。如果某个漏洞影响了绝大多数的服务器,以及杀毒软件服务器,那么很可能导致杀毒软件服务器的崩盘。

  另外一个加强恶意软件防范的方法就是在关键系统,譬如电子邮件服务器上,使用多种杀毒软件产品。例如,有的杀毒软件厂商发布病毒库的时间比其它厂商早;还有一种可能性就是如果使用的一款杀毒软件产品本身有漏洞的话,替代的杀毒软件可以继续提供有效的保护。由于在同一系统中同时使用多款杀毒软件,可能会导致产品之间的冲突,要想同时使用多款产品,它们应该安装在不同的系统中。譬如说,杀毒软件可以在内外两个邮件服务器上使用。这样可以更加有效地探测新的威胁,但是同时也会增加培训管理费,以及额外的软硬件花费。

  3.4.1.3 杀毒软件的缺陷

  尽管杀毒软件是防范恶意软件必须的工具,但是这并不意味着杀毒软件可以防止所有的恶意软件。正如前面所讨论的那样,杀毒软件在查杀未知恶意软件的表现不尽人意。一旦发现新的威胁,就应该马山有相应的病毒库。然而,安全厂商需要时间获取,测试和发布病毒库。病毒特征的测试很重要,因为病毒特征可能会导致杀毒软件或是操作系统的冲突,或是其它系统和程序之间的冲突。即使是在最好的情况下,从威胁的确认到新的病毒库的发布也需要数小时的时间,这段时间正是病毒发动攻击的窗口时间。此外,病毒库的发布也需要大量的时间;杀毒软件服务器和网络不可能同时处理所有的升级请求。那些没有联网的系统不能升级,很可能沦为攻击的对象(使用移动媒介传播的恶意软件)。

  杀毒软件的另外一个挑战就是恶意软件传播渠道很多,包括各种各样的网络协议的服务(电子邮件,文件传输,点对点文件共享,网页浏览,聊天室和即时通讯软件),还有移动媒介(CD,软盘和闪存)。企业需要使用基于主机和基于网络的杀毒软件扫描(从防火墙和电子邮件服务器),这样的话就可以发现那些试图通过防火墙和防火墙之后的主机发动的攻击。但是,现行的杀毒软件很难监视企业中所有系统的传输机制。譬如说,杀毒软件可能不能分析有新的网络协议,应用程序参与的活动。企业还要关注控制之外的系统访问网络,譬如说,员工在家里使用拨号连接或是VPN(虚拟个人网络)访问网络或是合作伙伴访问网络。这些外部系统可能已经感染了恶意软件,并且恶意软件很可能借此网络传播。

  3.4.2 间谍软件检测和删除功能

  间谍软件检测和删除功能主要是用来检测系统上的各种间谍软件,然后隔离或是删除间谍软件文件。与杀毒软件确认恶意软件不同的是,间谍软件按检测和删除功能专门针对各种间谍软件。现在,这种软件在应对间谍软件方面比杀毒软件做的好多了。防止间谍软件很重要,不仅仅是因为间谍软件侵犯了用户的隐私,还因为它经常导致系统功能上的问题,譬如降低系统性能,导致程序的不稳定。尽管有一些间谍软件探测和删除软件只专门针对一种恶意软件,譬如说恶意的浏览器插件,但是绝大多数的还是能够应对很多间谍软件的,譬如说:

  ■ 监视很有可能被间谍软件替代的应用程序的活动,譬如说浏览器和电子邮件服务器

  ■ 定时扫描文件,内存和配置文件寻找间谍软件

  ■ 确认几种形式的间谍软件,包括恶意的移动代码,木马和跟踪cookies

  ■ 隔离和删除间谍软件文件

  ■ 监视网络驱动器和Windows设置

  ■ 监视开机自动运行的的程序

  ■ 阻止间谍软件常用的安装伎俩,譬如,弹出窗口,跟踪cookies,浏览器插件安装和浏览器劫持

  为了处理间谍软件风险,企业应该使用间谍软件探测和删除软件或是带有这一功能的杀毒软件。所有的系统上都需要使用这些软件。

  典型的间谍软件探测和删除软件依赖于间谍软件病毒库,这和杀毒软件类似。这些工具在辨别已知威胁及其变体上很有效,但是在确认未知威胁上的能力有些失望。由于间谍软件探测和删除软件依赖于病毒库,间谍软件就需要及时地升级到最新的病毒库。所以这种软件应该配合杀毒软件的使用,双剑合壁,方能战无不胜。企业也需要使用多种间谍软件探测和删除软件提高应对间谍软件安全风险的能力。

  间谍软件探测和删除软件最近才开始提供中央管理和监视功能。还有一些软件不能提供自动升级,而需要用户手动升级。因此,如果企业选用间谍软件探测和删除软件的时候,要知道其是如何分布,配置和管理的,以及如何监视恶意软件的发生。由于间谍软件探测和删除软件有很多相似的特征,企业应该同等重视这两款产品。

  3.4.3 入侵防御系统(IPS)

  IPS使用信息包嗅探工具和网络流量分析确认和制止可疑行为。基于网络的IPS产品是部署在内线的(inline),也就是类似网络防火墙的功能。IPS接受信息包进行分析,确定那些是允许的,然后放行这些信息包。基于网络的IPS可以防祸乱于未萌。绝大多数的基于网络的IPS使用多种方式分析网络,应用程序协议,也就是说它们通过寻找预期的攻击行为确认潜在的恶意活动。

  基于网络的IPS产品被用来检测除了恶意软件之外的恶意行为,一般只能探测几种默认的恶意软件,譬如最近的主要蠕虫病毒。尽管如此,一些IPS产品个性化程度很高,这样就允许管理员在短时间之内自己添加和部署病毒库。尽管这样做存在一定的风险,譬如说粗制乱造的病毒库特征编写可能会导致假阳性,但是自己编写的病毒库特征会在厂商发布病毒特征的数小时之前阻止新的攻击。基于网络的IPS产品在阻止已知威胁上很有效,譬如网络蠕虫,电子邮件携带蠕虫,和特征明显的病毒。虽然其功能强大,但是却无法阻止恶意的移动代码或木马。基于网络的IPS可以通过应用程序协议分析检测和阻止未知的网络威胁。

  有一种特制的基于网络的IPS叫做DDoS攻击处理软件,它是利用异常网络流量的确认阻止攻击。尽管这种产品最早是为了阻止针对企业的DDoS攻击,但是也可以用来也可以用来确认蠕虫活动和其它形式的恶意软件。DDoS攻击处理软件一般通过监视正常的网络流量工作,包括通讯协议,峰流量,等建立基线。如果恶意软件导致了异常的网络流量或是使用网络或是非正常的应用程序协议,DDoS攻击处理软件要能够处理这些活动。另外一个限制恶意软件事件的方法就是配置网络设备限制带宽的最大数量。另外,一些网络流量监控软件可以探测到异常的网络行为。

  基于主机的IPS产品与基于网络的IPS在原则和目的上是相似的,除了基于主机的IPS产品监视的是单一主机的特征和发生在主机之内的事件。基于主机的IPS监视的活动包括网络流量,系统日志,运行的程序,文件访问和改变,协调和应用程序配置的更改。基于主机的IPS产品一般使用多种方式确认系统上的已知和未知攻击。譬如。基于主机的IPS产品可以监视试图修改文件的行为,以此探测感染文件的病毒和尝试替代文件的木马。一旦基于主机的IPS产品监视了主机的网络流量,就会提供与基于网络的IPS类似的探测能力。

  与杀毒软件和间谍软件探测删除软件类似的是,基于网络和基于主机的IPS产品可能会导致假阳性和假阴性。IPS可以提供调试功能,借此可以提高探测的准确性;这种调试的有效性视产品和环境而定。由于假阳性可能会导致正常系统活动的停滞,企业要考虑到这点,采取有效措施防止假阳性的发生。绝大多数的IPS产品都可以自行设置病毒库限制。还有一些企业使用默认设置禁止了绝大多数的限制,只有在面对新的主要风险的时候才会启动。

  对于恶意软件的防范来说,基于主机的IPS软件可以提高企业在面临未知风险时的安全系数。如果企业将IPS设置为高安全等级的话,在很大程度上就可以阻止杀毒软件查杀不出的恶意软件。IPS软件在应对网络服务威胁上相比杀毒软件具有很大的优势。

  对于那些产生巨大流量的恶意软件来说,譬如说网络服务病毒,部署在网络中的基于主机的IPS产品有效减轻恶意软件造成的网络负担。同时使用杀毒软件和IPS不仅可以从整体上提高恶意软件事件的防范能力,还可以减轻这两种技术在应对恶意软件时的压力。在一次严重的安全事件中,单一的杀毒软件可能会由于恶意软件过多导致过载;使用多种控制方法可以减轻负担。

  3.4.4 防火墙和路由器

  基于网络的设备,譬如说防火墙和路由器,还有基于主机的防火墙,可以检查网络流量,并且根据一套规则禁止或是允许这些流量。典型的路由器使用一套名为访问控制清单(ACL)的简单规则,主要是针对最基本的网络流量,而防火墙提供更多的选项。现在有两种防火墙:网络防火墙和基于主机的防火墙。网络防火墙是指部署在网络中限制网络之间流量流通的设备。基于主机的防火墙是部署在单一主机中限制访问主机的入流和出流的软件。这两种防火墙在限制恶意软件上都是很有效的。3.4.4.1和3.4.4.2中将介绍防火强,3.4.4.3会简要介绍路由器。

  3.4.4.1 网络防火墙

  一般说来,企业会在网络中部署多种网络防火墙保护网络免于外部攻击。网络防火墙会把网络流量和现行的规则比较,每一个规则对应一种网络协议,以及通讯的来源和终点。譬如说,有一条规则会允许外部邮件到达企业的电子邮件服务器。相应地,网络服务器在阻止针对特定端口的网络服务蠕虫上表现不错,特别是端口使用范围不广的时候。由于网络防火墙既可以限制出流和入流,所以可以阻止蠕虫向外的传播。

  为了防止恶意软件事件,企业要使用 默认阻止 设置,也就是说防火墙阻止所有未经允许的出流和入流。如果使用了这一设置,恶意软件就不能使用被认为是不必要的程序传播了。为了减少恶意软件的传播,企业必须严格限制外部系统(电讯系统,合作伙伴系统)发送过来的各种流量。企业要确保网络防火墙可以执行出流量和入流量过滤。入流过滤(ingress filtering)就是限制不适当的入流信息包,譬如说来自于错误IP地址的信息;出流过滤(egress filtering)限制所有不应该存在于系统中的出流信息包。蠕虫在传播的时候会随机产生IP地址,所以限制带有错误IP地址的信息包可以有效防止蠕虫进入内网。还有一点需要切记,实时检查安全规则,调整其设置。

  网络防火墙本身并不寻找网络通讯中的攻击;但是,防火墙中使用额外的软件可以实现。譬如说,许多防火墙使用入侵防范或是杀毒软件寻找网络通讯中的攻击,电子邮件或是网站流量。还有一些防火墙具有代理功能,代理收到来自客户机的请求,然后代表客户机程序向目标站点发出请求。一旦使用代理,每一次成功的连接实际上是有两次不同的连接:首先是客户机和防火墙之间,然后是防火墙和目标站点之间。一些代理可以执行基本的分析和网络协议的确认,譬如HTTP(超文本传输协议),或是拒绝不确定的访问请求,因为这可能包括恶意软件。这些代理被称作应用程序层级防火墙。

  网络防火墙在网络地址转换(NAT)中使用广泛,NAT是将一个网络地址映射到另外一个网络的过程。NAT主要是将内网中的私人地址映射到联网的网络中的地址中。一旦私人地址通过NAT被映射到公网中,外部主机就不能直接访问内部主机,因为私人地址不是通过因特网路由的。这中方式可以有效阻止网络服务蠕虫。

  一旦发生针对网络服务的新的恶意软件攻击,企业需要使用防火墙阻止它,尤其是杀毒软件和入侵检测不能监视目标服务的时候。为了防范最坏的情况,企业要随时准备更改防火墙规则防止恶意软件事件的发生。防火墙规则在阻止使用IP地址的恶意软件也很有帮助,譬如说,从外部主机上下载木马的蠕虫,这时,只要添加规则限制上述主机的IP地址,就可以阻止木马的下载。

  3.4.4.2 基于主机的防火墙

  基于主机的防火墙可以有效限制单一主机上的出流和入流,这样既可以防止主机的感染,也可以防止其传播恶意软件。服务器专用的基于主机的防火墙使用与网络防火墙类似的安全规则。台式机和笔记本上使用的防火墙也使用相似的规则,但是绝大多数都是根据应用程序清单允许或是限制网络活动。为了防范恶意软件,企业可以把防火墙上设置默认阻止入流量。如果可行的加,企业也可以默认阻止出流量。但是,这些规则对于系统可用性和用户满意度有严重的负面影响。

  除了根据规则限制网络活动之外,在基于主机的防火墙中可以集成杀毒软件和入侵检测功能,还有限制浏览器弹出窗口,限制移动代码,禁止cookies,防止网页和邮件中的潜在隐私问题。集成了这些功能的防火墙不仅在阻止恶意软件上很有效,也会限制恶意软件感染的传播。譬如说,如果防火墙集成了杀毒软件功能就可以监视收发邮件上的海量邮件攻击病毒,如果发现这些活动就可以临时阻断邮件服务。基于主机的防火墙对于未受网络防火墙保护的联网的系统来说相当重要。如果是直接访问网络的话,最好有基于主机的防火墙保护系统。

  3.4.4.3 路由器

  一般的防火墙使用多种方式限制入流量和出流量,路由器使用的是更加宽泛的规则。一个企业常常使用多台路由器联网,这些叫做 网络边界路由器。这些路由器一般位于企业的主要防火墙前端,检查一些基本的网络活动,譬如说入流和出流过滤。

  在一个重大的蠕虫病毒事件中,企业需要重新配置路由器限制入流病毒活动,减轻防火墙的负担。内网上的路由器也需要重新配置限制网络中的某些服务;这可以一个网络中感染的主机传播病毒。一旦需要的时候,去企业要及时更改路由器ACL。

  3.4.5 应用程序设置

  许多恶意软件利用了常见的应用程序,譬如说电子邮件客户端,浏览器和word处理器。这些程序的默认设置中,功能性超过安全性。相应地,企业需要考虑阻止不需要的功能,尤其是那些可能被恶意软件使用的功能。以下提供一些建议:

  ■ 限制可疑的电子邮件附件。很多企业的邮件服务限制附件下载或是直接阻止带有附件的邮件。这些后缀名的文件很可能被禁止,.txt.vbs, .htm.exe等等。但是在阻断恶意邮件的同时,也阻止了正常的邮件。有些企业直接替换可疑邮件附件的后缀名,在保存和运行之前先重命名。

  ■ 过滤垃圾邮件。垃圾邮件常常用来传播网络钓鱼和间谍软件,有时也包括其它恶意软件。使用垃圾邮件过滤器可以有效减少垃圾邮件,也就直接减少了由于垃圾邮件导致的事故。

  ■ 过滤网站内容。尽管网站内容过滤软件是为了限制不恰当地内容进入工作场所,也可以包括网络钓鱼站点和其它恶意站点清单。还可以限制一些使用危险后缀名的文件。

  ■ 限制移动代码执行。浏览器和电子邮件客户端可以配置只允许某种移动代码(譬如,Java脚本,ActiveX等)和只能执行特定地点的移动代码(譬如,内网站点)。这样可以有效防止恶意代码,但也会限制合法网站的功能。#p#副标题#e#

  ■ 限制浏览器cookies。绝大多数的浏览器允许用户自行设置接受或是禁止cookie。绝大多数的浏览器允许用户自行设置访问站点的cookie。

  ■ 限制浏览器弹出窗口。有一些弹出的窗口看起来是合法的站点,实际上却是一些欺骗性站点,譬如说网络钓鱼,修改系统设置

  ■ 限制浏览器安装软件。有一些浏览器允许用户安装浏览器插件等软件。还有一些甚至限制从网站上安装任意软件到客户端。这些对于防范恶意软件安装到浏览器上很有效。

  ■ 防止电子邮件照片自动下载。绝大多数的电子邮件客户端禁止自动下载图片。这对于防范基于电子邮件的网络漏洞是很有用的。

  ■ 改变文件相关性。在许多操作系统中,打开不同的文件要使用不同的程序,譬如说打开.txt文档使用文本编辑器。一旦用户打开某一文件的时候,操作系统就会打开默认的应用程序。尽管这对用户来说是很方便,但是恶意软件也可以因此而受益;譬如说,用户在打开邮件附件的时候,操作系统就会自动运行打开附件。有一些企业替代了常用的恶意软件利用的文件类型,这样用户在打开这些文件的时候也不会自动运行了。

  ■ 限制宏使用。在word和电子表格等应用程序中经常包含有宏语言。宏病毒正式利用了这点。现在绝大多数也能够有宏功能的软件都会提供宏安全措施,只有来自于信任站点的宏文档才能运行。

  ■ 禁止电子邮件的开放传播 海量邮件病毒把企业的电子邮件服务器作为开放传递棒(open relays),也就是是说发件人和收件人都不是企业的一部分。提供开放传递棒的电子邮件服务器可能会让海量邮件病毒轻轻松松得逞。

  尽管这些程序设置在减少恶意软件频度上很有效,但是选择合适的设置常常需要很大的努力。在多数情况下,配置安全性的提高就意味着功能性的下降。譬如说,禁止浏览器上的Java支持功能会阻止企业基于Java脚本运行的应用程序运行。所以企业需要在安全性和功能性之间寻找到平衡点。企业要考虑到应用程序的多样性,譬如说,客户端系统可能有安装了多个浏览器版本,每一个又有不同的功能和配置设置。

  在绝大多数的企业中,执行和管理服务器上的应用程序设置相对简单;但是要在客户端做同样的事情就很难了。在一个管理高度完善的环境中,集中管理应用程序设置是可行的,但是在绝大多数的环境中并不可行。企业可以在新系统中执行选项设置,但是不能确保这些设置随着安全和功能的变化而变化。企业应该考虑到如何保证应用程序客户端的执行,管理,和检查的有效。然而,在一个管理不够严格的网络环境中,企业就只能依赖于警惕性教育和用户的自觉性了。

  实际上,许多更改客户端程序配置的好处通过使用基于主机的防火墙也可以实现。前面3.4.4.2已经讨论过。但是,基于主机的防火墙并不能执行所有的程序设置,所以最有效的办法是二者结合使用。

  快速改变应用程序设置对于制止新的威胁非常有效。譬如,如果现在出现了一种基于电子邮件的威胁,杀毒软件对此无能为力。在这种情况下,企业就可以直接更改邮件服务器和客户端设置删除所有带有新病毒特征的邮件。企业也需要提前考虑在出现哪些紧急事件的情况下更改设置。

  3.5总结

  企业应该根据攻击因素制定自身的恶意软件事件防范方法。选择恶意软件防范产品的时候要选择最适合企业的,只买对的,不选贵的。

  作为恶意软件防范努力的基石,企业应该确保安全政策支持恶意软件事件的防范。常见的与恶意软件防范相关的政策有以下几种:

  ■ 合理使用系统

  ■ 处理漏洞

  ■ 处理风险

  与恶意软件防范相关的政策应该考虑到企业内外的远程工作人员。

  教育员工,让他们知道恶意软件传播的方式,导致的风险,技术措施的局限,用户在防范恶意软件中至关重要的地位。警惕性教育应该让用户知道恶意软件处置的政策和流程。与恶意软件直接打交道的管理人员也要经常进行教育。

  企业还需要把漏洞处置的政策,流程等记录在案。因为应对漏洞的方式多样,需要使用多种方式处置漏洞,譬如说补丁管理和最少权限的同时使用。除此之外,还可以使用主机加强措施。

  除了漏洞处置之外,企业需要使用风险处理探测和阻止恶意软件。以下这些技术很有效:

  ■ 杀毒软件

  ■ 基于网络的IPS

  ■ 防火墙

  ■ 更改应用程序配置

  四.恶意软件事件响应

  一般来说,恶意软件事件响应包括准备活动,譬如说开发恶意软件事件处理流程和响应小组的培训。正如我们在第三部分中所讨论的,准备阶段包括使用安全政策,警惕性教育,漏洞处置,使用安全工具减少恶意软件事件。尽管采取这些措施也不可能万无一失。因此,恶意软件感染的探测对于事件发生的警告是必要的。对于恶意软件的快速探测有助于防止事态的扩大,探测速度越快,就越能减少感染系统的数量。

  事件响应周期 (准备-探测和分析- 病毒抑制,删除和恢复-后续处理)

事件响应周期

  对于每一次恶意软件事件,企业都应该根据事件的严重性恰当地处理,譬如说,抑制病毒,清除感染,最后完全恢复系统。如果企业有大量的系统被感染的时候,要实施上述措施将会非常困难。事件被成功处理之后,应该把事件的起因,损失详细记录在案,以便企业下次在面临这些风险的时候采取更加有效地措施。

  尽管上述标准的处理恶意软件的流程差不多,但是要应对大规模的感染还是存在一些挑战。我们将主要讨论企业大规模恶意软件事件的处理,但是这些指导对于小规模恶意软件的处理也很有帮助。

  4.1 准备

  对于企业来说,准备多套时间响应方案是应对恶意软件事件的基础之一,如果没有这些方案的话,事件处理将会变得异常困难。有一些企业由于产期遭受恶意软件,除了一般的事件响应小组之外,还有专门的事件响应小组。由于恶意软件在短时间之内会给企业带来很大的危害,企业制定的恶意软件事件防范政策和规程要明确企业和个人的责任。定期的针对恶意软件的培训和教育有助于员工明确责任,保证安全政策的有效性和综合性。对于大规模恶意软件事件的演练是大有裨益的,虽然很少发生,但是一旦发生后果不堪设想。

  企业还需要采取其它防范措施响应恶意软件事件,以下4.1.1到4.1.3将推荐几种防范措施,包括在应急小组之内构建和维持恶意软件相关的技术,企业各个部门之间的沟通及合作,使用必要的工具和资源。

  4.1.1 构建和使用杀毒软件相关的技术

  除了标准的事件响应小组技术之外,下面的一些知识在应对恶意软件事件时也是大有裨益的:

  ■ 恶意软件感染方法 所有的恶意软件事件处理人员都需要了解主要的恶意软件感染系统的方式的传播的手段

  ■ 恶意软件探测工具 我们在3.4中已经讨论过,可以使用杀毒软件,基于网络和基于主机的入侵防御软件,间谍软件探测和删除软件,和其它工具都可以有效检测恶意软件。事件处理人员需要了解企业配置的这些工具,以便更好地分析支持数据和确认病毒特征。至少应该熟悉企业的杀毒软件。

  ■ 计算机取证(computer forensic) 企业需要有一些人员精通计算机取证工具和技术。这种技术在调查特别复杂的恶意软件时是必须的,譬如说rookit安装。

  ■ 对于IT的广博知识面 这种能力让技术人员更好地评估恶意软件风险,以便为抑制,删除病毒和系统恢复提出更好的建议。

  ■ 编程 小组中应该要有熟练使用常见编程语言和宏语言的人员,这样就可以帮助其它成员在短时间之内了解病毒的行为特征和危害

  除了进行恶意软件相关的培训和演练之外(4.1),企业还要寻找其他技术。譬如说,可以让小组成员临时作为杀毒软件工程师或是管理员,这样他们就可以获取新的技术,了解杀毒软件工作程序。抑或是在漏洞管理小组中临时工作,这样可以加深他们对于系统漏洞探测和添加补丁的了解;

  4.1.2 促进企业之间的沟通和合作

  在处理恶意软件时最常见的问题就是沟通不畅,信息缺乏交流。在一次事件中,我们常常会发现,由于缺乏对形势的了解,各个部门,用户之间产生误解。为了解决沟通混乱和不及时的状况,企业应该事先成立专人或是专门小组负责沟通。沟通小组的首要目标是搜集信息,作出对企业最有利的决策,将相关信息及时转给有关部门。在恶意软件事件中,相关的部门涵盖了终端用户,他们应该学会如何避免系统的感染,如何辨别感染特征,系统感染之后采取的措施。沟通小组要给员工提供关于恶意软件防范的一些指导,及时向管理人员报告最新进展。

  由于大规模的恶意软件事件常常破坏电子邮件服务,内部网络站点,Voip和其它通讯手段,因此企业需要有建立其它的沟通渠道保证危机处理人员,技术人员,管理层,和用户之间畅通联系。譬如,可以使用企业的电话系统,手机,传呼机,电子邮件,电报和纸质文档。即使是在正常情况下,使用不同的联系方式联系不同的对象也是很有效的(譬如,使用电子邮件与用户沟通,关键的技术人员使用会议专线联系)。我们将在4.3.1中讨论用户之间沟通的方式。

  企业需要建立恶意软件咨询台,员工可以报告恶意软件,寻求帮助等等,用户发现恶意软件之后,首先需要向咨询台报告。

  4.1.3 获取工具和资源

  企业要确保有足够的工具(硬件和软件)和资源处理恶意软件。典型的工具有,信息包嗅探器,协议分析器。在3.4中我们已经讨论过了恶意软件,IPS等几种软件。常见的资源包括联系名单和响应信息,常用的端口数量,已知的关键资产。

  下面介绍恶意软件事件处理人员常用的工具:

  恶意软件事件分析硬件和软件

  ■ 笔记本,提供分析数据和嗅探数据包的移动工作站

  ■ 额外的工作站,服务器和网络设备,在隔离的环境下测试恶意软件

  ■ 空白的存储媒介,譬如说软盘,CD来存储和传输恶意软件样本

  ■ 信息包嗅探器和协议分析器获取和分析包含恶意活动的流量

  恶意软件事件分析资源

  ■ 端口清单,包括常用的端口和已知的木马和后门程序

  ■ 操作系统,应用程序,网络协议以及病毒库等的文件

  ■ 网络流量图和关键设备清单,譬如网络,电子邮件和FTP服务器

  ■ 预期网络,系统和应用程序的基线

  恶意软件事件处置软件

  ■ 媒介,操作系统根磁盘,CD,操作系统媒介和应用程序媒介

  ■ 安全补丁

  ■ 操作系统,应用程序等的磁盘图像软件和备份图像

  4.2探测

  企业要具有快速探测恶意软件事件的能力,因为感染会在短时间之内发生。探测越早就越能帮助企业将感染系统的数量降到最低,亦会随之降低企业的损失和恢复系统的成本。尽管主要的恶意软件传播速度很快难以快速反应,但是绝大多数事件还是发生很慢。

  由于恶意软件形式和传播方式多样,所以恶意软件会有很多可能的特征。有时需要花费大量的时间分析,使用专业只是和经验确定事件是由恶意软件导致,特别是恶意软件风险刚出现的时候。在恶意软件事件探测和确认之后,事件处理人员要确定问题的类型,扩展名和规模,以便确定优先顺序。4.2.1到4.2.3将介绍恶意软件事件的一些特征,确认事件的特征,以及采取措施的先后顺序。

  4.2.1 了解恶意软件事件的表征

  恶意软件事件表征有两种:恶意软件先驱(precursor)和迹象 (indication),所谓先驱是指恶意软件攻击可能会在将来出现。迹象是指是指已经出现或是正在出现的表征。

  绝大多数的恶意软件先驱以如下形式出现:

  ■ 恶意软件咨询公司 杀毒软件开发商和其它的安全组织会发布新的安全警报。事件处理人员可以定制这些信息报告以便清楚了解时下新的风险。还可以观察一下那些已经中招的企业。企业还可以自行分析潜在的风险和攻击。

  ■ 安全工具警报 有一些工具,譬如杀毒软件,IPS等可以探测,隔离,删除,或是阻止恶意软件感染系统。这些行动导致安全警报的产生。譬如说,恶意软件的尝试攻击的失败导致的警报,同样的攻击可能通过未受监视的攻击因素侵入企业或是感染系统,这样就会导致安全事件。

  先驱的探测给了企业一个修正安全状态防止恶意软件的窗口时间。在最坏的情况下,如果企业发现其将遭到攻击,就可以事先进入战时状态,防范恶意软件。但是绝大多数的恶意软件并没有一个明显的标志,其迹象的发生也就是在事件发生之前,因此,企业不应该依赖这种事先的预警。

  尽管安全事件常常在没有任何迹象的情况下发生,但是却又很多恶意事件的表征。常见的表征如下:

  ■ 网络服务器崩盘

  ■ 用户抱怨上网速度慢,系统资源的消耗和磁盘访问速度慢

  ■ 杀毒软件检测到主机感染了蠕虫

  ■ 系统管理员观察到异常特征的文件名

  ■ 日志中记录了配置的变化

  ■ 上网的时候,笔记本莫名重启

  ■ 电子邮件管理员注意到大量可疑邮件

  ■ 杀毒软件等安全措施被禁止

  ■ 管理员注意到异常流量

  上述所列的表征很多都会导致恶意软件。譬如说,由于非恶意软件攻击,操作系统漏洞等导致的网络服务器崩盘。系统硬件失败或是电子邮件服务器的误配置导致的大量邮件,当然也有可能是垃圾邮件者。这些都说明了检测和确认恶意软件事件的复杂程度,也说明了技术过硬,接受良好培训的工作人员的重要性。这些事件处理人员要具有火眼金星,从海量信息中找到异常现象。表征的主要来源包括以下几种:

  ■ 用户 用户经常向技术人员报告恶意软件相关的表征。譬如说,用户可能会发现杀毒软件上的警报,发现系统不能正常运行,或是异常行为。当然,用户也有可能是导致感染的原因或是事后寻求帮助。

  ■ IT管理人员 系统,网络和安全管理人员对于异常行为很敏感

  ■ 安全工具 杀毒软件,IPS等会记录下详细的恶意软件表征。网络监控等软件可以报告网络异常行为。这些信息在探测恶意软件上尤其宝贵。

  由于恶意软件本身产生的特征如此之多,所以要想完全将其所有表征列举下来是不可能的。下表将列举常见安全工具遇到恶意软件时的表征。对个人和管理人员来说可能会有用:

  可能的恶意软件表征

可能的恶意软件表征

  4.2.2 确认恶意软件事件特征

  由于没有任何一种表征是完全可靠的,甚至杀毒软件也有可能误判正常的活动——所以有时候就需要事件处理人员采用人工分析的方式确认恶意软件的原因。在一些情况下,譬如说大规模的感染毋庸置疑就是恶意软件事件。由于恶意软件处理人员的目标就是探讨事件的原因,确认恶意软件类型。如果一时找不出事件来源,就假设是恶意软件造成的,如果发现假设不成立时再更换安全措施。如果一味等待,只会造成更大的损失。

  作为分析和确认过程的一部分,事件处理人员通过检查探测来源确认恶意软件活动的特征。了解恶意软件活动特征是有效地进行抑制,清除和恢复活动的重要基础。事件处理人员要事先与安全管理人员合作了解关于恶意软件信息的数据来源,以及数据来源包括何种信息。除了常见的数据来源,譬如说杀毒软件,事件处理人员还需要使用如下来源:

  ■ 防火墙和路由器日志文件

  ■ 电子邮件服务器和基于网络的IPS监视器上的日志文件

  ■ 信息包嗅探器,基于网络的IPS监视器和网络取证分析工具上的信息抓包工具,里面可能会包括恶意软件相关的流量

  一旦事件处理人员接收到了探测来源数据和确认了恶意软件的特征,然后就可以和杀毒软件厂商的病毒库作出对照,确认恶意软件的原因。如果恶意软件出现已有时日,杀毒软件厂商一定会有关于其的详细信息

  ■ 恶意软件种类,(病毒,蠕虫,木马等)

  ■ 攻击的端口和网络服务

  ■ 攻击的漏洞

  ■ 电子邮件抬头,附件名,附件大小,关键内容

  ■ 可能被感染的操作系统,设备,程序等

  ■ 恶意软件如何感染系统

  ■ 恶意软件如何影响被感染的系统,包括被感染文件的名称和地点,更改的配置设置,安装的后门端口等

  ■ 恶意软件如何传播及怎么样实施抑制

  ■ 如何从系统中删除恶意软件

  然而,不幸的是,最新的攻击却无法在短时间之内出现在恶意软件数据库中。因此,事件处理人员还要依赖于其它信息来源作出快速响应。譬如使用公共安全邮件清单,这些可能包含恶意事件的第一手账号,但是这些报告往往不够准确和完全;还有就是使用其它企业搜集的信息,如果恶意软件的传播速度相对较慢的话,就可以借此搜集数据。总之,要使用尽可能多的信息来源。

  事件处理人员还需要研究受感染系统上的恶意软件行为。譬如说,技术人员从感染系统上获取样本,然后在一个隔离的系统上对其进行研究。一台感染的系统或是感染系统的磁盘都可以放入隔离系统中。测试系统中应该包括搜集恶意软件信息的工具包(信息包嗅探器等)。这个隔离的系统不仅可以在毫无感染威胁的情况下研究恶意软件,还可以做恶意软件的相关培训。

  为了有效分析系统上恶意软件的行为,分析人员需要在移动媒介上构造可信任的工具包。工具包包括最新的杀毒软件等。防止工具包存储媒介被恶意软件感染;譬如说,软盘要出于写保护状态,CD要写满,防止添加新的内容。之所以这样做是为了防止恶意软件入侵工具包,篡改其功能,导致不能报告恶意行为。使用这种相对隔离的,受保护的工具可以更加有效地了解恶意软件。#p#副标题#e#

  4.2.3 确定事件响应的先后顺序

  一旦恶意软件事件被确认,下一步行动就是采取处理措施。有一些恶意软件,譬如蠕虫,会在短时间之内造成极大的危害,因此要优先处理类似病毒。其它病毒,诸如木马感染的只是单一系统,可以根据数据的价值等采取保护措施。企业有必要建立一套恶意软件响应的等级制度。这一制度需要考虑如下因素:

  ■ 恶意软件进入系统的方式和传播机制

  ■ 恶意软件的种类

  ■ 恶意软件在系统中使用了什么攻击者工具

  ■ 受感染的网络和系统

  ■ 恶意软件事件的后续影响

  4.3 抑制病毒

  抑制恶意软件包括两部分:一是禁止恶意软件的传播,防止感染其它系统;针对所有的恶意软件都需要采取抑制措施。在应对恶意软件事件的过程中,确定采用何种抑制方式很重要。孤立感染事件和非传播性恶意软件的抑制很简单,采取直接断网或是关闭系统的方式即可。对于传播广泛的恶意软件事件来说,企业需要及时采取措施限制计算机感染的数量,造成的危害,以及减少完全恢复系统和服务的时间。

  在抑制恶意软件事件的过程中,要知道禁止恶意软件的传播并不能防止其对系统造成的进一步的伤害。即使是在企业完全禁止其传播之后,恶意软件还会继续传播和删除数据,应用程序和操作系统文件。除此之外,有一些恶意软件在断开网络连接或是采取抑制措施之后导致额外的伤害。譬如,有的感染系统运行的恶意程序不断与其它系统联系。如果切断网络就会切断与网络的联系,恶意软件就会重写主机硬盘上的所有数据。所以,仅仅断网是不够的,还要采取进一步的措施防止进一步的伤害。

  企业需要建立相关的流程作出抑制恶意软件相关的决定,这些决定要反映风险可接受性层级。譬如说,企业决定运行关键功能的系统即使在感染病毒的情况下也不能断网,因为断网有可能带了更大的损失。恶意软件抑制战略要支持事件处理人员根据不同的感染作出不同的抑制决策。

  恶意软件抑制方法可以分为四种:依靠用户参与;执行自动探测;临时中断服务;禁止特定的网络连接;以下4.3.1到4.3.4将详细介绍这四种方法。

  4.3.1 全民皆兵,用户参与

  用户的参与是抑制措施中关键的一环,特别是在大规模的事件中。企业教导用户如何辨别感染,系统感染之后的应对方法,譬如说,寻求帮助,断开系统网络,或是关闭系统。这些指导要涵盖恶意软件清除,譬如升级杀毒软件病毒库和执行系统扫描,或是使用特制的恶意软件根治软件。这些措施对于管理混乱的网络环境和自动根治方法不可靠的情况下是非常有效的。

  正如4.1.2中所说,用户之间信息的沟通很重要。尽管现在电子邮件是最有效的沟通途径,但是在关键时候还是有可能抛锚或是用户收到邮件时为时已晚。因此,企业需要有备用的通讯方案保证信息发布的及时有效,譬如在企业只能发布信息到用户的声音邮箱,在工作场所张贴公告,散发传单等。在系统登录的时候发布系统信息也是很有效的,但是很多用户长期不退出或是忽略了这些消息。那些在家庭或是分支机构办公的员工,企业要保证信息到达用户。另外一个重要的措施就是给用户提供软件,譬如清除软件,软件升级,补丁和升级的病毒库。

  尽管用户的参与很重要,但是单靠此显然是不够的。不管信息沟通渠道多么畅通,总会有用户收不到信息或是忽略。还有,一些用户收到指示之后,由于不知所云,所以很难按照指示去办,或是理解错误对系统造成损害。有一些用户可能只关注常用的工具,而忽略了恶意软件对系统的影响。但是,我们说,在一次大范围的恶意软件感染范围之内,用户的参与会大大减轻技术人员的负担。

  4.3.2 自动探测,大显神威

  很多恶意软件事件使用3.4中描述的技术得到一定的抑制。这些技术包括,杀毒软件,电子邮件过滤,和入侵防范过滤。由于主机上的杀毒软件具有探测和删除病毒的功能,所以在恶意事件抑制中备受喜爱。然而,这些探测工具的不足之初在于其只能依据现有病毒库探测,无法应对新的恶意软件。只有不断的更新病毒库才能不断的检测新的病毒,然而,在升级病毒库的间歇,恶意软件已造成巨大伤害。并且病毒库的发布也是一个问题。你不可能在同一时间满足所有升级请求。

  在一次大规模的恶意软件事件中,如果恶意软件未被杀毒软件辨认或是病毒库升级尚未完成,企业需要临时使用其它安全措施抑制恶意软件。在企业收到升级的病毒库之后,最好是测试一下,以免对企业正常的系统造成冲击。另外一个使用多种安全措施的原因就是防止单一技术的过载。期待杀毒软件处理所有的恶意软件事件工作量是不现实的。通过探测和阻止恶意软件的深度防御战略,企业可以分散杀毒软件的工作量。还有,使用不同的探测器可以适应不同的环境。以下列举常用的自动探测工具:

  ■ 电子邮件过滤 电子邮件服务器和客户端,以及杀毒软件可以阻止包含一定特征的电子邮件和附件。譬如,主题,发送人,信息文本,附件类型和名称。但是,现在恶意软件的特征越来越多样化,譬如,病毒可以使用上百个不同的主题,看起来都可能是合法邮件。还有一些病毒甚至产生随机主题或是附件名,或是复制正常邮件,这些都可能导致邮件过滤方法的失效。除此之外,尽管绝大多数的恶意邮件附件都有可疑的文件扩展名(特别是.bat,.cmd,.exe,.pif和.scr.),还有使用曾是善意的文件扩展名,.zip已然成为更流行的恶意文件附件。

  ■ 基于网络的IPS软件 绝大多数的IPS产品都允许用户自行设置防护功能。如果IPS是在线的,也就是其是网络的积极组成部分,并且有恶意软件特征,那么它就可以确认和阻止恶意软件。如果IPS没有激活防范能力的话,最好是重新配置,部署多个IPS探测器,使IPS可以禁止恶意软件活动。IPS要能够同时禁止危险的出流和入流。当然,IPS在防范恶意软件中的价值取决于其病毒库辨别恶意软件的能力。有一些IPS产品允许管理员自行编写病毒库。在很多情况下,管理员可以在杀毒软件厂商发布病毒库几小时之前自己编写恶意软件病毒库。除此之外,由于IPS病毒库仅仅对基于网络的IPS探测器有效,而杀毒软件病毒库是影响所有的工作站和服务器,所以自己部署IPS病毒库的风险比杀毒软件小。

  ■ 基于主机的IPS软件 有一些基于主机的IPS产品可以限制可执行文件的运行。譬如,管理员可以输入不应该被执行的文件名。如果杀毒软件病毒库还没有包含新的风险,可以部署基于主机的IPS产品阻止文件的执行。

  4.3.3 阻断服务,釜底抽薪

  有一些恶意软件事件需要采取更彻底的措施方能抑制。譬如说,有些恶意软件可能会产生巨大的网络流量或是应用程序活动,譬如说电子邮件和文件传输导致很多应用程序不能运行。要想抑制这类恶意软件,很可能要停止很多服务,譬如终止被恶意软件利用的服务,关闭有些网络服务或是禁止服务端口。还有一些网络服务被用来传播感染。不管是哪种情形,关闭被感染的服务是最佳选择。一般来说,这是限于应用程序层级或网络层级。目标就是在抑制恶意软件的同时,将功能的损失降到最低限。为了支持网络服务的断网,企业要列出这些服务清单,以及使用的TCP和UDP端口。

  最容易受恶意软件影响的是电子邮件。电子邮件服务器是病毒和蠕虫传播最广泛的方式。关闭邮件服务器是最直截了当的方法。但是,有些情况下,未知的邮件服务器可能会影响抑制的效果。如果企业服务器比较少,关闭邮件服务器端口可以在没有太多邮件服务丧失的情况下实施有效的抑制。

  从技术的角度来看,禁止服务很简单;但是要了解其结果就很难了。关闭企业依赖的服务很显然会产生负面影响。也会影响其它相关的服务。譬如,关闭邮件服务可能会削弱通过邮件复制信息的目录服务。因此企业在实施抑制措施的时候要考虑到依靠这些主服务的附加服务。使用类似的服务代替很有效。譬如,在一个管理有序的网络环境中,如果邮件客户端被感染,用户可以使用另外的尚未被感染的邮件客户端。这样依然可以保证邮件沟通。浏览器和客户端应用程序也可以采用这样的替代方案。

  企业要随时准备应对由于其它企业禁止服务带来的不便。譬如说,甲方有一个小组为已方工作,这时需要把甲方小组成员的邮箱账号导入乙方的邮件系统中,如果乙方突然中止其邮件服务,发出去的邮件就会被退回,然后再发,又被退回,如此形成了邮件循环。如果发生这样的情况,一些用户帐户会导致邮件服务的下降。

  4.3.4 断开网络,疗效明显

  临时限制网络连接在抑制恶意软件时很有效。譬如,感染的计算机尝试连接外部系统下载rookit,管理员要马上阻断访问的IP地址。类似的 ,如果企业内感染的系统准备向外传播恶意软件,管理人员要马上阻断来自于这台机器IP地址的流量。一个方案就是直接阻断这个IP与网络的连接,可以通过重新配置网络设备或是切断网线或是拔出感染系统上的网卡等实现。

  最激进的抑制方式就是故意切断网络与未感染系统的连接。这可能会影响很多系统的网络连接,譬如说远程拨号和VPN用户。最坏的情况就是,从主要网络中隔离二级网络或是断开整个企业的网络防止恶意软件的传播。当然采用这种极端措施的情况就是恶意软件已经造成严重危害,并且扩展到其它企业的时候。由于采取大规模的断网必然会影响企业的正常运转,因此要尽快恢复连接。

  企业在规划网络的时候要使通过断网的抑制变得简便和减少危害。譬如,有一些企业把服务器和工作站部署在单独的二级网络中;如果发生针对工作站的恶意软件事件,受感染的工作站二级网络可以从主网络中隔离,那么服务器二级网络还是可以正常运转,为外部客户和未受影响的内部二级网络提供服务。另外一种网络设计就是在感染系统中使用单独的虚拟局网(VLAN)。使用这一设计,主机在访问网络的时候就会检查其安全状况。这种检查常常由部署在主机上的设备监视主机的行为,譬如操作系统补丁和杀毒软件升级。一旦主机尝试联网的时候,网络设备就会从监视设备上获取信息。如果主机未对请求作出响应,或是回应显示主机不安全,网络设备就会把主机导向隔离的VLAN。同样的技术也可以在已经存在于网络中的主机上使用,受感染的主机会自动移到VLAN中。

  使用VLAN技术可以在为感染的主机提供病毒库升级和下载补丁的同时严格限制感染主机的副作用。如果没有VLAN的话,企业就需要完全终止感染主机的网络连接,这就需压迫手动升级和处置漏洞。单独的VLAN的一个变通策略就是把所有的主机都置于VLAN的一个网络段中,然后移到正常的网络中。VLAN的一个缺点就是感染主机的流量仍然和正常网络使用的设备是一样的,它只能提供逻辑上的隔离,而不是实体上的。所以,由于恶意软件活动和系统升级等产生的大量流量都会出现在VLAN中,这有可能导致使用网络设备的用户的操作问题。

  4.3.5 抑制恶意软件事件的建议

  抑制恶意软件可以使用上述描述的四种方式。由于单一的恶意软件处理方式不可能很有效,所以需要综合采取各种技术。譬如说,阻断网络连接在阻止恶意软件传播上很有效,但是系统上感染的文件可能会继续造成破坏。

  企业忍受采取极端抑制措施的时间不会太长。相应地,企业需要支持使用成熟的抑制决策,清晰的政策规定拥有作出决策的人员,以及何时采取措施。

  4.3.6 感染主机的确定

  确定被感染的主机是处理恶意软件事件的一部分,特别是在大规模的恶意软件事件时,尤其重要。一旦确认了被感染的主机,我们就可以采取适当的抑制,清除个恢复措施。不幸的是,由于计算的动态性,确认感染的计算机很复杂。譬如,人们会关闭系统,断开网络,或是转移工作地点,这就使得确认感染的计算机变得异常困难。除此之外,有一些主机使用多个操作系统或是虚拟操作系统,如果操作系统之一感染病毒的,另一操作系统没有,而刚好使用的又是未感染的操作系统,这样病毒就会检测不出来。

  准确的确认感染主机的复杂性还受其它因素的影响。譬如,有的系统漏洞可能被重复感染过多次。有一些恶意软件会删除其它恶意软件的一些或全部特征,这样就使得这些病毒难以查出。在一次大规模的恶意软件事件中,由于主机数量之多所以确认很困难。除此之外,关于感染主机的数据可能来自于多个渠道——杀毒软件,IDS(入侵检测系统),用户报告等。

  理想的情况下,感染主机的确认可以使用自动的方法,但是由于多方面的原因(4.3.6.1和4.3.6.2将阐述),这常常是不可能的。人工确认的方法,譬如说依靠用户确认和报告感染,技术人员挨个检查系统,但是这些对于综合性的确认都不可靠。所以企业在恶意软件事件来临之前就应该意识到这一问题,使用多种确认方式作为实施有效抑制病毒的一部分。企业还要决定需要哪一种确认信息以及记录信息的来源。譬如,主机的IP地址对于远程机是必须的,本地机则需要主机的实体位置。

  确认感染系统的实体地址的难处有几个因素。在一个管理良好的网络环境中,确认主机地址相对简单,因为事情都是完全标准化的。譬如,系统名含有用户ID或是办公室号,或是系统序列号。还有,资产库存管理工具可能会包含主机现有的特征。在那些管理不够完善的网络环境中,要确认地址就很困难了。譬如说,譬如说管理员知道位于10.3.3.1.70这一地址的系统被感染,但是却不知道系统在哪,谁在使用。管理员要使用网络设备跟踪感染的系统。譬如说,转换端口绘图器(mapper)可以发布特定IP地址的转换,然后确认转换端口数和与IP地址相关的主机名称。如果感染的系统要几道转换,定位一个IP地址就需要数小时的时间;如果感染系统不是直接转换的,管理员需要使用多个网络设备人工跟踪连接。一个替代的方法就是抽回网线或是关闭感染系统的转换端口,然后等用户报告异常情况。这种方法无意间就会影响少数正常的系统,但是如果作为最后的保留方式还是很有效的。

  有一些企业,首先确认感染的主机,然后采取抑制,删除和恢复措施,然后采取措施保护正常系统。当然了,这些措施是要事先准备好的,管理人员在锁定主机的时候要获得允许。一般说来,锁定措施基于特定主机的特征,譬如MAC地址或是静态IP地址,如果系统与用户是一一对应的话,也可以依据ID锁定。还有一种可能性是使用网络登录脚本确认和拒绝访问感染的主机,但是如果是系统开机之后感染的话,就没有什么效果了。正如,4.3.4中描述的那样,使用单独的VLAN是锁定系统很好的选择,当然要保证探测感染的机制是可靠的。尽管采用关闭系统的方式只能在极端的情况下使用,企业要事先考虑关闭系统的方式,这样在需要的情况下,就可以快速行动。

  以下4.3.6.1到4.3.6.3讨论三种感染主机的确认技术:计算机取证术主动出击手动方式

  4.3.6.1 计算机取证技术确认

  计算机取证确认术是通过寻找感染证据确认感染系统的方法。这些证据可能是几分钟之前或是几天之前的;信息时效性越差,正确度越低。最常见的证据来源是杀毒软件,间谍软件探测删除软件,内容过滤(譬如,垃圾邮件措施),和IPS软件。安全程序的日志可能包括可疑活动的详细记录,也可能暗示已经发生安全事故或是已经阻止。如果安全程序是整个企业部署的一部分,日志会出现在个人主机和中央管理程序日志上。

  如果证据来源没有包含必要的信息,企业需要转向次信息来源,譬如:

  ■ 网络设备日志 防火墙,路由器或是其它记录连接活动的设备。网络监视工具在确认网络连接上也有一定帮助。

  ■ Sinkhole 路由器 所谓sinkhole路由器是企业内部搜集所有未知路由流量的路由器。恶意软件一般会产生这样的流量,这样的话,sinkhole观察到的异常流量就会暗示存在新的恶意软件威胁。建立一个功能强大的sinkhole路由器对于确认感染系统是很有效的。Sinkhole路由器将搜集到的流量发送到日志服务器和IDS上,信息包嗅探器也可以用来记录可疑活动。

  ■ 应用程序服务器日志 有一些程序常常作为恶意软件传播机制,譬如,电子邮件和HTTP,在它们的日志中可能会显示哪些主机被感染了。在点对点的传播过程中,一封邮件的信息可能同时被几个地方记录:发件人系统,处理邮件的每一个邮件服务器,收件人系统,杀毒软件,垃圾邮件和内容过滤服务器等。相似的,浏览器上有很丰富的关于恶意网络活动的信息包括网站收藏,cookies。还有一个来源是DNS服务器日志。

  ■ 网络取证技术工具 这些软件可以获取和记录信息包,譬如网络取证分析工具和信息包嗅探器,这些都可以记录高度详细的恶意软件活动。但是,由于这些软件会记录下所有的网络活动,要从中淘出需要的信息很耗时,还有其它更有效的方法。

  使用取证数据确认感染主机比其它方式更有优势,因为可以从已搜集的数据中抽取出需要的数据。不幸的是,要从有些数据源中抽出需要的信息过于耗时。还有,由于信息很快就会过时,这都会导致正常系统接受不必要的抑制,而感染的系统却逍遥法外。如果 取证数据的来源准确合理,计算机取证是最有效地确认感染系统的方法。

  4.3.6.2 主动确认技术

  主动确认技术用于确认当前被感染的主机。一旦发现感染,一些主动探测方式就会执行抑制和清除措施,譬如说,运行隔离感染工具,部署补丁或是杀毒软件升级,或是将感染主机移到VLAN中。主动确认方式有如下几种方式部署:

  ■ 登录脚本 网络登录脚本可以用来检查主机特征寻找恶意软件迹象。使用登录脚本确认感染系统的缺陷就是感染的主机常常数天数月不登陆系统。这样就无法确认了。

  ■ 个性化的基于网络的IPS或是IDS特征库 自己编写IPS或是IDSt特征库确认感染的主机是很有效的技术。有一些企业有单独的IPS或是IDS探测器,拥有强大的辨别恶意软件的功能。这样在有效减轻其它探测器负担的同时,保证了信息的高质量。

  ■ 信息包嗅探器 使用信息包嗅探器寻找与病毒匹配的网络流量特征对于确认感染的主机是很有效的。如果所有的恶意软件产生的网络流量都通过同一或是几个网络设备的时候,信息包嗅探器是最有效的。

  ■ 漏洞评估软件 绝大多数可以确认主机漏洞的程序也可以探测已知的恶意软件风险。尽管如此,漏洞评估软件对于主机上的新风险也无能为力。

  ■ 主机扫描 如果特定的软件导致感染的主机运行监视端口的恶意程序,对于已知端口的扫描可以有效地找出感染的主机

  ■ 其它扫描 除了主机扫描之外,其它扫描也是有帮助的,譬如说,特定的配置设置或是系统文件的大小

  几种主动确认技术的混合使用是最有效的,因为这样可以发挥每种技术的专长。譬如说,主机扫描可能在使用个人防火墙的主机上不够有效,因为防火墙阻止了扫描,但是信息包嗅探器和登录脚本在这种情况下却很有效。尽管主动确认技术的混合使用是很有效的,但是也要常常使用,因为感染状态的不断变化和数据搜集的时间差。

  4.3.6.3 人工确认

  确认感染主机的另一种方式就是人工方法。这是三种方式中最耗人力的,但是是成功确认必须的方式。在网络完全被与感染相关的流量占据的时候,主动方式就不行了。一旦恶意软件网络流量使用假冒的地址和产生大量的活动,由于大量信息的出现会淹没有价值的信息,这样会导致网络取证技术的失效。还有,如果用户拥有系统的完全控制权,系统特征的千变万化导致自动确认技术产生的结果不完全和不准确。在这种情况下,人工确认就是最好的选择。

  实施人工方法有几种可能的技术。一种就是,提供给用户关于恶意软件特征的一些信息,让他们自行确认感染。还有一种方式就是让IT管理人员检查所有的系统或是可疑系统。如果是远程办公室的话,非IT人士也可以做类似检查。

  4.3.6.4 关于感染主机确认的一些建议

  尽管采取主动确认的方式结果是最准确的,但是不是最快的。扫描所有主机相当耗时,由于有的系统断网或是关闭,扫描就得重来一次。如果取证数据是最近的,这确实是很好的信息来源,尽管这些信息不一定是综合性的。人工方式对于综合性的企业范围内的确认是不可行的,但是可以有效填补其它技术的空白。在很多情况下,同时使用多种方式是最有效的。

  企业要从实际出发,选择最有效的方式,以及确定使用的流程,这样在面临风险的时候有章可依。企业要确认哪些人或组织应该参与到这一过程中来。譬如,确认时需要安全管理人员(杀毒软件,IPS,防火墙,漏洞评估,扫描),系统管理人员(DNS,电子邮件和网络服务器),网络管理员(信息包嗅探器,路由器),台式机管理人员(Windows注册或文件扫描,登录脚本更改)等等。参与的人员需要明确责任,分工明确。

  4.4 清除恶意软件

  尽管清除的目标就是从感染系统中删除恶意软件,但是清除的意义远不止如此。如果感染的原因是由于系统漏洞或是安全缺陷,譬如说不安全的文件共享,这时候恶意软件的清除就包括漏洞的处置,防止恶意软件再借此漏洞感染系统。正如4.3.6中所述,清除行动要与抑制措施一起使用。譬如说,企业需要运行软件确认感染的主机,使用补丁填补漏洞,运用杀毒软件删除感染。抑制措施常常会限制清除手段的选择。譬如,如果恶意软件是通过断网的方式抑制的话,系统要么移到单独的VLAN中实现远程升级或者是人工重新配置。由于主机与网络断开,事件响应人员最好是快速完成修复任务,让用户尽管正常上网。

  敌动我动,根据不同的情形使用不同的清除技术。最常用的工具是杀毒软件,间谍软件探测和删除工具,补丁管理软件。自动清除方法,譬如说触发式杀毒扫描,就比单纯的人工扫描有效。但是自动清除方式不是在所有的情况下都最有效。譬如,一台感染的机器尝试破坏另外的系统或是消耗大量带宽,这需要采取断网和人工处理的方式。在4..3.1中讨论过,用户参与是很必要的。有一些情况下,需要给用户提供指导和软件升级,但是有一些用户需要帮助。在面临大规模的恶意软件事件的时候,额外的IT管理人员可以有效地减轻事件处理人员的工作量。如果企业没有专门的IT人员,培训员工基本的删除措施应对恶意软件。同时使用不同的抑制措施是必须的。

  在一些恶意软件事件中,重建感染系统是删除措施的一部分。重建包括重装系统和应用程序,恢复备份数据。由于重建主机跟其它方式相比,消耗了更多的资源,这种方式当是最后的选择。譬如说,有一些恶意软件极难清除,即使被移除,主机操作系统也可能被破坏,可能导致主机不能启动。如果主机是多重感染,或是感染了一段时间,或是安装了后门程序,rookit或其它攻击工具,在这种情况下,重建系统就是最有效的方式。在恶意软件发生的时候,企业要快速反应,重建主机系统。

  清除恶意软件有时令人懊恼,当你面对如此多的需要清除的系统的时候确实有点灰心,并且这些系统日复一日,年复一年的重复感染。事件处理人员要时常确认哪些主机仍然处于感染状态,以及清除的效果。如果出现感染主机的数量减少,这就说明策略的有效性,就为以后的事件处理积累的经验,指明了出路。如果感染主机的数量下降了很多,企业实施要继续努力,争取将数量减小到最少。

  清除大范围的恶意软件感染需要承受很大的压力,特别是员工和管理层对于清除需要消耗的事件没有底的时候。由于感染机器数量之多,以及系统的变化性,很多企业需要花费数天或一个星期的时间完成感染系统恶意软件的清除。因此做好员工和管理层的教育,获得他们的谅解和支持是很重要的。

  由于很多rookit导致系统的变化,破坏最重要的文件,这就需要花费大量的时间和资源完全清除系统中的rookit。一般来说,发现rookit的时候最好是重装系统。重装系统需要重装和重新配置操作系统和应用程序,或是恢复备份数据。一般说来,在下列情况下,最好是采取重装系统的方式:

  ■ 多个攻击者获取了管理员权限

  ■ 任何人都可以使用后门程序,蠕虫或是其它方式获取管理员权限的访问

  ■ 系统文件已经被木马,后门程序,rookit,攻击者工具或是其它文件代替

  ■ 使用杀毒软件,间谍软件探测和清除软件或是其它技术删除恶意软件之后,系统出现不稳定。这说明恶意软件为被清除干净或是重要的系统和应用程序设置遭篡改

  如果恶意软件事件没有上诉特征,使用常见的恶意软件清除方式即可。一旦发现对系统未经授权的访问,企业可以考虑重建系统。

  4.5恢复措施

  恢复措施的两个重要方面:恢复系统功能和系统数据; 删除临时的抑制措施。那些造成损害比较小的恶意软件事件不需要采取额外的行动恢复系统。在4.4中,我们已经讨论过,对于危害比较大的恶意软件,木马,rookit或是后门程序等,最好先重建系统或是从备份数据中恢复,然后采取有效措施确保系统的安全。不怕一万,只怕万一。企业要做好应对最坏情况的打算,譬如恶意软件删除了所有的硬盘数据。在恢复的过程中,要确定谁负责恢复任务,估计人工,花费的时间,以及恢复数据的优先顺序。

  决定什么时候移除临时抑制措施很难,譬如中断的服务(电子邮件)或连接(网络访问,VPN等)。譬如说,为了防止恶意软件的传播,电子邮件服务被中断,与此同时,漏洞系统和感染的系统正在经历恶意软件抑制,清除和恢复措施。然而,后者需要花费数星期的时间完全完成,但是电子邮件服务却不能中断如此之久。如果邮件服务恢复了,几乎可以肯定的是感染系统就开始传播恶意软件了。但是,如果所有的系统都下载了补丁,恶意软件感染的压力就是最小的。技术人员要保证抑制措施直至感染系统造成的威胁微乎其微。尽管如此,事件响应人员还是要评估重启服务的危险,根据技术人员的建议和管理层对于商业压力的理解,管理层要为最终的决定负责。

  4.6 经验教训

  当发生恶意软件事件之后,技术人员要连续多天的努力工作。随着恶意软件处理的结束,关键技术人员估计也是身心俱疲。由于这些原因,本该是很重要的经验教训总结被忽略了。所以企业要高度重视这种 “重处理,轻总结”的情况。以下就是从一些事件中学到的经验教训:

  ■ 安全政策的改变 调整安全政策,防范类似的风险。

  ■ 员工安全意识教育的变化 提高员工在事件处理中参与的主动程度

  ■ 软件重新配置 操作系统或是应用程序随着安全政策的变化而变化

  ■ 恶意软件探测软件的部署 如果系统的感染是由于未受保护的传输机制造成的,最好是部署额外的软件

  ■ 恶意软件探测软件重新配置 探测软件需要在多个方面重新配置,如下,

  ○增加软件和病毒库升级的频率

  ○提高探测的准确性

  ○扩大监视范围

  ○提高病毒库升级分布的时效性

  4.7 总结

  总之,企业需要有丰富的响应机制应对日益疯狂的恶意软件事件。笔者上诉的一些建议是根据目前的恶意软件情形提出的一些建议。恶意软件未来的发展会提出越来越多的挑战。我们始终相信,只要我们付出持续不断努力,恶意软件事件是可以抑制的。

热词搜索:

上一篇:交换机故障的10种类型判断总结
下一篇:云计算存在四大问 题阻碍企业的部署应用

分享到: 收藏