网络信息系统应急响应

179 阅读27分钟

目标:学习《计算机网络安全》

随着网络信息系统在政治、金融、商业、文教等方面发挥越来越大的作用,社会对网络信息系统的依赖也日益增强。而不断出现的软硬件故障、病毒发作、网络入侵、网络蠕虫、黑客攻击、天灾人祸等安全事件也随之变得非常突出。由于安全事件的突发性、复杂性与专业性,为了有备无患,需要建立信息系统安全事件的快速响应机制,信息系统安全应急响应应运而生。为此,还专门有了中国计算机网络应急技术协调处理中心(CNCERT/CC:China Computer Emergency Response Team/Coordination Center)。

应急响应概述

应急响应产生的背景

近年来,Internet上直接或者是间接危害到IP网络资源安全的攻击事件越来越多。一方面,网络业务节点自身的安全性下降,路由器、交换机等专用网络节点设备上越来越多的安全漏洞被发掘出来,设备厂家为了修补安全漏洞而发布的补丁程序越来越多;另一方面,黑客攻击技术有了很大的发展,从最初主要是基于单机安全漏洞以渗透入侵为主,到近年来发展到基于Internet的主机集群进行以拒绝服务为目的的分布式拒绝服务攻击,同时,以网络蠕虫病毒为代表的,融合传统黑客技术与病毒技术于一身的“新一代主动式恶意代码”攻击技术的出现,标志着黑客技术发生了质的变化。无论是分布式拒绝服务攻击还是网络蠕虫病毒,都会在攻击过程中形成突发的攻击流量,严重时会阻塞网络,造成网络瘫痪。总体来看,由于系统漏洞和攻击技术的变化,不安全的网络环境已经越来越多地暴露在网络黑客不断增强的攻击火力之下。

从根本上讲,在现实环境中是不存在绝对的安全的,任何一个系统总是存在被攻陷的可能性,很多时候恰恰是在被攻陷后,人们才会发现并改善系统中存在的薄弱环节,从而把系统的安全保护提高到一个更高的水平。事实上,整个Internet的安全水平始终就是在“道高一尺,魔高一丈”的实战过程中螺旋式上升的。正是认识到这一客观事实,在所有的网络安全模型中都包含了事件响应这样一个重要的环节。

安全应急响应的重要性不仅体现在它是整个安全防御体系中一个不可缺少的环节。事实上,一个有效的应急机制对于事件发生后稳定局势往往起到至关重要的作用。事故发生后现场环境通常是非常混乱的,除非做了非常充分的准备工作,否则人们往往会因为不清楚问题所在和应当做什么而陷入茫然失措的状态,甚至当事人还可能在混乱中执行不正确的操作,导致更大的灾害和混乱的发生。因此,在缺少安全应急响应机制的环境中,发生事件后整个局面存在着随时陷入失控状态的危险。

网络安全应急响应主要是提供一种机制,保证资产在遭受攻击时能够及时地取得专业人员、安全技术等资源的支持,并且保证在紧急的情况下能够按照既定的程序高效有序地开展工作,使网络业务免遭进一步的侵害,或者是在网络资产已经被破坏后能够在尽可能短的时间内迅速恢复业务系统,减小业务的损失。

国际应急响应组织

在安全应急响应发展方面,信息化发达国家有着较为悠久的历史。美国早在1988年就成立了全球最早的计算机应急响应组织(Computer Emergency Response Team,CERT),到2003年8月为止,全球正式注册的CERT已达188个。这些应急组织不仅为各自地区和所属行业提供计算机和互联网安全事件的紧急响应处理服务,还经常互相沟通和交流,形成了一个专业领域。我国的应急组织成立于1999年,逐步发展壮大,目前已形成了互联网应急处理体系框架,虽然总地来看还处于边学习边实践的起步阶段,但是,从这两年几次大规模网络安全事件的处理来看,我国的应急响应组织已经发挥出明显作用。

1988年11月,美国康乃尔大学学生莫里斯编写了一个“圣诞树”蠕虫程序。该程序可以利用Internet上计算机的sendmail的漏洞、finger的缓冲区溢出及REXE的漏洞进入系统并自我繁殖,鲸吞Internet网的带宽资源,造成全球10%的联网计算机陷入瘫痪。这起计算机安全事件极大地震动了美国政府、军方和学术界,被称作“莫里斯事件”。

