文/柯善学

安全自动化是安全从业者的梦想。安全主要解决两方面问题:时间问题(速度越来越快)和空间问题(规模越来越大)。安全归根结底是要在时间空间这两个维度上,提高自动化防御的有效性。

安全自动化是一项需要“顶天立地”的技术,因为它立足未来、跨越时空、站位高远,必须“顶天”;而如果只有理念、无法落地,则永远只是一个口号、无法解决现实问题,所以必须“立地”。

本文从安全自动化开始,深入到它的理论和实现框架IACD(集自适应网络防御)和ICD(集成网络防御)的细节,最后引出安全度量的问题。

经过Gartner和业界的宣传,SOAR(安全编排、自动化和响应)作为安全自动化的实现技术,已经广为人知。如果非要说说IACD与SOAR的区别,笔者认为,SOAR更像一个具体技术平台,而IACD更像一种网络空间防御框架和理念。简言之:SOAR是术,IACD是道而且,目前的SOAR主要应用于企业级场景,而IACD则一直瞄准跨企业场景的应用。两者更多的是配合关系。

笔者持续运营的“美军网络安全”“美国网络安全”这两个微信系列,其本质就是企业级跨企业级的区别。如果仔细思考企业级跨企业级之间的区别,就会发现协调联动是关键所在。因为企业级安全通常考虑的是企业内部环境,责任主体明确,环境完全可控,不太需要考虑外部安全协作问题;而跨企业级安全则通常考虑的是国家级别或行业级别的整体环境,环境不大可控,必须考虑不同责任主体之间的相互协作关系。

实际上,IACD横跨了企业级行业级国家级的网络空间防御。事实上,IACD由DHS(美国国土安全部)、NSA(国家安全局)、约翰·霍普金斯大学应用物理实验室(JHU/APL)联合发起。其中,DHS恰恰就是美国联邦安全的主要负责单位,NSA是最重要的技术情报部门,APL是美国最主要的科研机构之一。三强联手,将网络空间防御框架做到极致,也就不是什么难事了。

技术发展日新月异:笔者去年在做这项研究的时候,还觉得这些资料也就是看看而已。而今年再看的时候,就觉得已经水到渠成了,国内的SOAR产品也相继面世。这是笔者感到特别欣慰的地方。

但是,如果说IACD和SOAR的技术已经成熟,恐怕还为时尚早。就像人工智能和自动驾驶的成熟度一样,必将是一个不断发展演进的过程。安全不简单,安全无止境。在安全自动化这条路上,尤其如此。

故以此文,与君共勉。

关键词:OODA(观察-调整-决策-行动,Obeseve-Orient-Decide-Act);SOAR(安全编排、自动化和响应,Security Orchestration, Automation, and Response);IACD(集成自适应网络防御,Integrated Adaptive Cyber Defense);ICD(集成网络防御,Integrated Cyber Defense) ;CTI3(网络威胁信息、指标、情报,Cyber threat Information, Indicators, and Intelligence);IOC(失陷指标);Playbooks(剧本);Spirals(螺旋活动);

本文目录

一、安全自动化

1)现代化安全防护思路

2)安全自动化的效果对比

3)安全自动化的工作流示例

二、IACD(集成自适应网络防御)

1)IACD成功愿景

2)IACD体系框架

3)IACD编排方案

4)IACD落地场景

5)IACD生态构建

三、ICD(集成网络防御)

1)ICD与IACD的关系

2)ICD概念参考模型

3)ICD编排模型

4)ICD活动模型

5)ICD能力模型

四、安全度量

一、安全自动化

01 现代化安全防护思路

安全要解决时空问题,即在时间维度(越来越快)和空间维度(越来越大)上,提高网络防御的有效性。

现代化安全防护思路包含以下3项要点

1)整合已有能力:整合并利用整个防护体系中当前和未来的安全能力;

