网络安全应急响应及其发展方向
计算机信息系统和网络已经成为社会重要的基础设施,而网络安全始终是笼罩在Internet天空的一片乌云,对社会的威胁也与日俱增。自1988年莫里斯蠕虫事件以来,网络安全事件逐年上升,所造成的损失越来越大。自从CERT/CC成立以来,世界各地成立了各种类型的应急响应组,在我国应急响应也得到了各界的广泛关注。然而究竟什么是应急响应?它涉及到那些关键技术?
本文首先从三个方面讨论了应急响应的概念,然后给出了应急响应在网络安全的生命周期模型中的位置以及和其他各种安全措施的关系及其意义。第二部分给出了应急响应组的概念、发展历史和现状。第三部分讨论了应急响应所涉及的关键技术,第四部分从技术和社会两个方面介绍了应急响应的发展方向。
1、应急响应概述
1.1应急响应的定义
“应急响应”对应的英文是“Incident Response”或“Emergency Response”等,通常是指一个组织为了应对各种意外事件的发生所做的准备以及在事件发生后所采取的措施。以下我们从这三个方面解释应急响应的概念:应急的对象是什么?应急响应做什么?应急响应由谁来做?
1.1.1应急响应的对象
计算机网络安全事件应急响应的对象是指针对计算机或网络所存储、传输、处理的信息的安全事件,事件的主体可能来自自然界、系统自身故障、组织内部或外部的人、计算机病毒或蠕虫等。按照计算机信息系统安全的三个目标,可以把安全事件定义为破坏信息或信息处理系统CIA的行为。比如:
1.破坏保密性的安全事件:比如入侵系统并读取信息、搭线窃听、远程探测网络拓扑结构和计算机系统配置等; 2.破坏完整性的安全事件:比如入侵系统并篡改数据、劫持网络连接并篡改或插入数据、安装特洛伊木马(如BackOrifice2K)、计算机病毒(修改文件或引导区)等; 3.破坏可用性(战时最可能出现的网络攻击)的安全事件:比如系统故障、拒绝服务攻击、计算机蠕虫(以消耗系统资源或网络带宽为目的)等。但是越来越多的人意识到,CIA界定的范围太小了,比如以下事件通常也是应急响应的对象:
4.扫描:包括地址扫描和端口扫描等,为了侵入系统寻找系统漏洞。 5.抵赖:指一个实体否认自己曾经执行过的某种操作,比如在电子商务中交易方之一否认自己曾经定购过某种商品,或者商家否认自己曾经接受过订单。 6.垃圾邮件骚扰:垃圾邮件是指接收者没有订阅却被强行塞入信箱的广告、政治宣传等邮件,不仅耗费大量的网络与存储资源,也浪费了接收者的时间。 7.传播色情内容:尽管不同的地区和国家政策不同,但是多数国家对于色情信息的传播是限制的,特别是对于青少年儿童的不良影响是各国都极力反对的。 8.愚弄和欺诈:是指散发虚假信息造成的事件,比如曾经发生过几个组织发布应急通告,声称出现了一种可怕的病毒“Virtual Card for You”,导致大量惊惶失措的用户删除了硬盘中很重要的数据,导致系统无法启动。
本文把安全事件定义为违反安全政策(Security Policy)的行为。由于不同的组织有不同的安全政策,因此,对安全事件的定义也各不相同。
1.1.2应急响应做什么?
应急响应的活动应该主要包括两个方面: 第一、未雨绸缪,即在事件发生前事先做好准备,比如风险评估、制定安全计划、安全意识的培训、以发布安全通告的方式进行的预警、以及各种防范措施; 第二、亡羊补牢,即在事件发生后采取的措施,其目的在于把事件造成的损失降到最小。这些行动措施可能来自于人,也可能来自系统,不如发现事件发生后,系统备份、病毒检测、后门检测、清除病毒或后门、隔离、系统恢复、调查与追踪、入侵者取证等一系列操作。
以上两个方面的工作是相互补充的。首先,事前的计划和准备为事件发生后的响应动作提供了指导框架,否则,响应动作将陷入混乱,而这些毫无章法的响应动作有可能造成比事件本身更大的损失;其次,事后的响应可能发现事前计划的不足,吸取教训,从而进一步完善安全计划。因此,这两个方面应该形成一种正反馈的机制,逐步强化组织的安全防范体系。
1.1.3谁来负责应急响应?
很多人把应急响应和应急响应组和紧急响应组等同起来,认为应急响应只是应急响应组的工作,其实不然,任何组织都需要有一个应急响应的计划和程序。 应急响应远不止简单的诊断技巧,它需要组织内部的管理人员和技术人员共同参与,有时可能会借助外部的资源,甚至诉诸法律。因此,象我们讨论安全的责任一样,一个组织内部的应急响应是该组织中每一个人的责任。
1.2应急响应与安全生命周期
我们把计算机信息系统的安全系统看作一个动态的过程,它包括制定风险评估(Risk Analysis)、实施事前的预防措施(Prevention)、实施事中的检测措施(Detection)、以及事后的响应(Response)。这四个阶段形成了一个周期,我们称之为以安全政策为中心的安全生命周期的P-RPDR模型。
其中,风险分析产生安全政策,安全政策决定预防、检测、和响应措施。应急响应在这个模型中,不仅仅是预防和检测措施的必要,而且对可以发现安全政策的漏洞,重新进行风险评估、修订安全政策、加强或调整预防、检测和响应措施有很大的促进作用。
1.3为什么需要应急响应?
我们为什么不把所有的资源投放到安全生命周期的前几个阶段,而把注意力集中在事后的响应?我们从一下几个方面讨论应急响应的必要性。
1.3.1安全事件影响的严重性
尽管人们对网络安全的关注与投资与日俱增,但是安全事件的数量和影响并没有因此而减少。图2是卡内基梅隆大学的CERT/CC事件报告的统计数字。读者应该清楚,向CERT/CC报告的安全事件还只是很少的一部分。 2001年美国联邦调查局(FBI)和计算机安全研究所(CSI)联合进行的计算机犯罪调查结果显示,85%的组织机构遭遇过安全破坏事件,64%的组织回答这些事件引起了不同程度的经济损失,这些事件带来的损失加起来有3.78亿美元之多!
1.3.2安全漏洞的普遍性
计算机网络和系统变得越来越复杂了。计算机软件(包括操作系统和应用软件)的安全缺陷往往与软件的规模和复杂性成正比。从设计、实现到维护阶段,都留下了大量的安全漏洞。应急响应有助于降低这些漏洞一旦被攻破所带来的影响。
1.3.3攻击和恶意代码的流行性
利用系统的安全漏洞侵入或攻击计算机网络的程序在计算机网络上也广为传播,拒绝服务攻击的程序更是随处可见。所谓的“黑客”不再是天才的少年,对计算机知识一窍不通的人利用这些工具也可以对计算机系统造成很大破坏。
1.3.4入侵检测能力的局限性
入侵检测的确对单纯防御性的防范是个必要的补充,但是,今天的入侵检测工具离我们的期望还有很大距离。误报率高导致我们对大量的告警置之不理,而对于真实的攻击,目前基于模式匹配的系统漏报率很高。应急响应能力可以在一定程度上弥补入侵检测系统的不足。
1.3.5网络和系统管理的复杂性
从管理的层次上讲,每一个组织都应该经过风险分析制定出完备的安全政策,并把安全政策放在一个重要的地位,然后根据安全政策制定防御措施和检测措施。然而,不幸的是,目前很少有组织能够制定完备的安全政策,甚至根本就没有一份安全政策的文档。另一方面,即便具备了完备的安全政策,随着业务的发展和变化,安全政策的更新也可能不及时。 应急响应在一定程度上弥补了维护和安全政策的不足,并且应急响应也可以及时发现这些不足,从而增强维护工作,完善安全政策。
1.3.6法律方面
越来越多的组织在遭受攻击之后希望通过法律的手段追查肇事者,需要出示收集到的数据作为证据,这就是计算机取证技术。取证是应急响应中的重要环节。
2应急响应组
2.1应急响应组起源
1988年的莫里斯蠕虫事件之后的一个星期内,美国国防部资助卡内基梅隆大学(CMU)的软件工程研究所成立了计算机紧急响应组协调中心(CERT/CC),通常被认为是第一个应急响应组。
CERT/CC成立后,世界各地应急响应组雨后春笋般的出现在世界各地。比如美国空军的AFCERT、澳大利亚的AusCERT、德国的DFN-CERT、Cisco公司的Cisco PSIRT等。为了各响应组之间的信息叫化与协调,1990年成立了一个应急响应与安全组论坛FIRST(Forum of Incident Response and Security Teams),发起时有11个成员,至2002年初已经发展成一个超过100个成员的国际性组织。
在中国,1999年在清华大学成立了中国教育和科研网紧急响应组(CCERT),是中国大陆第一个计算机安全应急响应组,目前已经在全国各地成立了NJCERT、PKUCERT、GZCERT、CDCERT等多个应急响应组。2000年在美国召开的FIRST年会上,CCERT第一次在国际舞台上介绍了中国应急响应的发展。CCERT由中国教育和科研计算机网资助,以中国教育和科研网的用户为客户群,同时也为CERNET以外社会用户提供尽力而为的服务。 CNCERT/CC是国家计算机网络应急处理协调中心,该中心是在国家因特网应急小组协调办公室的直接领导下,协调全国范围内计算机安全应急响应小组(CSIRT)的工作,以及与国际计算机安全组织的交流。CNCERT/CC还负责为国家重要部门和国家计算机网络应急处理体系的成员提供计算机网络应急处理服务和技术支持的组织。目前,CNCERT已经成为FIRST的正式会员。
2.2什么是应急响应组
尽管CERT/CC早就宣称CERT/CC是他们注册的名称,许多应急响应组都以CERT、CIRT等命名。国际上通常把应急响应组称为CSIRT(Computer Security Incident Response Team)。 根据RFC 2350中的定义,CSIRT是对一个固定范围的客户群内的安全事件进行处理。协调、或提供支持的一个团队。组织一个应急响应组究竟需要多少人?这要看你应急响应组的服务范围和类型而定,甚至可以是一个人。 根据资金的来源、服务的对象等多种因素,我们可以将应急响应组分成以下几类:公益性应急响应组、内部应急响应组、商业性的应急响应组、厂商应急响应组。
2.2.1公益性应急响应组
这类响应组由政府和公益性组织资助,对社会所有用户提供公益性的服务。比如,CERT/CC由美国国防部资助。把自己的客户群定义成“互联网共同体(Internet Community)”,中国的CCERT、CNCERT也属于这一类。公益性的应急响应组一般提供如下服务:
1.对计算机系统和网络安全事件的处理提供技术支持和指导,一般通过电子邮件和电话方式; 2.安全漏洞或隐患信息的通告、分析; 3.事件统计分析报告; 4.安全事件处理相关的培训。
使用公益性应急响应组资源的好处有以下几个方面: 1.它是免费的,或者费用很低; 2.由于公益性应急响应组面向的客户群很广,因此它们往往掌握非常丰富的信息,并具有丰富的事件处理经验。 利用公益性应急响应组的资源的缺点也很明显:由于客户群体过多,应急响应组成员可能无法提供现场的、手把手的帮助;象Internet没有服务质量保障一样,免费的服务无法提供服务质量的承诺。事实上,多数公益性的应急响应组资助不足、成员的工作繁重。
2.2.2内部应急响应组
内部应急响应组由一个组织创建和资助,服务对象仅限于本组织内部的客户群。内部的响应组可以提供现场的事件处理,分发安全软件和漏洞补丁、培训和技术支持等,另外还可以参与组织安全政策的制定、审查等。 内部应急响应组提供较好的服务质量保证,但是需要专门的人力物力投入,在外人看来,这些成员大部分时间无所事事。而且,由于成员只关注企业内部的事件,一般事件处理的经验很有限。(为什么不有效利用?闲暇可以干别的)
2.2.3商业的应急响应组
商业性的应急响应组今年来的发展引人关注。他们根据用户的需要,为用户提供技术、程序、调查、法律支持。一个组织可以不必雇佣专门应急响应人员,而是和商业性应急响应组签约购买他们的服务。商业服务的特点在于服务质量保障:在突发的安全事件发生时及时响应,有的应急响应组甚至提供7×24的服务,现场的事件处理等。 购买商业性的应急响应组所提供的服务也有缺点,一方面,他们需要为大量的客户提供服务才能维持特定的用户工作的时间。
2.2.4厂商的应急响应组
许多软件厂商都有自己的应急西那个一组,不如Sun Microsystems,Microsoft,Hewlett Packard,Cisco等。他们一般只为自己的产品提供应急响应服务,同时也为公司内部的雇员提供安全事件处理和技术支持。
3应急响应涉及的关键技术
3.1.1入侵检测
入侵检测与应急响应是紧密相关的,发现对网络和系统的攻击或入侵检测才能触发响应的动作。入侵检测可以由系统自动完成,即入侵检测系统(IDS)。有人给人入侵检测系统增加了自动响应的能力,但是我们认为,由于检测技术并不成熟,在实际环境中使用这些自动响应技术是相当危险的。
3.1.2事件的诊断 事件的诊断与入侵检测由类似之处,又不完全相同。入侵检测通常在正常的运行过程中,检测是否存在未授权的访问、误用(misuse)等违法安全政策的行为;而事件的诊断则偏重于在事件发生后,弄清受害对象究竟发生了什么,比如是否被病毒感染、是否被黑客攻破,如果是的话,问题出在哪里,影响范围有多大。
3.1.3攻击源的隔离与快速恢复 在确定了事件类型、攻击来源以后,及时的隔离攻击源是防止事件影响扩大化的有效措施,比如对于影响严重的计算机病毒或蠕虫。 另外一类事件,比如一旦艰难测出Web服务器被入侵、主页被篡改的事件,我们的响应政策可能首先是尽快恢复服务器的正常运行,把事件的负面影响降到最小。快速恢复可能涉及完整性检测、域名切换等技术。
3.1.4网络追踪 网络攻击的追踪是个挑战性的课题,特别是对于分布式拒绝服务攻击。入侵者可能穿梭很多主机,有些攻击使用了假冒的地址。在现有的TCP/IP网络基础设施之上,网络追踪是非常困难的。
3.1.5计算机取证 计算机取证涉及到对计算机数据的保存、识别、记录以及解释。它更像一种艺术,而不是一门科学,但是和许多其他其他领域一样,计算机取证专家通常采用明确的、严格定义的方法和步骤,然而对于那些不同寻常的事件需要灵活应变的处理,而不是墨守成规。 在计算机网络环境下,计算机取证将变得更加复杂,涉及到海量数据的采集、存储、分析,对目前的信息处理和系统将是一个挑战性的课题。
4应急响应的发展方向
4.1技术的进展
4
4.1.2自动响应 对检测出的入侵或攻击行为进行自动地响应一直吸引着人们浓厚地兴趣,比如用IDS将黑客隔离到一个无害且可观测到地受控环境中去,或者自动阻断一些攻击、能够尝试某些反击等等。总有一些企业宣称自己地入侵检测系统能够使用自动工具反击入侵者。但是实际环境中,这些故事不太可能真的发生。 然而自动工具也不是无立锥之地。例如有些入侵检测工具可以在检测到攻击后自动阻塞从那个IP地址来的所有数据。有人认为,某些形式的自动响应将是应急响应是解决对大量攻击问题的唯一方法。
4.1.3入侵的追踪方法 入侵者可能以各种权限穿梭很多主机,有些使用了地址假冒技术,追踪这种攻击需要多个组织的合作。有人正在研究追踪攻击的新方法,有些甚至可能要改变TCP/IP协议,其可行性是可想而知的。MCI公司开发出在一种工具,它运行在公司内的路由器上自动跟踪包的源地址(忽略伪造的地址),主要是为ISP而设计。该工具的一个早期版本在1996年曾跟踪一起从加州某大学发起的经过加拿大一个教育机构穿梭对加州某公司进行的SYN包Flood攻击。
4.1.4入侵检测及隔离协议(IDIP) DARPA(美国国防部高级研究计划局)资助了一项将IDS和防火墙以及路由器结合起来的研究,目的是开发一种能够配置在因特网上的自动防御系统。系统中的部件依靠实时通信来检测攻击和响应。目前该项目由信任信息系统公司、波音公司和加州大学戴维斯分校合作开发。IDIP是用于网络上部件间通信的通用协议。该协议保留每个路由接口的包的来龙去脉以此跟踪一个通信流直至它的源地址。
4.2社会方面的进展 技术的发展总是一把双刃剑,而社会对技术的负面作用的影响作出的反映过于迟缓。特别是在Internet这个飞速增长和变化的领域。
4.2.1法律 世界上很多地方对付黑客攻击的法律并不存在或者很不完善,比如,菲律宾的一个蠕虫制造者最终无罪释放,原因是无法可依。即便有了法律,往往也执行的很差,这跟相关部门缺乏技术力量有关。 跨越国界的合作调查也是非常困难,法律上对隐私权的保护也会继续影响应急响应和事件的调查。为了加强国际合作,最令人欣喜的成果是2001年欧洲理事会通过的《欧洲理事会计算机关于计算机犯罪公约(草案)》,其成员国不仅限于欧盟,还包括美国、日本、加拿大、墨西哥等观察员。
4.2.2协同响应 不同组织间的协作是应急响应有效的措施,不幸的是短期内不太可能发生。政治因素使得协作进程的规范化变得很困难,资源匮乏也可能阻碍这些工作。不久前在日本东京成立了亚太地区安全应急响应组联盟(APSIRC),将是地区间协同响应的一个进步。.1.5取证工具 计算机取证领域已经从根本上发生了改变,因为大容量存储器已经变得极便宜,对超大容量存储设备进行逐个扇区的手工的完整性检查变得不在可行。虽然,我们很难说人们是否会接受一个全自动工具生成的证据,但是这些工具在未来的案例中无疑是很有挑战性的。可能的结果是出现一系列标准 的工具,以此恢复的证据将和指纹一样可接受。.1.1入侵检测 尽管入侵检测系统早已走出实验室,走向市场,但是目前入侵检测的技术仍不成熟。多数入侵检测系统是基于特征的,它只能检测到已知攻击;尽管异常检测吸引了众多研究者的关注,但是仍然受制于基于特征的工具的许多缺点,并且还远不成熟。另外,基于网络的入侵检测系统正在接受网络带宽飞速增长的挑战。