事件发生之后,美国国防部高级计划研究署(DARPA)出资在卡内基-梅隆大学(CMU)的软件工程研究所(SEI)建立了计算机应急处理协调中心。该中心现在仍然由美国国防部支持,并且作为国际上的骨干组织积极开展相关方面的培训工作。自此,美国各有关部门纷纷开始成立自己的计算机安全事件处理组织,世界上其他国家和地区也逐步成立了应急组织。

1990年11月,由美国等国家应急响应组织发起,一些国家的CERT组织参与成立了计算机事件响应与安全工作组论坛(FIRST:Forum of Incident Response and Security Team)。

FIRST的基本目的是使各成员能在安全漏洞、安全技术、安全管理等方面进行交流与合作,以实现国际间的信息共享、技术共享,最终达到联合防范计算机网络攻击行为的目标。

FIRST组织有两类成员,一是正式成员,二是观察员。我国的国家计算机网络应急技术处理协调中心(CNCERT/CC)于2002年8月成为FIRST的正式成员。FIRST组织有一个由十人构成的指导委员会,负责对重大问题进行讨论,包括接受新成员。新成员的加入必须有推荐人,并且需要得到指导委员会2/3的成员同意。FIRST的技术活动除了各成员之间通过保密通信进行信息交流外,每季度还开一次内部技术交流会,每年开一次开放型会议,通常是在美国和其他国家交替进行。

我国应急响应组织

与美国第一个应急组织诞生的原因类似,我国应急体系的建立也是由于网络蠕虫事件的发生而开始,这次蠕虫事件就是发生在2001年8月的红色代码蠕虫事件。由于红色代码集蠕虫、病毒和木马等攻击手段于一身,利用Windows操作系统一个公开漏洞作为突破口,几乎是畅通无阻地在互联网上疯狂地扩散和传播,迅速传播到我国,并很快渗透到金融、交通、公安、教育等专用网络中,造成互联网运行速度急剧下降,局部网络甚至一度瘫痪。

当时我国仅有几个力量薄弱的应急组织,根本不具备处理如此大规模事件的能力,而各互联网运维部门也没有专门的网络安全技术人员,更没有协同处理的机制,各方几乎都束手无策。紧要关头,在CNCERT/CC的建议下,信息产业部组织了各个互联网单位和网络安全企业参加的应急响应会,汇总了全国当时受影响的情况,约定了协调处理的临时机制,确定了联系方式,并最终组成了一个网络安全应急处理联盟。

2001年10月,工信部提出建立国家计算机紧急响应体系,并且要求各互联网运营单位成立紧急响应组织,能够加强合作、统一协调、互相配合。自此,我国的应急体系应运而生。目前,我国应急处理体系已经经历了从点状到树状的发展过程,并正在朝网状发展完善,最终要建设成一个覆盖全国、全网的应急体系。

我国当前的网络应急组织体系是在国家网络与信息安全协调小组办公室领导下建设的,分为国家级政府层次、国家级非政府层次和地方级非政府层次等三个层面。

国家级政府层次以信息产业部互联网应急处理协调办公室为中心,向下领导国家级非政府层次的工作,横向与我国其他部委之间进行协调联系,同时负责与国外同层次的政府部门(如APEC经济体)之间进行交流和联系。

国家级非政府层次以CNCERT/CC为中心,向上接受信息产业部的领导,向下领导其遍布全国的分中心的工作,协调各个骨干互联网单位CERT小组的应急处理工作,协调和指导国家计算机病毒应急处理中心、国家计算机网络入侵防范中心和国家863计划反计算机入侵和防病毒研究中心等三个专业应急组织的工作,指导公共互联网应急处理国家级试点单位的应急处理工作;CNCERT/CC同时还负责与国际民间CERT组织之间的交流和联系,负责利用自身的网络安全监测平台对全国互联网的安全状况进行实时监测。在这个层次中,还有正在建设中的信息产业部网络安全、信息安全和应急处理等三个专业的重点实验室,其任务是进行专门的技术研究,为CNCERT/CC开展应急处理协调工作提供必要的技术支撑。