2)提高自动化水平:提高整个防御体系的自动化程度进而优化人力成本;提高整个安全防护体系对威胁的响应速度,即发现可疑行为,并快速将防护和响应策略分发到相应的防护设备。这包括两种主流方法:

  • SOAR(Security Orchestration, Automation and Response,安全编排、自动化和响应):代表性SOAR平台为Phantom(https://www.phantom.us/);

  • OODA循环(Obeserve-Orient-Decide-Act,观察-调整-决策-行动):代表性OODA框架为IACD(集成自适应网络防御框架)。

3)增强共享功能:通过增强共享功能,来降低攻击者的灵活性。代表性技术是威胁情报,即通过组织之间的情报共享,来减少组织机构发现和检测到威胁的时间(即只要有一个组织机构发现了新的威胁,并共享威胁信息,其它机构就可以预防该威胁),进而达到事前预警、事中检测、事后溯源的多种目的。

关于SOARGartner于2017年提出SOAR(安全编排、自动化及响应)这个术语,用以描述脱胎于事件响应、安全自动化、案例管理和其他安全工具的一系列新兴平台。从Gartner倡导的PPDR(识别-防护-检测-响应)过程来看,很多企业已经在防护阻断这一层面做了大量工作,无论是部署防火墙、防病毒、IPS等基于策略和规则的安全设备,还是基于行为和大数据分析的安全软件,然而却在安全威胁处理和响应上的能力上非常欠缺。所以,SOAR的目的是快速检测威胁、减少安全人工分析投入、做到快速响应,以提高安全运行效率。简言之,在PPDR中,检测(D)和响应(R)是SOAR的核心,目标直指SOC平台最被诟病的问题。

02 安全自动化的效果对比

话不多说,以威胁情报的使用为例,看看传统威胁情报流程和现代化威胁情报流程的对比:

图1-传统威胁情报流程

图2-现代化威胁情报流程

对比传统和现代化两种威胁情报流程,可以发现:现代化流程比传统流程增加了一个步骤——自动化。而且还做了其它流程调整。

在传统威胁情报流程中:

  • 因人工过滤IOC,而遗留不适用的IOC,为SOC造成多余的工作;

  • 因人工过滤IOC,而误删除适用的IOC,导致漏洞未被发现;

  • 人工的数据富化和消化,高度依赖SOC分析师的能力和勤奋;

  • 人工的数据富化和消化,非常耗时;

  • 关于IOC质量,不存在反馈回路。

在现代化威胁情报流程中:

  • 必须规范化IOC,以确保数据的一致性;

  • 必须仅包括适用的IOC;

  • 必须用流行性、适用性、置信度、可能影响和推荐COA,来富化IOC

  • 自动执行所有高置信度、低流行性IOC的COA;

  • SOC分析师将对所有其他IOC作出回应;

  • 基于SOC分析师行为,对情报源进行同意/否决投票

  • 情报分析师根据反馈,重新评估馈源的置信度

03 安全自动化的工作流示例

下图给出了以编排服务为中心的IACD响应工作流的示例:

图3-IACD响应工作流-示例

按照序号1~8的步骤,就非常容易理解IACD带来的自动化效果。当然,安全自动化并不意味着不需要人的参与。比如,在COA(行动方案)的选择方面,就可以通过工单方式,增加人工审核过程,确保准确性。

笔者认为,这张图非常清晰地展现了安全自动化的工作机制和自动化效果。大部分人看过之后,会比较容易接受安全自动化的理念。

二、IACD(集成自适应网络防御)

01 IACD成功愿景

IACD由美国国土安全部(DHS)、国家安全局(NSA)、约翰·霍普金斯大学应用物理实验室(JHU/APL)于2014年联合发起。IACD定义了一个框架,包括参考架构、互操作规范草案、用例和实施案例。

IACD基于OODA(Observe-Orient-Decide-Act,观察-调整-决策-行动)循环:IACD试图将物理世界中传统的控制和决策方法,转换用于网络空间。IACD概念将OODA循环活动转换为感觉-理解-决策-行动,并设想通过一个公共消息系统在这些活动之间共享信息。

IACD理念认为,如果能够在速度(时间)规模(空间)两个维度上实施OODA循环,则可以将网络防御时间从几个月缩短到几分钟到几毫秒。所以,IACD的目标是:通过自动化来提高网络安全防护的速度规模;通过集成自动化信息共享,来显著改变网络安全防御的及时性和有效性。

