【大家谈】安全事件响应: 自动化引领未来 | 网络安全
网络安全技术的不断发展为网络安全管理人员提供了大量的工具和数据,可是每个组织内部应急响应队伍中的人员数量仍然有限。欧洲网络与信息安全局(ENISA)在对45个国家、企业的应急响应组(CERT)进行调查后指出,通过人力处理安全事件是没有扩展性的。
一方面,每个组织每天新产生的事件数都远远超过了现有人员的处理能力,同时,如果让安全管理人员每天超负荷地处理事件,会让管理人员产生懈怠的情绪并可能会忽视真正需要处理的事件。因此通过自动化工具自动或半自动地对安全事件进行响应和处理是进行安全响应的必要手段。
自动响应技术的发展
目前一般的CERT或SRC都集成自动化的信息富化(enrichment)工具。信息富化已成为目前安全响应中必备的一步。目前的富化一般为通过自建或第三方的地址、域名信息库,获取安全事件中的IP地址、域名的归属信息,作为进一步响应的判断依据。
根据CERT组织性质的不同,现有安全事件自动响应方法可以分为两类:自动通知/分发和自动拦截。如果是运营商或国家的CERT,在对安全事件数据进行富化之后,一般需要将事件分析进一步通知或分发给安全事件发生的单位,如由芬兰、比利时等国的国家CERT(CERT.FI,CERT.BE, CERT.EE)开发的工具AbuseHelper,如图1所示。
该工具基于IRC协议的框架和python语言搭建了一个可扩展的事件分发框架。不同来源的安全事件被输入IRC的频道(channel),每个频道由对应的程序(bot)完成不同的任务,如IP/域名归属信息获取,输出到数据库,发送邮件等。
对于一个园区网或组织内部的CERT而言,安全事件的自动响应主要手段为对黑名单数据的自动拦截。中国科学技术大学和东北大学等开发的基于BGP 的黑名单自动分发系统,对在边界网关、流控、蜜罐等设备上发现的扫描、垃圾邮件、恶意网站数据在边界路由或防火墙上进行自动部署。为防止误报引发的伤害,一般进行自动拦截的安全事件需要是置信度很高的事件。
目前主要的安全事件类型对应于扫描和垃圾邮件,以及高质量的第三方安全情报提供的黑名单数据。
这两类自动响应技术帮助安全管理人员减轻了大量的系统配置和人力工作,但目前对于置信度没有达到自动判断,或需要进行跟踪调查的安全事件,仍缺乏有效的自动化工具。
在对应的网络安全应急响应PDCERF模型中,目前的自动化技术集中于安全事情的检测(D)和抑制(C)部分,而在根除(E)、恢复(R)和跟踪(F)方面,缺乏自动化技术。
尽管我们已经拥有了丰富的安全软件和工具,但两个原因让我们难以协同不同的工具实现自动化的响应:
一是传统的网络架构下,数据平面和路由平面分离,网络流量难以进行细粒度的策略控制,安全工具通常只能对监测点的流量数据实现统一的处理,不能根据需求,对不同的地址网段施加不同的安全监测功能;
二是每种安全工具都有自己的数据字段和语义,目前安全工具之间的语义协同仍是一个难点。目前在语义协同方面,已有不同组织开发的IODEF、openIOC,STIX等多种标准试图弥合不同设备和工具间的语义交互,本文暂不讨论其细节,后文将集中讨论SDN技术如何解决网络流量的细粒度策略控制问题。
SDN应用于应急响应
SDN作为一种新兴的网络技术,这几年在网络路由交换领域,特别是在数据中心网络和数据中心WAN网中得到了有效的应用,谷歌公司的B4方案成功地最大化谷歌全球数据中心的互联信道的使用率。
在网络安全方面,SDN技术也被设计应用实现分流和DDoS防御等安全功能。SDN技术的优点不仅仅在于可以实现具体某一类的安全功能,而且在于其北向的应用编程接口为自动化的程序控制流量提供了统一的接口,同时 SDN作为通用技术,可以通过流表和应用层逻辑实现细粒度的策略控制,即使是同一个目标地址的流量,可以根据安全的需求,实施不同的流量控制策略。
如针对一个Web服务器,对于其Web服务端口的流量,可以转发至WAF等安全防御软件进行过滤,对于非Web服务端口的攻击流量,可以转发至蜜罐服务器进行攻击行为的捕获,同时还可以镜像感兴趣的流量至流量日志服务器进行记录。但如果由人力进行这些不同安全策略的配置,则可能会带来差错和配置效率的问题,美国德州农工大学的顾国飞教授将其称为“威胁响应策略转换的挑战”(Threat Response Transition Challenge)。
如果可以将复杂的响应措施通过SDN统一的流表操作接口实现可编程的自动化工作,则可以进一步将自动响应技术引入到应急响应的根除、恢复、跟踪等阶段,并为检测和抑制阶段提供更细粒度的操作支持。在这方面有代表性的工作包括顾国飞教授的FRESCO和宾州大学John Sonchack设计的 OFX。
FRESCO是一种基于SDN的模块化安全服务编程接口,在改进的NOX北向接口基础上,通过对安全服务进行抽象,设计并实现了16种服务模块,以及基本的编程语言,让用户可以在该编程接口基础上实现扫描检测、Botnet 检测、DDoS防御等多种安全检测功能,并通过程序将不同的功能组合起来,如图2所示。
OFX则提出了安全服务中间件(middlebox)的想法,将安全功能实现在SDN交换设备上,利用交换设备的CPU就近实现安全功能,解决报文在北向应用进行处理带来的效率问题。
东南大学的团队也借鉴了以上几篇文献的思想,设计了Hydra系统,但并没有采用直接在应用层或设备上实现安全功能的方法,而采用了将安全应用功能解构成北向控制的应用层和数据平面的安全服务层,来解决SDN安全响应框架下面临的性能问题。
综上所述,基础设施信息,安全威胁情报,以及SDN等新技术为应急响应的自动化提供了支撑,但为了完整支持安全事件应急响应PDCERF全过程的自动或半自动响应,需要有全面的自动响应套件支持,包括:
1.安全事件报告的自动生成。将监测系统或第三方的安全威胁情报获得的事件,处理成符合应急响应格式要求的文档,包括进行信息的富化,生成事件的摘要,代替人工的整理工作。
2.安全事件的自动响应跟踪。在SDN技术的支持下,提供智能化的程序逻辑接口,用户可以根据历史经验设计响应逻辑,对安全事件自动调用不同的安全功能进行响应,并可以跟踪响应过程中的反馈,对响应过程进行调整。
3.应急响应人员的自动通知。能够以邮件、短信、微信等不同方式以尽可能快速和可达的方式将事故发生的情况通知给相关的应急响应人员。
4.安全响应知识的自动整理。在安全事故处理完毕后,可以集成和关联在响应过程中产生的结构化(警报、日志数据,响应记录等)和非结构化数据(如沟通邮件等),为安全人员总结和优化未来响应策略提供支持。
目前无法希望能出现完全的自动响应系统,可预期的方案是系统在进行应急响应时可以根据预配置的策略,灵活地在人工和自动响应之间进行切换,并为需要人工参与的过程提供足够的工具支持。
作者:杨望
作者单位:东南大学计算机学院