■ 限制浏览器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要写满,防止添加新的内容。之所以这样做是为了防止恶意软件入侵工具包,篡改其功能,导致不能报告恶意行为。使用这种相对隔离的,受保护的工具可以更加有效地了解恶意软件。