下图表明,IACD的目的是要构建一个网络空间防御的生态系统

图4-IACD的成功愿景

该图的左半边,反映了IACD所依托的基础,包括可信网络服务、可信信息共享机制、企业内部集成和自动化。而企业内部集成和自动化相当于企业级的自动化。而该图的右半边,恰恰反映了IACD的核心目的,即跨越联邦政府、军事部门、私营机构,构筑网络空间防御生态系统,而这当然就是跨企业级国家级的防御体系。

而下图则将IACD的跨企业防御能力,表现得淋漓尽致:

图5-IACD的跨企业能力

02 IACD体系框架

IACD框架由传感器组成,传感器引入共享和可信信息,以触发编排服务,来响应网络事件。IACD框架包括以下8个组件:

图6-IACD框架

上图是有内在顺序的,整体上是按照顺时针方向进行,即从传感器(S接口)->传感器接口->理解分析框架(SMAF)->决策引擎(DME)->响应行动控制器(RAC)->执行器接口(A接口)->执行器。

还需提醒的是,所谓的编排服务(OS)是图中右边虚线框中的所有五个组件的集合,而不仅仅是其中的编排管理(OM)。

下图则把OODA这个闭环表现得更加明显了,它的整体方向也是顺时针的:

图7-IACD功能视图

上图还非常明显得表现了OODA循环与IACD内部和外部的共享接口。该共享接口把企业内部和企业外部的边界划分得非常清楚,而且还区分了IACD内部(即IACD社区内部)和外部(即IACD社区外部)。正是由于IACD可以应用于企业内/外部和IACD社区内/外部,笔者才说IACD适用于企业级、行业级、国家级的多种环境。

进一步注意到,通过共享接口,不仅可以共享指标分析结果,还可以共享COA(行动方案)和建议行动。这说明,IACD不仅仅是个威胁情报的共享工具,而且可以协调响应和行动,意味着可以在超越企业边界的更大网络空间中统一指挥、控制或协作。这才是笔者认为它对于国家级网络空间防御的价值所在。

上面的IACD框架图和功能视图过于抽象,不大直观。下面给出的IACD消息视图,则将一个IACD的主要系统组件消息传递过程,展示得非常清楚了。

图8-IACD消息视图

此图中,安全编排是集中式的。建议读者按照图中序号1~10,一步一步地体会整个消息传递过程,可对IACD有更好的理解。

03 IACD编排方案

下图给出了一个针对IOC(失陷指标)处理工作流的IACD编排方案,给出了一个IACD系统的构成示例。

图9-IACD编排方案:IOC处理工作流

在右侧不同颜色的方框中,列出了可以选用的商业产品。只要凑齐相关产品组件,就可以搭建一套IACD系统了。可以看到,在编排工具中,有Splunk收购的Phantom平台。所以,从某种程度上看,采用SOAR设计的Phantom平台,也只是IACD体系的一个具体工具而已。

理解这张图的关键是时序,需要从左往右看,中间的深蓝色通道就是前面图8中的消息总线编排控制服务

下面的编排试点图,将时序关系表现得更加明显了。图中最上层的步骤,即解析->富化->评分->COA选择->COA自动执行,就是按照时间顺序进行的步骤。

图10-IACD编排试点:IOC处理流程

对IACD有深入研究的人会发现,IACD给出的各种试点图,基本都采取了上图这种深色调的时序模式。

04 IACD落地场景

IACD通过螺旋活动(Spirals) 来解决试点和落地问题。螺旋活动是针对不同应用场景而设计的可共享的部署类型和示例。

IACD的螺旋活动被不断被创造出来,目前已有的螺旋活动如下:

  • 螺旋0:企业内部编排和自动化;

  • 螺旋1:指标共享和跨信任社区的自动响应;

  • 螺旋2:基于风险和任务的COA选择

  • 螺旋3:跨社区的COA/上下文共享和自动响应

  • 螺旋4:消息结构互操作性

  • 螺旋5:响应行动互操作性,自动猎捕操作支持;

  • 螺旋6:安全编排、扩展的响应行动互操作性;

  • 螺旋7:多编排集成, IT/OT集成,工作流完整性;

  • 螺旋8:破坏性恶意软件后的自动恢复

  • 螺旋9:信息共享中的自身免疫

  • 螺旋10:可逆性;