地方级非政府层次主要以CNCERT/CC各分中心为中心,协调当地的IDC应急组织、指导公共互联网应急处理服务省级试点单位开展面向地方的应急处理工作。

整个体系由国家网络与信息安全协调小组、信息产业部、CNCERT/CC及其各分中心构成核心框架,协调和指导各互联网单位应急组织、专业应急组织、安全服务试点单位和地方IDC应急组织共同开展工作,各自明确职责和工作流程,形成了一个有机的整体。

CNCERT/CC成立于2000年10月,主页为http://www.cert.org.cn/。它的主要职责是协调我国各计算机网络安全事件应急小组,共同处理国家公共电信基础网络上的安全紧急事件,为国家公共电信基础网络、国家主要网络信息应用系统以及关键部门提供计算机网络安全的监测、预警、应急、防范等安全服务和技术支持,及时收集、核实、汇总、发布有关互联网安全的权威信息,组织国内计算机网络安全应急组织进行国际合作和交流。其从事的工作内容如下。
(1)信息获取:通过各种信息渠道与合作体系,及时获取各种安全事件与安全技术的相关信息。
(2)事件监测:及时发现各类重大安全隐患与安全事件,向有关部门发出预警信息,提供技术支持。
(3)事件处理:协调国内各应急小组处理公共互联网上的各类重大安全事件,同时,作为国际上与中国进行安全事件协调处理的主要接口,协调处理来自国内外的安全事件投诉。
(4)数据分析:对各类安全事件的有关数据进行综合分析,形成权威的数据分析报告。
(5)资源建设:收集整理安全漏洞、补丁、攻击防御工具、最新网络安全技术等各种基础信息资源,为各方面的相关工作提供支持。
(6)安全研究:跟踪研究各种安全问题和技术,为安全防护和应急处理提供技术和理论基础。
(7)安全培训:进行网络安全应急处理技术及应急组织建设等方面的培训。
(8)技术咨询:提供安全事件处理的各类技术咨询。
(9)国际交流:组织国内计算机网络安全应急组织进行国际合作与交流。

CNCERT/CC应急处理案例如下。
(1)网络蠕虫事件:如SQL Slammer蠕虫、口令蠕虫、冲击波蠕虫等。
(2)DDoS攻击事件:如部分政府网站和大型商业网站遭到了攻击。
(3)网页篡改事件:如2003年全国共有435台主机上的网页遭到篡改,其中包括143个主机上的337个政府网站。
(4)网络欺诈事件:如处理了澳大利亚和中国香港等CERT组织报告的几起冒充金融网站的事件。

应急响应的阶段

书中按照国外有关材料的总结,通常把应急响应分成几个阶段的工作,即准备、检测、抑制、根除、恢复、报告和总结等阶段。

  1. 准备阶段 在事件真正发生之前应该为事件响应做好准备,这一阶段十分重要。准备阶段的主要工作包括建立合理的防御/控制措施,建立适当的策略和程序,获得必要的资源和组建响应队伍等。

  2. 检测阶段 检测阶段要做出初步的动作和响应,根据获得的初步材料和分析结果,估计事件的范围,制订进一步的响应战略,并且保留可能用于司法程序的证据。

  3. 抑制阶段 抑制的目的是限制攻击的范围。抑制措施十分重要,因为太多的安全事件可能迅速失控。典型的例子就是具有蠕虫特征的恶意代码的感染。可能的抑制策略一般包括:关闭所有的系统;从网络上断开相关系统;修改防火墙和路由器的过滤规则;封锁或删除被攻破的登录账号;提高系统或网络行为的监控级别;设置陷阱;关闭服务;反击攻击者的系统等。

  4. 根除阶段 在事件被抑制之后,通过对有关恶意代码或行为的分析结果,找出事件根源并彻底清除。对于单机上的事件,主要可以根据各种操作系统平台的具体的检查和根除程序进行操作;但对于大规模爆发的带有蠕虫性质的恶意程序,要根除各个主机上的恶意代码,是十分艰巨的一个任务。很多案例表明,众多用户并没有真正关注他们的主机是否已经遭受入侵,有的甚至持续一年多,任由其感染蠕虫的主机在网络中不断地搜索和攻击别的目标。造成这种现象的重要原因是各网络之间缺乏有效的协调,或者是在一些商业网络中,网络管理员对接入到网络中的子网和用户没有足够的管理权限。

  5. 恢复阶段 恢复阶段的目标是把所有被攻破的系统和网络设备彻底还原到它们正常的任务状态。恢复工作应该十分小心,避免出现误操作导致数据的丢失。另外,恢复工作中如果涉及机密数据,需要额外遵照机密系统的恢复要求。对不同任务的恢复工作的承担单位,要有不同的担保。如果攻击者获得了超级用户的访问权,一次完整的恢复应该强制性地修改所有的口令。

  6. 报告和总结阶段 这是最后一个阶段,却是绝对不能忽略的重要阶段。这个阶段的目标是回顾并整理发生事件的各种相关信息,尽可能地把所有情况记录到文档中。这些记录的内容,不仅对有关部门的其他处理工作具有重要意义,而且对将来应急工作的开展也是非常重要的积累。