上面的所有螺旋活动,都分别代表了一种典型场景。而且基本上是按照序号逐渐增加了难度和复杂度。

下面给出螺旋0的示例:

图11-IACD螺旋0:企业内部编排和自动化

螺旋0的目标:

  • 在企业级,IACD的核心目标就是自动富化->COA选择->自动响应

  • 提高评估速度,有效利用有限的分析师资源;

  • 螺旋0使用APL运行网络来应用集成和自动化,并为比较提供现实基础。

螺旋0的工具和能力:

  • 使用的编排器:TIBCO Streambase、Invotas、Python Scripting;

  • 集成的工具/能力:Bit9、 Splunk、 Carbon Black 、SNORT 、 FireEye、Juniper Firewall、CISCO Firewall;

  • 访问的信息&信誉度来源:Virustotal、 URL Void、 Herd Protect、IP Void;

  • 触发事件:主机中发现未知可疑文件;

螺旋0的自动化防御行动

  • 自动富化:信誉服务、历史事件、文件爆炸;

  • 在主机上阻断:使用Hash阻断文件;

  • 在边界阻断:使用IP或URL阻断连接;

螺旋0是IACD的第一步螺旋活动,仅限于单个企业场景。而从螺旋1(指标共享和跨信任社区的自动响应)开始,就更多地考虑了跨企业场景。这些螺旋活动,充分表明了IACD的核心目标,是要适用于跨企业、跨行业、国家级的网络空间防御体系。

由于金融行业对安全的要求更高,IACD在金融行业开展了跨企业的集成试点。如下图所示:

图12-IACD金融行业集成试点

图中可见,通过一个行业性的情报共享中心,即FS ISAC(金融业信息共享与分析中心),通过自动化和编排过程,将经富化的威胁指标和情报,以STIX/TAXII的格式,发布到威胁情报门户;然后,再向各个银行发布威胁指标和情报;各个银行采取自己的自动化和编排过程,实施各自的响应工作流。也就是说,每个银行的自动化和编排过程可以是完全不同的,需要结合各自的安全资源现状,制定各自的响应工作流。这种与企业相关的定制化特点被称为BYOE(自带企业),简言之:你的企业由你做主。与BYOD(自带设备)的理念相似。

05 IACD生态构建

由美国国土安全部(DHS)、国家安全局(NSA)和约翰·霍普金斯大学应用物理实验室(JHU/APL)联合发起的IACD,十分看重生态构建。目前IACD已集成了众多主流的安全厂商、机构、系统、产品和规范。

图13-IACD的产品集成生态

三、ICD(集成网络防御)

01 ICD与IACD的关系

前面介绍了IACD。IACD可以概括为一组编排服务,这些服务需要:

  • 跨多源集成:跨多个不同的信息源进行集成

  • 自动化决策:自动化风险识别和行动决策;

  • 同步行动同步那些机器的行动,以符合组织的业务规则和操作优先级;

  • 自动化信息交换:通过安全地自动化网络安全信息交换,通知给信任社区,以便其他具有IACD能力的合作伙伴可以快速处理这些信息。

而ICD(集成网络防御)则进一步扩展了IACD(集成自适应网络防御)概念,通过明确将CTI3共享生态系统网络防御生态系统集成,确保共享的信息是可消费的、可用的、可行动的。CTI3共享生态系统具体包括:DHS AIS计划、来自ISAC(信息共享与分析中心)和ISAO(信息共享和分析组织)的CTI3馈源、以及其他数据馈源。

02 ICD概念参考模型

ICD概念参考模型介绍了使各组织能够共享和自动响应到CTI3(网络威胁信息、指标、情报,Cyber threat Information, Indicators, and Intelligence)所需的概念、生态系统考虑和多方之间关系。这个概念参考模型还提供了对集成环境中SOAR(安全编排自动化和响应)的范围、优势和局限性的共享理解。

ICD概念参考模型由三个模型共同组成,每个模型都包含了ICD社区使用的共同指导原则、技术立场和模式:

  • 编排模型(Orchestration Model):展示了用于满足组织响应CTI3的活动的功能(functions)。

  • 活动模型(Activities Model):展示了与CTI3编排和在联邦管理员(Federation Manager)和联邦成员(Federation Members)之间共享活动有关的ICD能力。

  • 能力模型(Capabilities Model):展示了能力及其关系的详细信息,并显示了CTI3如何在联邦管理员(Federation Manager)和联邦成员(Federation Members)之间流动。

联邦(Federation):是一个由个人或组织组成的群组,其出发点在于相信与合作伙伴进行CTI3的共享和合作,将有利于社区识别和响应攻击的能力。

ICD概念参考模型使用联邦模式,来使用两种类型的实体,并描述这种关系。

  • 联邦成员(Federation Member ):是消费来自联邦管理员的CTI3的任何实体。

  • 联邦管理员( Federation Manager ):是指任何这样的实体,从至少两个或更多的联邦成员处接收CTI3,然后将收集到的CTI3合并并分发给订阅的联邦成员。联邦管理员可以由公共部门(如DHS(国土安全部))或私营部门(如ISAC(信息共享和分析中心)和ISAO(信息共享和分析组))的任何组织设立。

03 ICD编排模型(Orchestration Model)

编排模型由以下四个组件组成:

  • 功能(Functions):是选择的一些行动,这些行动由组织可能选择在其环境中部署的各种网络安全工具和产品所执行

  • 能力(Capabilities):由网络安全工具或产品提供的能力,该工具或产品可以被编排。

  • 编排(Orchestrate):表示SOAR(安全编排、自动化和响应)产品,该产品负责以可重复、可审计、可扩展的方式执行能力,满足治理整个流程的组织策略。

  • 活动(Activities):组织承诺满足政策和治理要求的高层级过程

注意,由于ICD领域的不断变化的性质,每个组件所包含的项目并非全面完整,因此每个组织都应根据各自的需要进行调整。

图14-ICD编排模型

一个组织不需要编排其环境中的所有能力;相反,根据组织的舒适程度和/或当前的运营情况,可以将能力连接和断开到SOAR产品。了解一个组织希望完成哪些能力,以及在该组织内有哪些功能(functions)和能力(capabilities),可以帮助完成这些活动,可以更好地了解编排如何为组织带来好处。此外,了解完成所需活动所需的功能和能力,可以更明智地购买安全工具和产品。

04 ICD活动模型(Activities Model)

活动模型展示了联邦成员和联邦管理员为促进编排以及各方之间共享CTI3而可以开展的能力和活动。一个组织并不需要执行每项能力(capability)和活动(activity),来实现某种程度的安全自动化和编排。

图15-ICD活动模型

05 ICD能力模型(Capabilities Model)

能力模型展示了CTI3在联邦管理员和联邦成员内部和之间的潜在能力(由组织可以部署到其环境中的各种网络安全工具和产品提供)范围内的流动。它还包含如何进一步分解每个能力的想法。所述能力并非详尽无遗。

为了提高该模型的可用性,联邦成员可以从以下一个或多个来源接收CTI3:

  • 在他们企业中部署的各种内部传感器(模型右下角)。

  • 直接与其他联盟成员建立点对点关系,以接收和/或共享CTI3。

  • 提供具有共同利益或潜在关系(例如,同一部门、地理区域)的CTI3订阅的联邦管理员

图16-ICD能力模型

该图的上半部分反映了联邦管理员的能力,下半部分反映了联邦成员的能力。而两者之间的交互联系,反映了联邦管理员联邦成员之间关于CTI3的共享和合作方式。而这正是跨企业级网络防御的关键所在。

笔者对上图中的下半部分(联邦成员)能力进行了汉化,如下图所示:

图17-ICD联邦成员的能力模型和CTI3信息流

通过仔细分析该图,就容易理解ICD模型的精妙之处。

组织可以使用该模型来识别其高优先级的活动、能力、功能,有助于识别潜在的工具和产品,以满足其需求。然后,组织可以验证预期产品是否能够提供所需的能力。随着工具的部署和测试,组织可以确认其目标能力是否被满足,CTI3是否如预期般流过其系统。同样,可能会发现差距,需要修改或额外采购网络安全工具和产品。