应急响应的方法

Windows系统应急响应方法

在Windows操作系统下,如果某一天,当使用计算机的时候,发现计算机出现诸如硬盘灯不断闪烁、鼠标乱动、使用起来非常慢、内存和CPU使用率非常高等情况,这时怀疑计算机出了安全问题,那么出于安全的考虑,应该做些什么呢?特别是如何找出问题出在哪里?具体的解决方法如下。

  1. 拔掉网线,关掉无线上网 无论出现任何安全问题,或者怀疑有安全问题,都请记住,所要做的第一件事就是将自己的计算机进行物理隔离。这样可以防止事态进一步恶化。 具体来说,如果正在上网,应将网线拔掉;如果使用的是无线上网,应禁用无线上网功能。

  2. 查看、对比进程,找出出问题的进程 通常怀疑计算机有安全问题的时候,需要采用同时按〈Ctrl+Alt+Delete〉三个键的方法来查看系统的进程。但是计算机里许多进程,怎样找出是哪一个进程出了问题呢?可以采用进程对比的方式进行查找。

(1)在刚装完计算机的时候,将计算机里所有的进程记录下来。(一开始真的不一定能记得要记下来这些信息,现在记下来不知道晚了没,但是个人还是不太想记,嘻嘻)
手工将计算机每个进程记录下来比较麻烦,费事费时。推荐大家采用图片的方式进行记录。方法是同时按〈Ctrl+Alt+Delete〉三个键,等进程出来后,再按下〈Prnt Scrn〉键。它的功能是将计算机的屏幕当作图片复制下来。然后,再打开画笔程序,按下〈Ctrl+v〉键将图片复制到画笔里面,再保存就行了。有时候一屏保存不完,可以进行全屏、多屏保存,这样最多3屏就可以将所有的进程保存下来了。

(2)将目前怀疑有问题的进程调出来,与上面保存的进程进行对比,找出出问题的进程。
对比的时候,最好将进程进行字母排序,这样对比起来更快一些。排序的方法是在进程框中用鼠标单击“映像名称”即可。

(3)通过搜索引擎等找出问题根源。
通过查看、对比的方法找出可能出了问题的进程。这时,就可以在搜索引擎上搜索一下,看看这个进程是做什么的,是不是病毒等。如果是病毒的话,网上会有很多关于这种病毒的防治方法。

  1. 查看、对比端口,找出出问题的端口

通常怀疑计算机有安全问题的时候,也可以通过查看端口的方法来判断,特别是在怀疑计算机里中了木马的时候。因为木马通常都有自己的端口,比如著名的“冰河”木马,它所使用的端口号是7626。这里如果发现自己计算机的7626端口是开放的,那么计算机很可能是中了“冰河”木马了。

如此一来,关键是如何找出出问题的进程。查看进程的时候,可以使用DOS命令netstat来完成。方法是用鼠标单击“开始”→“运行”,输入“cmd”进入DOS提示符状态。然后输入DOS命令“netstat”或“netstat -ano”来查看系统的端口。

找出出问题的端口的方法和上面所讲的找出出问题进程的方法是一样的,也可以采用图片对比的方式。

找出出问题的端口后,也可以在搜索引擎上查找问题端口的信息。同时还可以利用netstat命令查看系统端口对应的PID号与系统进程的PID号去对应,可以找出特定端口对应的进程。

  1. 查看开放端口所对应的程序

通过netstat命令可以看到系统里有哪些端口是开放的。但是通常更需要知道的是开放端口所对应的应用程序是哪些。这里书中介绍一个工具名叫“fport.exe”。只要将这个文件下载下来,在DOS环境下运行一下,可以很清楚地看到端口对应的应用程序。

  1. 查看、对比注册表 通常怀疑计算机有安全问题的时候,还可以通过查看对比注册表的方式,来找出问题的根源。注册表的“HKEY_LOCOL_MACHINE\SOFTWARE\Microsoft\Windows\CurrrentVersion \Run”里面存放的是计算机启动之后系统自动要加载的项。这里通常也是黑客感兴趣的地方,许多病毒、木马程序经常将自己的可执行文件放在这里,以便开机之后能自动运行。

找出注册表出问题的项的方法和上面所讲的找出出问题进程的方法是一样的,也是采用图片对比的方式。找出出问题的注册表项后,也可以在搜索引擎上查找相关信息。

  1. 查看其他安全工具的日志 通过查看其他安全工具日志,也可以找出问题的根源,其他工具包括防火墙、入侵检测、网络蜜罐等。

个人防火墙的使用

如果通过某种方式知道有一个IP在对计算机发起攻击,想要封掉这个IP,或希望关闭一个不必要的危险端口,可以通过个人防火墙来实现。(书中举例了使用<诺顿个人防火墙>)

蜜罐技术

入侵检测系统能够对网络和系统的活动情况进行监视,及时发现并报告异常现象。但是,入侵检测系统在使用中存在着难以检测新类型黑客攻击方法,可能漏报和误报的问题。

蜜罐使这些问题有望得到进一步的解决,通过观察和记录黑客在蜜罐上的活动,人们可以了解黑客的动向、黑客使用的攻击方法等有用信息。如果将蜜罐采集的信息与IDS采集的信息联系起来,则有可能减少IDS的漏报和误报,并能用于进一步改进IDS的设计,增强IDS的检测能力。

对攻击行为进行追踪属于主动式的事件分析技术。在攻击追踪方面,最常用的主动式事件分析技术是“蜜罐”技术。

蜜罐是当前最流行的一种陷阱及伪装手段,主要用于监视并探测潜在的攻击行为。蜜罐可以是伪装的服务器,也可以是伪装的主机。一台伪装的服务器可以模拟一个或多个网络服务,而伪装主机是一台有着伪装内容的正常主机,无论是伪装服务器还是伪装主机,与正常的服务器和主机相比,它们还具备监视的功能。

书中提到Trap Server.exe软件是一个常用的蜜罐软件。此软件是一个适用于Win95/98/Me/NT/2000/XP等系统的“蜜罐”,可以模拟很多不同的服务器,如ApacheHTTP Server和Microsoft IIS等

蜜罐的伪装水平取决于三点,即内容的可信性、内容的多样性和对系统平台的真实模拟。其中,内容的可信性是指当供给者获取信息时,在多大程度上、用多长时间能够吸引攻击者;内容的多样性是指应提供不同内容的文件来吸引攻击者;对系统平台的真实模拟是指蜜罐系统与被伪装的系统之间应采用相同的工作方式。在设计蜜罐的时候需要考虑下面一些问题:
(1)蜜罐应当伪装的对象类型。
(2)蜜罐应当为入侵者提供何种模式的工作窗口。
(3)蜜罐应当工作在何种系统平台上。
(4)应当部署的蜜罐数目。
(5)蜜罐的网络部署方式。
(6)蜜罐自身的安全性。
(7)如何让蜜罐引人注意。

由于蜜罐技术能够直接监视到入侵的行为过程,这对于掌握事件的行为机制以及了解攻击者的攻击意图都是非常有效的。根据蜜罐技术的这些功能特点,可以确定两个主要的应用场合。