四、安全度量

安全度量是个悠久的话题,但似乎一直进展不大。但其重要性毋庸置疑:

  1. 缺少对安全绩效的度量,安全工作在向业务领导(CIO)汇报时,就难以体现安全价值;

  2. 缺少对安全配置、漏洞评分、威胁指标、事件表达、攻击模式的度量,不同厂商的安全产品之间就会存在对接困难,安全的集成工作就无法有效开展。

本节探讨的正是第2种安全度量。所谓安全度量,就是使用标准化的知识表示、枚举、交换格式、语言,以及共享标准的方法,以实现关键的合规性和一致性要求。

切记,IACD的首字母“I是集成(Integrated)之意。这说明,安全自动化是以集成为核心的。前面一再强调的编排服务也是以集成为基础的

甲方希望在安全产品选择方面获得足够的自由度,乙方希望实现更高的安全自动化程度,这两种需求本质上都是集成需求

无标准,难集成。只有通过标准化和分离组织的操作、开发、维持工具和过程之间的交互,组织(不论是甲方还是乙方)才能在选择技术、解决方案、供应商方面获得极大的自由。

所以,标准化是安全度量的核心:为了使发现和报告的问题,跨不同工具时保持一致性可组合性,必须对这些不同工具正在检查、报告、管理的事物有一套标准定义。

为了真正做好安全度量,需要将安全度量架构化:即将安全度量视为架构问题以架构驱动安全度量,并使用系统工程方法来对其进行功能分解,识别需要完成的基本功能和活动,然后获得适当的技术来支持这些功能和活动。

安全度量的架构模块包括:

  1. 枚举(Enumerations):需要共享的通用概念的标准化枚举。比如,CVE(通用漏洞披露)、CWE(通用弱点枚举)、CAPEC(通用攻击模式枚举和分类)就是非常知名的枚举。

  2. 语言(Languages):用于编码关于如何找到通用概念的高保真信息,还用于交流该信息以实现人到人、人到工具、工具到工具、工具到人。比如,STIX(结构化威胁信息表达)、TAXII(指标信息可信自动交换)就是IACD中广泛使用的语言/格式。

  3. 知识库(Repositories):通过内容知识库,以语言方式共享信息,供广大社区或个人组织使用,以最大限度地减少在工具、人员或两者之间交换内容时的意义损失。比如,ATT&CK(对手战术、技术与知识库)和CIS(互联网安全中心)安全配置基线就是知识库的典型代表。

  4. 采用的一致性(Uniformity of Adoption) :通过品牌/审查程序实现采用的一致性,这些程序可以帮助工具、交互和内容保持与公认标准的一致性。比如,CVE兼容性程序、 OVAL兼容性程序、 CWE兼容性程序、 SCAP(安全自动化验证计划)都是用于此目的。

上述安全度量的架构模块,可以进行组合使用。比如应用于配置合规评估、漏洞评估、系统评估、威胁评估等安全领域。笔者相信,给出下面这张安全度量架构图,读者就能理解安全度量的宏大性、困难性、重要性了。

图18-安全度量架构

下面给出了安全度量在不同安全领域的参考,仅供参考:

图19-安全度量标准化参考

图中的每种类型都值得了解一下。比如其中事件协调类别的TAXII(指标信息可信自动交换)STIX(结构化威胁信息表达)就已经成为事实上的标准,在美国得到了广泛应用。通常的做法是:用TAXII来传输数据,用STIX来作情报描述。而OpenC2则与STIX/TAXII标准协作,共同形成一整套针对网络安全领域机器到机器通信自动化解决方案

尽管国内目前各种SOAR平台,已经具备了一定的自动化编排能力。但笔者认为,在安全度量和标准化的路上,还要走很远。

推荐阅读(微信链接)

  1. IACD 集成的自适应网络防御框架,小强;

  2. 深入研究SOAR的核心能力——安全编排与自动化,叶蓬;

  3. 15款流行SOAR产品综述,王文宇;

  4. 是什么阻碍了SOAR产品与外部能力的交互,雾帜智能;

声明:本文来自网络安全观,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。