(1)对于采用网络蠕虫机制自动进行攻击并在网上快速蔓延的事件,部署蜜罐可以迅速查明攻击的行为机理,从而提高事件的响应速度。
(2)对于隐藏攻击行为,以渗透方式非法获取系统权限入侵系统的事件,部署蜜罐有助于查明攻击者的整个攻击行为机制,从而逆向追溯攻击源头。

要成功地部署并使用蜜罐技术还需要在实际应用过程中进行一系列的操作,其中涉及的主要内容如下。

  • 在部署之前对蜜罐进行测试。
  • 记录并报告对蜜罐的访问。
  • 隔一定的时间对蜜罐做检查和维护。
  • 按一定的策略调整蜜罐在网络中部署的位置。
  • 按一定的安全方式从远程管理蜜罐。
  • 按照预定的时间计划清除过时的蜜罐。
  • 在蜜罐本身遭受攻击时采取相关的事件响应操作。

计算机crime取证

在应急响应的第4个阶段即根除阶段,一个很重要的过程就是取证,抓获元凶,只有这样才能从根本上铲除对计算机系统的危害。通常进行计算机系统取证的方法有以下几种。

  1. 对比分析技术 将收集的程序、数据、备份等与当前运行的程序、数据进行对比,从中发现篡改的痕迹。例如对比文件的大小,采用MD5算法对比文件的摘要等。

  2. 关键字查询技术 对所做的系统硬盘备份,用关键字匹配查询,从中发现问题。

  3. 数据恢复技术 计算机犯罪发生后,案犯往往会破坏现场,毁灭证据。因此对破坏和删除的数据要进行有效分析,才能从中发现蛛丝马迹。这种恢复建立在对磁盘管理系统和文件系统熟知的基础上。例如,可以采用Easy Recovery等工具来恢复系统中删除的文件。

  4. 文件指纹特征分析技术 该技术利用磁盘按簇分配的特点,在每一文件尾部会保留一些当时生成该文件的内存数据。这些数据即成为该文件的指纹数据,根据此数据可判断文件最后修改的时间。该技术用于判定作案时间。

  5. 残留数据分析技术 文件存储在磁盘后,由于文件实际长度要小于或等于实际占用簇的大小,因此在分配给文件的存储空间中,大于文件长度的区域会保留原来磁盘存储的数据,利用这些数据来分析原来磁盘中存储的数据内容。

  6. 磁盘存储空闲空间的数据分析技术 磁盘在使用过程中,对文件要进行大量增、删、改、复制等操作。人们传统认识认为,进行这些操作时,只对磁盘中存放的原文件进行局部操作。而系统实际上是将文件原来占用的磁盘空间释放,使之成为空闲区域,经过上述操作的文件重新向系统申请存储空间,再写入磁盘。这样经过一次操作的数据文件写入磁盘后,在磁盘中就会存在两个文件,一个是操作后实际存在的文件,另一个是修改前的文件,但其占用的空间业已释放,随时可以被新文件覆盖。掌握这一特性,该技术可用于数据恢复,对被删除、修改、复制的文件,可追溯到变化前的状态。

  7. 磁盘后备文件、镜像文件、交换文件、临时文件分析技术 在磁盘中,有时软件在运行过程中会产生一些诸如.TMP的临时文件,还有诺顿这种软件可对系统区域的重要内容(如磁盘引导区、FAT表等)形成镜像文件,以及.bak、.swp文件等。要注意对这些文件的分析,掌握其组成结构,这些文件中往往会记录一些软件运行状态和结果,以及磁盘的使用情况等,对侦察分析工作会提供帮助。

  8. 记录文件的分析技术 目前一些新的系统软件和应用软件中,对已操作过的文件有相应的记录。例如,Windows操作系统在“开始”下的“文档”菜单中记录了所使用过的文件名,IE及Netscape中有Bookmark记录了浏览过的站点地址。这些文件名和地址可以提供一些线索和证据。

  9. 入侵监测分析技术 利用入侵监测工具,对来自网络的各种攻击进行实时监测,发现攻击源头和攻击方法,并予以记录,作为侦破的线索和证据。

  10. 陷阱技术 设计陷阱捕获攻击者,如蜜罐技术等。